Storing what amounts to being a pointer and a length is kinda weird considering
we only ever operate on the string data it means.
nsDependentCString is a teensy bit larger (stores the string as a pointer
(size_t width) instead of as a uint32_t index, stores data flags in a
uint16_t, and some class flags in another uint16_t. So, altogether, we're
going from 4-byte Category instances to (on systems with 64-bit pointers)
10-byte Category instances.) but it:
* Gives us better methods (makes it harder for me to get my pointer
arithmetic wrong)
* Is more flexible, which we'll need when we start using strings
that aren't in the global category string table
Differential Revision: https://phabricator.services.mozilla.com/D143045
Previously we used the 27th bit to signal if a metric instance was actually a
labeled_* metric's "submetric". This bit is actually part of the metric type
part of the lower (upper?) 32 bits of the metric_entry_t, but that was okay
because builtin metrics all have their top 5 bits scrubbed.
itsFreeRealEstate.jpg
This can no longer work, though, since JOG will need to be able to have its
own submetrics that don't conflict _and_ will need to keep the type bits
around so we know what instances to build.
(( Yes, yes, I could've designed the system so that we didn't need to,
but this was the less complicated way. We can go down this route when we
provision the 34 Millionth metric and run out of space. ))
So that means taking two bits away from the id portion: one for runtime (we'll
give it 2^26) and one for submetric (2^25).
Differential Revision: https://phabricator.services.mozilla.com/D143044
Ideally, the code would handle things in a more general way that doesn't
require manually dealing with these lists, but this would require more
testing than there is time left before 102 releases.
While here, remove HOST_CPU_ARCH, which is always the same and thus
never appears in a condition.
This changes none of the generated moz.builds for the current
configuration (but changes the outcome when adding new configurations)
Differential Revision: https://phabricator.services.mozilla.com/D149850
Experimenter now performs the following additional validations:
- FML `int` field types are mapped to `integer` and not `number`; and
- `additionalProperties` is now false;
We now perform the same validation.
Differential Revision: https://phabricator.services.mozilla.com/D149146
The actual bug here was fixed by another commit from another bug. This patch is
just adding a WPT test to ensure we've got test coverage.
(In builds before the fix landed, e.g. Firefox Nightly 2021-01-01, this test
renders with the table placed too high up. This leaves some red visible and
covers up some of the descriptive text, which properly results in a
test-failure.)
Differential Revision: https://phabricator.services.mozilla.com/D149909
This adds the macos native fullscreen attribute to picture-in-picture windows so that when the pref is enabled, we view native fullscreen.
Depends on D149902
Differential Revision: https://phabricator.services.mozilla.com/D149903
Spec: https://fetch.spec.whatwg.org/#ref-for-cross-origin-resource-policy-internal-check
This purpose of this patch is just to implement the spec.
One noticeable thing I did in the patch is I made `CacheResponse` to
include the `credentials mode` of the initial request. Consider the
below scenario:
1. Create a fetch request with a URL and a specific credential_mode, and put it into cache
2. Call cache.match by using a URL, but without credential_mode
3. cache.match() result should be filtered according to the initial request's credential_mode
When applying the `response’s request-includes-credentials is true`
check, the initial request's `credential_mode` is needed because
`request-includes-credentials` is judged by the `credential_mode`.
The rest of the changes are just normal spec alignments.
Differential Revision: https://phabricator.services.mozilla.com/D147803
Spec: https://html.spec.whatwg.org/multipage/#coep:coep-credentialless
Credentialless is a new cross-origin embedder policy which allows us
to not enforcing CORP when loading cross-origin resources while
providing SharedArrayBuffer.
There are two main things involved here:
1. Fetching cross-origin no-CORS resources omits credentials
- This is done by applying `LOAD_ANONYMOUS` flag to the request
2. Other requests sent with credentials require the server's explicit
permission through the CORS protocol or the CORS header
- This is done by expanding `ProcessCrossOriginResourcePolicyHeader`
function to apply the necessary checks.
Differential Revision: https://phabricator.services.mozilla.com/D147802
Otherwise (sometimes?) Mutter sends us an "Esc" key event on button
release (why tho?) which causes Gtk to hide the widget.
This is ironically trivial to fix after the drag service fix.
Differential Revision: https://phabricator.services.mozilla.com/D149871
Also tidy up the code a bit: don't push an exit frame if there was no failure,
because we'll immediately clobber it with the Baseline frames anyway.
Differential Revision: https://phabricator.services.mozilla.com/D149776
Expectation update had dropped the `and not ccov` rules. Add them as `and ccov`
rules to prevent modification/removal by wpt sync bot.
Differential Revision: https://phabricator.services.mozilla.com/D149860
Some VA-API drivers are so broken that trying to use them
crashes Firefox. This is nothing entirely new for GPU drivers
and which is why we have `glxtest`.
Thus move the test from `VAAPIUtils` there. This has the
additional benefit of only doing the test once.
Given the importance of GL-accelerated rendering these days,
we don't want failing VA-API drivers to disable hardware
Webrender and WebGL. Thus fork the VA-API test into its
own process.
Differential Revision: https://phabricator.services.mozilla.com/D148981