443 Commits

Author SHA1 Message Date
L. David Baron
590d7a434b Bug 1110277 patch 1 - Consider the ib-split chain when checking for ::before and ::after in order to reframe when they're missing. r=bzbarsky
This patch is not needed to fix the bug, but it seems like it's probably
desirable.  It's not needed for this bug because
MaybeReframeForBeforePseudo and MaybeReframeForAfterPseudo are already
called (by ElementRestyler::RestyleChildren) on only the first and last
continuation or ib-split sibling with the same style.  So this patch
should only actually change anything for cases like a block-in-inline
split whose initial inline part is inside of a ::first-line (where
different parts of the block-in-inline split chain have different style).

Since the symptom of this bug is (once patch 6 is in the tree) only
causing extra reframes, it can only be tested using the new API (from
bug 1115691) for observing reframes.  I confirmed that the test for this
bug fails without the patch and passes with the patch (as noted by the
removal of its todo annotation).
2015-01-11 15:43:10 -08:00
Brian Birtles
3dcfc0b8f5 Bug 927349 part 28 - Call AddLayerChangesForAnimation after updating style; r=dbaron 2014-12-25 16:28:25 +09:00
Xidorn Quan
61ff35b52e Bug 1114792 - Rename nsStyleContext::IsDirectlyInsideRuby to IsInlineDescendantOfRuby. r=dbaron
--HG--
extra : rebase_source : c28b41828c7d02ab26803c583bae15a218a5da05
2014-12-31 16:39:43 +11:00
Brian Birtles
e5b88e8ef0 Back out parts 22-29 from bug 927349 for causing intermittent test failure in css-animations/test_animation-pausing.html on 10.8 2014-12-26 11:54:43 +09:00
Brian Birtles
8f3f4c1376 Bug 927349 part 29 - Disable failing browser_555547.js on Windows opt - pushed again without backing out parts 22-29 at the same time; r=me
In https://hg.mozilla.org/integration/mozilla-inbound/rev/3ab2ff9b9f94
I accidentally pushed part 29 along with a backout for parts 22-29. This patch
reverts that change.

If this changset causes problems, the following changesets should be backed out:

https://hg.mozilla.org/integration/mozilla-inbound/rev/477f46897b0b
https://hg.mozilla.org/integration/mozilla-inbound/rev/6c345954bce5
https://hg.mozilla.org/integration/mozilla-inbound/rev/642e400b22a9
https://hg.mozilla.org/integration/mozilla-inbound/rev/9bdf7c2279fa
https://hg.mozilla.org/integration/mozilla-inbound/rev/79cac8c71159
https://hg.mozilla.org/integration/mozilla-inbound/rev/cfe757e478d5
https://hg.mozilla.org/integration/mozilla-inbound/rev/eaf834051cbd
2014-12-26 08:49:20 +09:00
Brian Birtles
414a5c831f Bug 927349 part 29 - Disable failing browser_555547.js on Windows opt; r=me (as discussed with jwatt) 2014-12-25 16:31:55 +09:00
Brian Birtles
cbe7771b26 Bug 927349 part 28 - Call AddLayerChangesForAnimation after updating style; r=dbaron 2014-12-25 16:28:25 +09:00
Seth Fowler
710bf88bca Bug 35168 (Part 2) - Allow relative positioning of internal table objects. r=dbaron 2014-08-19 18:24:58 -07:00
Xidorn Quan
4acbb5abac Bug 1098275 - Inlinize block-level boxes inside ruby. r=heycam
--HG--
extra : rebase_source : 70a969d3a6be4ea5dfe14777aa7c31189ade7211
extra : source : 30e0ea21cdfaa29f2c138f0b8975da984e8ac009
2014-12-11 09:26:18 +11:00
Mats Palmgren
b0f013a10d Bug 907396 - Make RestyleManager::RestyleElement and nsCSSFrameConstructor::MaybeRecreateFramesForElement deal with display:contents elements. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
debd2f3e4d Bug 907396 - Replace GetParentStyleContextFrame with GetParentStyleContext which can return frame-less display:contents style contexts. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
49c85139e6 Bug 907396 - Implement RestyleUndisplayedDescendants that restyles diplay:none children and display:contents descendants. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
96ad0f2c46 Bug 907396 - Frame constructor changes for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
David Zbarsky
7e217619a6 Bug 1085769: Merge ContentOrAncestorHasAnimation/Transition r=birtles 2014-11-19 21:48:42 -05:00
Brian Birtles
18c294458c Bug 1073336 part 16 - Factor out animation-layer related information to a common database; r=dbaron 2014-11-17 13:46:00 +09:00
Brian Birtles
d5678b7ad6 Bug 1073336 part 14b - Make ElementRestyler detect changes to the animation generation; r=dbaron
For some kinds of changes we need to update the layer tree even though there is
no change to style. For example, if an animation is paused via the Web
Animations API, we need to remove the animation from the layer even though the
style will not change.

This patch detects such changes by making ElementRestyler check for an
out-of-date animation generation on layers. This is complicated by the fact that
we currently maintain *two* animation generation numbers: one for the set of
animations and one for the set of transitions, but we only have *one* animation
generation number on each layer. This is a known issue (bug 847286).

As a result, until bug 847286 is fixed, we need to be careful to compare against
the greater of the two numbers.
2014-11-17 13:46:00 +09:00
Brian Birtles
dc417c2fec Bug 1073336 part 14a - Update animation generation when changing animations via the API; r=dbaron 2014-11-17 13:45:59 +09:00
L. David Baron
5fc1b3d275 Bug 1086937 patch 2 - Use eRestyle_ChangeAnimationPhaseDescendants to get the right style data in RestyleManager::RebuildAllStyleData. r=birtles
Until we get rid of animation phases in bug 960465, we need to ensure
we're producing style data for the correct animation phase.  This makes
this optimization slightly less beneficial until then.
2014-11-12 23:28:52 -08:00
L. David Baron
0c5741e2ef Bug 1086937 patch 1 - Add eRestyle_ChangeAnimationPhaseDescendants restyle hint that is like eRestyle_ChangeAnimationPhase, but for a whole subtree. r=birtles 2014-11-12 23:28:52 -08:00
L. David Baron
70fce093ea Bug 1086937 patch 0 - Add missing null check of root element so this patch series doesn't expose a crash in layout/style/crashtests/472237-1.html . r=birtles 2014-11-12 23:28:52 -08:00
Robert Longson
4a07c5065f Bug 975757 - changes to transforms in patterns do not cause an update. r=jwatt 2014-11-04 14:52:27 +00:00
Mats Palmgren
1aceb17cf6 Bug 1077687. If we have a pending request to rebuild all style data then do so instead of processing individual restyles. r=roc 2014-11-02 16:47:26 +00:00
Jonathan Watt
bf49eb7f25 Bug 651021 - Make nsRenderingContext a stack class. r=jrmuizel 2014-10-31 20:08:49 +00:00
Mats Palmgren
3f61e03687 Bug 1083855 - part 6, Make RecreateFramesForContent params non-optional. r=bz 2014-10-23 13:19:26 +00:00
Robert Longson
dafe7ccae9 Bug 1067375 - Fix animateTransform in svg-as-image to invalidate properly. r=jwatt 2014-10-12 08:49:34 +01:00
L. David Baron
33003bece1 Bug 1047928 patch 5 - Pass restyle hint to RestyleManager::PostRebuildAllStyleDataEvent. r=bzbarsky
This patch is not intended to contain any changes in behavior.
2014-10-08 14:27:02 -07:00
L. David Baron
acfd59047e Bug 1047928 patch 2 - Pass restyle hint to RestyleManager::RebuildAllStyleData. r=bzbarsky
This patch is not intended to contain any changes in behavior.
2014-10-08 14:26:57 -07:00
L. David Baron
57d0c0d658 Bug 1077849 - Use eRestyle_ForceDescendants for all cases of rebuilding the rule tree. r=heycam
Bug 931668 added the eRestyle_ForceDescendants case for all cases that
go through RebuildAllStyleData, but there is another case that calls
DoRebuildAllStyleData directly, and we should cover that too.

This is needed because when we're rebuilding the rule tree, we need to
create new style contexts for all frames.

I don't know of any bugs caused by this, but it seems worth fixing.
2014-10-04 16:59:47 -07:00
L. David Baron
f8fdaf03f2 Bug 1075137 patch 7 - Remove old IsProcessingRestyles and IsProcessingAnimationStyleChange booleans. r=birtles 2014-10-02 21:53:24 -07:00
L. David Baron
313d94e669 Bug 1075137 patch 5 - Add new boolean to RestyleManager for whether we're currently processing animation restyles. r=birtles
This is just moving one bit of data from the pres context without any
logic change.  But given the other refactoring, it seems to make more
sense here now.
2014-10-02 21:53:24 -07:00
L. David Baron
cafe8a4951 Bug 1075137 patch 2 - Add new booleans for whether to skip animation styles and whether to post animation restyles. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
dcaec160c5 Bug 1075137 patch 1 - Convert one use of IsProcessingRestyles that doesn't follow normal pattern to a debug-only member on the restyle manager. r=birtles 2014-10-02 21:53:23 -07:00
L. David Baron
a1236de6d5 Bug 1074634 - Don't overwrite eRestyleResult_ContinueAndForceDescendants with eRestyleResult_Continue. r=heycam 2014-10-02 21:53:22 -07:00
Cameron McCormack
c3dee3558d Bug 1072724 - Support showing more information about style structs in restyle logs. r=dbaron
The MOZ_DEBUG_RESTYLE_STRUCTS environment variable can be set to a comma-
separated list of style struct names.  When restyle logging is enabled,
this will cause the style context tree -- showing cached style struct
pointers for those structs specified -- to be logged before each
individual restyle is processed.  It will also show the struct pointer
values involved when swapping structs between style contexts.

For example, set MOZ_DEBUG_RESTYLE_STRUCTS=Font,UserInterface to show
the cached nsStyleFont and nsStyleUserInterface pointers on the style
contexts involved in the restyle process.
2014-10-01 09:13:57 +10:00
Cameron McCormack
8ffb3014ac Bug 1072130 - Don't swap structs when we're reusing a style context from a previous same-style continuation. r=dbaron 2014-09-25 15:51:43 +10:00
Cameron McCormack
f5e6faa47e Bug 979133 - Add facility to log the restyle process. r=dbaron
Set the MOZ_DEBUG_RESTYLE environment variable and every restyle will have
detailed logging printed to stderr. By default, restyles for animations are
not logged; you can include them by also setting MOZ_DEBUG_RESTYLE_ANIMATIONS.

If you wish to limit restyle logging to a particular change, you can call
nsPresContext::StartRestyleLogging() and nsPresContext::StopRestyleLogging()
at appropriate points. (You might want to add a couple of helper methods
temporarily on nsIDocument and then expose them to your page with Web IDL
to make them easier to call.) You do not need to have set MOZ_DEBUG_RESTYLE
for this to work.
2014-09-25 15:45:36 +10:00
Cameron McCormack
0770269478 Back out bug 1045895 for causing bug 1070759. 2014-09-25 15:30:18 +10:00
Phil Ringnalda
340fd10e38 Back out c0c410aed86f (bug 979133) for -wError bustage
CLOSED TREE
2014-09-24 21:06:22 -07:00
Cameron McCormack
2a28d6d5eb Bug 979133 - Add facility to log the restyle process. r=dbaron
Set the MOZ_DEBUG_RESTYLE environment variable and every restyle will have
detailed logging printed to stderr.  By default, restyles for animations are
not logged; you can include them by also setting MOZ_DEBUG_RESTYLE_ANIMATIONS.

If you wish to limit restyle logging to a particular change, you can call
nsPresContext::StartRestyleLogging() and nsPresContext::StopRestyleLogging()
at appropriate points.  (You might want to add a couple of helper methods
temporarily on nsIDocument and then expose them to your page with Web IDL
to make them easier to call.)  You do not need to have set MOZ_DEBUG_RESTYLE
for this to work.
2014-09-25 13:13:14 +10:00
Alexander Surkov
d205486a00 Bug 1040735 - DOM node reinsertion under anonymous content may trigger a11y child adoption, r=bz, tbdaunde, davidb 2014-09-19 20:02:30 -04:00
Cameron McCormack
9e08b4d248 Bug 1041512 - Mark intrinsic widths dirty on a style change even if the frame hasn't had its first reflow yet. r=dbaron 2014-09-17 10:40:11 +10:00
Cameron McCormack
81ed1e8fa4 Bug 1045895 - Pass out provider frame from RestyleSelf to avoid calling GetParentStyleContextFrame again. r=dbaron 2014-09-10 14:42:03 +10:00
L. David Baron
0b5209fe1d Bug 977991 patch 4 - Ensure we don't try to use the style attribute optimization on pseudo-elements. r=birtles
This is needed because patch 1 and patch 3 did not add a mechanism that
allows restyling pseudo-elements, which would be substantially more work
and very little use (since the only case in which they have style
attributes is for our internal use on the ::-moz-color-swatch
pseudo-element).

RestyleUndisplayedChildren does not need the same fix because it's only
used on elements, and never on pseudo-elements or anonymous boxes.
2014-09-13 06:17:36 -07:00
Cameron McCormack
90dc98cfbe Bug 931668 - Part 24: Avoid copying RestyleData::mDescendants when modifying an existing entry. r=dbaron
--HG--
extra : rebase_source : 0b9905bdff6f9ceec823b2091aadc39f0ca467bc
2014-09-05 13:48:48 +10:00
Cameron McCormack
a60c564803 Bug 931668 - Part 22: Clear cached structs on descendants of an old style context that had structs swapped, if it is staying around. r=dbaron
--HG--
extra : rebase_source : aa23c06a20214c72d971ab059ef4833846c769fb
2014-09-05 13:48:47 +10:00
Cameron McCormack
d32c1d2bfc Bug 931668 - Part 21: Fix issue where not all pending-restyle descendants are restyled. r=dbaron
--HG--
extra : rebase_source : 824fe576885ec4f5ab086499dfaa6e95456afd50
2014-09-05 13:48:47 +10:00
Cameron McCormack
7f9178272f Bug 931668 - Part 20.2: Don't call AssertStructsNotUsedElsewhere on style contexts for :before/:after frames that are going away. r=dbaron
--HG--
extra : rebase_source : 7ff96443db553d564897d42870b81e10c2a78b53
2014-09-05 13:48:47 +10:00
Cameron McCormack
6c1e5df71c Bug 931668 - Part 20.1: Keep old structs on new style contexts, for those that are equal. r=dbaron
We don't do struct swapping if either the old or new style contexts are
shared, since we can't guarantee that such a change will be valid for
all frames that use the shared style context.

--HG--
extra : rebase_source : 10f7c90422de23b119287ba478d36433423440da
2014-09-05 13:48:46 +10:00
Cameron McCormack
99097814d6 Bug 931668 - Part 20: Stop the recursive restyling process when we detect it is safe to do so. r=dbaron
--HG--
extra : rebase_source : 33eba29b1ef05b72c671dcc61d6a997ad492ceb1
2014-09-05 13:48:46 +10:00
Cameron McCormack
391b7d8d02 Bug 931668 - Part 19: Make RebuildAllStyleData use eRestyle_ForceDescendants so that it does rebuild the whole style tree. r=dbaron
--HG--
extra : rebase_source : 874f6c186d649c209235261f933e7ebd2853f294
2014-09-05 13:48:46 +10:00