Now that NODE_FORCE_XBL_BINDINGS is gone, the only reason OwnerDoc() was added
in bug 1432490 is also gone.
Let's go back to using the composed doc, at least until the CSSWG decides on
what's the computed style of something that's not in[1].
[1]: https://github.com/w3c/csswg-drafts/issues/1548
MozReview-Commit-ID: EV1c46kkUva
--HG--
extra : rebase_source : 3cd036519b90b42cb920d8f854d530c8ced6ea9c
The spec doesn't say CSSKeyframesRule needs to inherit CSSGroupingRule.
It inherited GroupRule because Gecko's keyframes rule implementation
relies on that to manage its children.
MozReview-Commit-ID: CnVP2tozwQU
--HG--
extra : rebase_source : 63c61d7b7d003ff82bd73e183516f6076a2dafb6
For part 2, where CSSKeyframesRule will inherit directly from Rule while
it is parent rule for its CSSKeyframeRules.
It seems there is nothing relying on mParentRule being a GroupRule so we
can just change it.
MozReview-Commit-ID: Cyte6h3Q2LB
--HG--
extra : rebase_source : 01ac2ab201a1438aa73eadc5cce0ea67e164ecce
:-moz-native-anonymous can just use is_in_native_anonymous_subtree()
which is an existing function duplicating IsInNativeAnonymousSubtree().
IsRootOfUseElementShadowTree() in C++ code only has a single reference
from nsCSSPseudoClasses::MatchesElement() so we can just move it to the
Rust side. And actually Rust code has existing duplicate logic for
blocks_ancestor_combinators().
MozReview-Commit-ID: 8M1hHrYJT6Y
--HG--
extra : rebase_source : bf53ac7d8b15b0d1f7447a6056986d89b1cb4e57
This patch was part of Bug 1448535 part 5 and reviewed there. It is
split out because bug 1448728 doesn't need to be blocked by other parts
of bug 1448535.
MozReview-Commit-ID: C74w6FWAxMB
--HG--
extra : source : 1a537bb710a0ab31afdad0ef6e95fee518800737
extra : amend_source : 1dbcd7b3cfb4ccb4732b4a2ba7842436ac4b215d
Instead of creating a new layer scroll data for every single
nsDisplayTransform item, we only create a new layer scroll data for
nsDisplayTransform items with perspective. In addition, we save the
transform from the non-perspective nsDisplayTransform items on the
StackingContextHelper, and then apply it to layer scroll data items that
are created by display items nested inside those nsDisplayTransforms.
This effectively makes two changes to the structure of the layer scroll
data sent to APZ:
(1) we will drop layer scroll data items for transforms that APZ doesn't
care about (i.e. the non-perspective ones that don't wrap APZ-relevant
display items).
(2) we will collapse layer scroll data items that only had a transform
into its descendant layer scroll data items. This should be functionally
equivalent, since the transform is still in the right place relative to
everything else.
The net result is fewer layer scroll data items.
MozReview-Commit-ID: HV6QPfuUrje
--HG--
extra : rebase_source : ecfe1810f9889e7ce5096e1bc42cc30a92b43b4a
AnimVal() is a DOM getter, and it flushes animations, which we don't want
in GetBBox() which is called from display list building cide and
FrameLayerBuilder.
Then, all classes in editor/txmgr is now in mozilla namespace and all
headers which are included by other directory are now exposed. So,
we can remote local includes from other directories now.
MozReview-Commit-ID: Kdb1c4Hp9Sy
--HG--
rename : editor/txmgr/nsTransactionStack.cpp => editor/txmgr/TransactionStack.cpp
rename : editor/txmgr/nsTransactionStack.h => editor/txmgr/TransactionStack.h
extra : rebase_source : 75035e9e618680af9188820595ab050b612a456f