Basically, we have to schedule the performing pending operations after
activating the view transitions, and stop to do that once we don't have
active animations.
There is one known issue: we always timeout even if we activate the view
transitions successfully, so I clear the timeout once we start the animations.
Otherwise, we may always interrupt the long animations whose
durations are longer than `dom.viewTransitions.timeout-ms`. However, I
guess we may still need a timeout for it. We probably need to figure out
what to do in the future.
Note that `/css/css-view-transitions/paused-animation-at-end.html.ini`
is failed because we don't have any animations. This is probably blocked by
the dynamic UA stylesheet (Bug 1914324).
Also, update some other tests to avoid getting javascript errors:
`JavaScript error: , line 0: uncaught exception: Object`.
Differential Revision: https://phabricator.services.mozilla.com/D236215
This ensures that the instantiation of the service always returns the
same singleton. I also changed calls to nsEffectiveTLDService::GetInstance
to use mozilla::components::EffectiveTLD::Service() instead.
Differential Revision: https://phabricator.services.mozilla.com/D235288
SelectNodeContents() is constant time, while SelectNode() relies on
knowing the index of the node in its parent, which is quadratic with
many contenteditable siblings, see bug 1943746.
Differential Revision: https://phabricator.services.mozilla.com/D235552
Move the relevant bits to html.css or other UA sheets, and use faster
things than attribute selectors (read: classes) for resizers and such
things.
The hidden class can just be a hidden attribute since we don't otherwise
style these.
The cursor can just be set at the resizer / grabber creation time.
One known behavior change other than this is not styling using the
_moz_abspos attribute. The reasoning for this is that these are content
nodes, and in general having these kinds of rules for content nodes
isn't great. E.g. these two pages behave differently:
* data:text/html,<div _moz_abspos=black>boo</div>
* data:text/html,<div _moz_abspos=black>boo</div><div contenteditable></div>
We could use the style attribute for this, I suppose, just like we set
the position or what not, but then we need to save / restore as needed
or something. I'd rather not change the stacking order or backgrounds or
what not, too.
If you feel very strongly about that piece of functionality of the
abspos editor I could try to restore it somehow. But I honestly rather
not.
The rest of the stuff should just work.
Differential Revision: https://phabricator.services.mozilla.com/D235319
Extend the hasPolicyWithRequireTrustedTypesForDirective boolean on
nsIContentSecurityPolicy to an enum in order to indicate whether there
is actually a require-trusted-types-for directive with "enforce"
disposition. Because there is currently only one sink group, we can
use this enum in GetTrustedTypesCompliantString() to determine whether
violations must be blocked, and perform violation reporting in an
independent function.
This will allow to make GetTrustedTypesCompliantString() work with
workers, by testing the enum on the worker thread and reporting
violations on the main thread.
Differential Revision: https://phabricator.services.mozilla.com/D233506
The principal of a document might be changed during loading in certain
situation, e.g. a sandboxed document. In this case, we need to recompute
the partitionKey of the document to reflect the change on the principal.
Differential Revision: https://phabricator.services.mozilla.com/D230819
We need to propagate the isOn3PCBExceptionList flag from the nsILoadInfo
to workers so that the requests from workers can have the flag to exempt
third-party cookie blocking. We will also tackle the fetch request in
the worker scope in the patch.
Depends on D223380
Differential Revision: https://phabricator.services.mozilla.com/D223936
We need to propagate the isOn3PCBExceptionList flag from the nsILoadInfo
to workers so that the requests from workers can have the flag to exempt
third-party cookie blocking. We will also tackle the fetch request in
the worker scope in the patch.
Depends on D223380
Differential Revision: https://phabricator.services.mozilla.com/D223936
The principal of a document might be changed during loading in certain
situation, e.g. a sandboxed document. In this case, we need to recompute
the partitionKey of the document to reflect the change on the principal.
Differential Revision: https://phabricator.services.mozilla.com/D230819
We need to propagate the isOn3PCBExceptionList flag from the nsILoadInfo
to workers so that the requests from workers can have the flag to exempt
third-party cookie blocking. We will also tackle the fetch request in
the worker scope in the patch.
Differential Revision: https://phabricator.services.mozilla.com/D223936
We need to propagate the isOn3PCBExceptionList flag from the nsILoadInfo
to workers so that the requests from workers can have the flag to exempt
third-party cookie blocking. We will also tackle the fetch request in
the worker scope in the patch.
Differential Revision: https://phabricator.services.mozilla.com/D223936