This means CamelCasing (or any other casing) for structure fields is now possible
without Glean transforming those names in any way.
Note that the generated Rust code will have the same CamelCase naming,
which might be unusual.
JavaScript will also need to pass in the object fields exactly as
written in the corresponding metrics.yaml definition.
Differential Revision: https://phabricator.services.mozilla.com/D212416
https://w3c.github.io/webdriver/#dfn-get-current-url says:
> For each cookie in all associated cookies of session's
> current browsing context's active document ...
However, the cookie implementations in driver.sys.mjs called _getCurrentURL
which returned the URL of the _top level browsing context_ as specified
in https://w3c.github.io/webdriver/#dfn-get-current-url
As a consequence, the cookie tests that set and deleted cookies
inside an iframe used the top level path for deleting cookies instead of
the path of the iframe, so they failed to find any cookies applicable
to that path.
For example running cookies/encoding/charset.html would set cookies
by calling `fetch('/cookies/resources/cookie.py?...')` then it would
try to delete cookies by calling getAndExpireCookiesForDefaultPathTest
which opened an iframe to /cookies/resources/echo-cookie.html
This iframe would call `setTestContextUsingRootWindow()` then call
`await test_driver.delete_all_cookies();` - but this call attempted to
delete cookies for the top level browing context's path - /cookies/encoding/
Differential Revision: https://phabricator.services.mozilla.com/D211434
So that removing stuff under an anonymous box (such like emptying a table that
has an anonymous table cell) doesn't have to re-create the table itself, which
could trigger pathological behavior if that needs to remove more stuff (due to
it being inside an ib-split for example).
To do that, unify how we deal with anonymous wrapper boxes a little bit, which
avoids the need to special-case the grid/flex anonymous items too, and
optimizes them in the same way. E.g., emptying a div like:
<div style="display: flex">Some random text</div>
Will no longer reframe the <div>, just remove the text and the anonymous
wrapper.
We need to remove the eTypeBlock check added in bug 500467 since now removing a
table-related pseudo might in fact need white-space to be suppressed or
un-suppressed. This is tested by some of the table-anonymous-boxes reftests.
Differential Revision: https://phabricator.services.mozilla.com/D212292
The original intention of adding NS_DISPATCH_AT_END always when on the
same pool was to reduce the risk of spinning up unneeded threads.
Bug 1891664 introduced two changes that make this now unwanted:
- we always wait for the dispatching thread to pick up the event
- we give threads a grace timeout before shutting them down
So before bug 1891664 landed, this flag would just have influenced
if we create a new thread, but if there was an idle thread, the event
would just process immediately and in parallel without any latency.
Now the event will wait for the dispatching thread to become idle if
NS_DISPATCH_AT_END is set, which might increase the latency if we are
not at the end of the dispatching event as we are instead in the case of
TaskQueue dispatches.
What's more, the grace timeout reduces the risk of noise from frequent
thread creation and destruction, such that creating a new thread when
there is load we can immediately serve is actually best for latency.
Differential Revision: https://phabricator.services.mozilla.com/D212399
The new names better match what the functions are about. There used to be a 1-1 relation betwee transforms and antialiasing, but that's not true anymore with SVG rects.
Differential Revision: https://phabricator.services.mozilla.com/D212277
The feature could be used by other shaders, for example gradient masks currently fall back to blob images but we should use shaders for them instead.
Differential Revision: https://phabricator.services.mozilla.com/D212276
I think that it's more informative to explain what the clip represents than its coordinate space in the name of the flag. The documentation for the flag is extended to explain the coordinate space and its relation with the render task rect.
Differential Revision: https://phabricator.services.mozilla.com/D212272
This has the potential to regress other things, and if that happens,
we'll balance the pros and cons. But first, let's attempt this.
Differential Revision: https://phabricator.services.mozilla.com/D212516