In modern C++, static constexpr member variables are automatically
inline (aka weak) so the template trick is not needed. This also avoid
duplication and reduces the amount of parsed code. No impact on
generated binary (actually: smaller debuginfo, close to identical
binary).
Differential Revision: https://phabricator.services.mozilla.com/D247825
This reverts commit 1faeaa00f5.
Revert "Bug 1959727 - Implement ShadowRoot.setHTML and share more code. r=emilio"
This reverts commit 3a84b03088.
Revert "Bug 1959727 - Add the sanitizer option to parseHTMLUnsafe. r=emilio" for causing wpt failures in Document-parseHTMLUnsafe.html
This reverts commit 17ced5ec89.
Download request navigate events are fired from
turn is called e.g from the activation behavior of a and area elements
in the case of a download attribute being present.
Also split nsContentUtils::TriggerLink into separate click and
mouse-over cases.
Differential Revision: https://phabricator.services.mozilla.com/D247903
This patch makes the usage of `EnumTable`s safer
by using `Span`s instead of relying on an empty
element at the end.
Also the name has been changed from `EnumTable`
to `EnumTableEntry` to be more precise.
Differential Revision: https://phabricator.services.mozilla.com/D247453
This patch makes the usage of `EnumTable`s safer
by using `Span`s instead of relying on an empty
element at the end.
Also the name has been changed from `EnumTable`
to `EnumTableEntry` to be more precise.
Differential Revision: https://phabricator.services.mozilla.com/D247453
We introduce `::-moz-snapshot-containing-block` pseudo-element to wrap
the view transition pseudo-element tree. This pseudo-element is only for
internal usage and cannot be accessed from outside.
Note that the related wpt,
`snapshot-containing-block-static.html`
`snapshot-containing-block-absolute.html`
are still failed because of Bug 1960755.
Also, add a test to check the snapshot containing block in the iframe,
and avoid hitting the issue of Bug 1960755.
There is no better way to verify that we do establish the fixed
positioning containing block, because it's unlikely to make the size of the
snapshot containing block be different from the viewport size on desktop
(note: this pseudo-element doesn't expose to the web), so I verified this
patch by changing the size of snapshot containing block manually in the UA
stylesheet, to see if it establish the fixed positioning containing block.
Differential Revision: https://phabricator.services.mozilla.com/D245648
Despite the name, `sActivePointersIds` is a list of all pointers which is either
active or inactive.
`Element::SetPointerCapture` checks whether the given `pointerId` is known one
or not. However, we register mouse pointer when entering over the document
and unregister it when leaving from the document.
However, they are handled when `eMouseEnterIntoWidget` and
`eMouseExitFromWidget` are fired, however, they are not fired automatically
if the mouse events are synthesized on a document which does not contain the
system cursor position.
So, we need to make the method register the `PointerInfo` when
`EventStateManager` receives `eMouseOver` or `ePointerMove` which is caused only
by mouse.
For making any `PointerEventHandler::GetPointerInfo()` callers can distinguish
whether the pointer is registered or updated by a synthesized mouse events,
`PointerInfo` should have the information as a `bool` member.
Differential Revision: https://phabricator.services.mozilla.com/D246027
Despite the name, `sActivePointersIds` is a list of all pointers which is either
active or inactive.
`Element::SetPointerCapture` checks whether the given `pointerId` is known one
or not. However, we register mouse pointer when entering over the document
and unregister it when leaving from the document.
However, they are handled when `eMouseEnterIntoWidget` and
`eMouseExitFromWidget` are fired, however, they are not fired automatically
if the mouse events are synthesized on a document which does not contain the
system cursor position.
So, we need to make the method register the `PointerInfo` when
`EventStateManager` receives `eMouseOver` or `ePointerMove` which is caused only
by mouse.
For making any `PointerEventHandler::GetPointerInfo()` callers can distinguish
whether the pointer is registered or updated by a synthesized mouse events,
`PointerInfo` should have the information as a `bool` member.
Differential Revision: https://phabricator.services.mozilla.com/D246027
Otherwise we can end up with dirty frames at the end of a flush. This
doesn't fix bug 1958522 (I think we need either height: fit-content to
work, or IntersectionObserver.scrollMargin). But matches the HTML spec:
> The intent of this step is for the initial viewport proximity
> determination, which takes effect immediately, to be reflected in the
> style and layout calculation which is carried out in a previous step of
> this loop. Proximity determinations other than the initial one take
> effect at the next rendering opportunity.
Differential Revision: https://phabricator.services.mozilla.com/D245489
Pretty bare bones (some properties missing), but this allows the
transition pseudo-elements to be in the right place.
We need to implement live capturing / integrate nical's work to display
the "new" image properly, but we'll get to that. Meanwhile this should
be uncontroversial.
Differential Revision: https://phabricator.services.mozilla.com/D238005
There are two reasons we cannot use the original version of
pseudo-element-animaiton.html:
1. Our finished promise is never resolved (Bug 1914322).
2. We haven't imported the UA stylesheet (Bug 1914323, Bug 1914324).
So I need to write a new test based on our current implementation, and
rename the original pseudo-element-animations.html as
pseudo-element-animations-rerun.html.
Differential Revision: https://phabricator.services.mozilla.com/D231345
This is in preparation for passing more information about this kind of
mutation down for optimization purposes, see bug comments.
Differential Revision: https://phabricator.services.mozilla.com/D233545
In order to retrieve the current computed style, we have to look up the
view transition pseudo-element. This patch focus on the search code
mainly.
Note that it's unfortunate we cannot pass the wpt,
css/css-view-transitions/pseudo-get-computed-style.html,
because there is a JS error when running this test, and the static UA
stylesheet hasn't been imported yet.
Differential Revision: https://phabricator.services.mozilla.com/D230459
Use `PseudoStyleRequest` in the APIs of EffectSet. We would like to
store the animation in the originating element, so need to use
`PseudoStyleRequest`.
Differential Revision: https://phabricator.services.mozilla.com/D228226