When an animation is newly created while the same property transition is
running, the transition style rule persists until we call RequestRestyle() for
transitions level. That means if user calls getComputedStyle for the property
right after creating animation, the style obtained by getComputedStyle still
included the transitions level rule. As a result, the transitions level style
overrides newly created animation style until the next normal restyling process
happens (i.e. process transition level restyle request). Vice versa, in the
case where an animation is removed, transitions level style does not appear
until the next normal restyling.
This patch fixes this problem by trigerring a resyle of the transitions level
when an animation is created or removed.
MozReview-Commit-ID: HY6amLmDHTi
--HG--
extra : rebase_source : 67e58dc9a6c695299c3eef684bf7357153c5168b
The motivation of this patch is that clearing mPresContext should be an
implementation detail of XBL style set, so I create a method for that, and
remove ClearPresContext().
MozReview-Commit-ID: Ftta0rcAqu6
--HG--
extra : rebase_source : 0bdb1ac3e2c988e5a0220172f19ab4b006e883d7
The old style system uses nsUnicharStreamLoader, which never signals the end
of the stream to mozilla::Decoder, which caused the input to be truncated
instead of the error in the input being detected. Stylo uses
mozilla::css::StreamLoader, which correctly signals the end of the stream, so
the an odd number of bytes in UTF-16BE resulted in the output ending with
U+FFFD, which ran into the keyword "green" making it not a valid keyword.
MozReview-Commit-ID: uSaCIfrAOF
--HG--
extra : rebase_source : 2674c589012cd71e7bc2e8228c44aed26622b078
This fixed layout/style/test/test_media_queries_dynamic.html after Part 3 is added.
MozReview-Commit-ID: 7ZpSunCnkIc
--HG--
extra : rebase_source : 6acab11ba784b801b90afc0558c32baabcc3f271
The method always returns NS_OK, and no other caller checks the nsresult.
Hence the patch.
MozReview-Commit-ID: CnYCZ8VchG
--HG--
extra : rebase_source : 8626332e2774c1d6f42c7afa5e9679091a3aeaa2
… in the C++ style system, to align with Stylo and the CSSOM spec.
MozReview-Commit-ID: HaDUeNjumnY
--HG--
extra : rebase_source : 3a4d2856bb6b3702d0bc7ec9b7a8e472758ab9f0
This allows us to avoid posting animation-related restyles when removing
elements from the document tree.
MozReview-Commit-ID: CzN4S0DTUMa
--HG--
extra : rebase_source : a5b94d9ad5b1b2243abd0a5b188eec2b334df74d
The method always returns NS_OK, and no other caller checks the nsresult.
Hence the patch.
MozReview-Commit-ID: CnYCZ8VchG
--HG--
extra : rebase_source : 062d643308b309dfe442384301860ffeec2dff9f
It turns out, this is the only case in which we need to do the fixup at all.
And this way we don't have to guess based on first-line styles, which may not
match the frame tree (for example if we have a pending style change that we
haven't processed yet).
We use nsFlexContainerFrame (our modern flexbox implementation) to emulate
-webkit-box, and we use a frame state bit to tell us whether to use
modern-flexbox properties vs. legacy properties. Up until this patch, we
neglected to check that state bit when determining whether to use the modern
"flex-basis" property for sizing. This patch makes us *not* use that property
(and just use the axis-appropriate width/height property instead) for legacy
-webkit-box containers.
MozReview-Commit-ID: 14bzOCPCtUY
--HG--
extra : rebase_source : 0091761ba3aff64030a3301d9b60fb9401aa77b3
* HasAnyStateBits is slightly more foolproof and readable -- in particular, you
can put the logical "!" directly alongside the expression, rather than
needing to separate it with a layer of logical-grouping-parens.
* The deindentation here isn't super-important, but it conforms better to our
coding style, and it'll make this code consistent with a new chunk that I'm
adding in the next patch (and that chunk will *have* to be deindented like
this, to avoid going over 80 characters).
MozReview-Commit-ID: FWfqrKjHedP
--HG--
extra : rebase_source : e556f9789e9e153d57df07a38b10c21963e50978
Prefixed linear gradients use direction keyword to indicate starting point of the
gradient but modern syntax uses this keyword to indicate ending point of the gradient.
Top-to-bottom direction is the default value for gradients. Therefore `top` is default
value of prefixed linear gradients and `to bottom` is default one for unprefixed one.
For brevity, we omit the direction keyword from our serialization when it matches the
default direction, but we were incorrectly trying to remove `bottom` keyword from
prefixed computed values.
MozReview-Commit-ID: 8UCsFE44LRX
--HG--
extra : rebase_source : 6185aec4c3c1b0647015d00d31e0120c9448867e
We now have jemalloc_ptr_info() and moz_malloc_enclosing_size_of(), which can
be used to measure heap blocks via interior pointers. This patch does the
following.
- Adds MOZ_DEFINE_MALLOC_ENCLOSING_SIZE_OF, for defining
measure-via-interior-pointer functions.
- Uses these functions to replace some horrid pointer arithmetic in functions
measuring Rust types.
--HG--
extra : rebase_source : 5128408256c128222025153ae3e0f924b2499a2a