Commit Graph

207 Commits

Author SHA1 Message Date
Cameron McCormack
61828f2975 Bug 1302054 - Part 1: Avoid computing style differences when we just want to ensure structs are cached on the new context. r=dbaron
MozReview-Commit-ID: DLhHcCD4GQS
2017-03-21 16:33:05 +08:00
Emilio Cobos Álvarez
78d21942de Bug 1296516: Tidy RestyleManager::ContentStateChanged. r=heycam
MozReview-Commit-ID: 7iWc6JvljhT
2017-03-20 22:28:13 +01:00
Cameron McCormack
5d728859aa Bug 1338461 - Pass eRestyle_StyleAttribute through to Servo_NoteExplicitHints. r=bholley
MozReview-Commit-ID: C7HIOTs1SSY
2017-03-20 14:42:31 +08:00
Boris Zbarsky
e1d5ac409a Bug 1347411 part 1. Make sure to correctly update anon boxes belonging to ::before/::after pseudo-elements. r=heycam
MozReview-Commit-ID: AzF9WdUo1E
2017-03-15 14:00:42 -04:00
Emilio Cobos Álvarez
4b72eae7aa Bug 1328652: Ensure we do actual restyling work after calling RebuildAllStyleData. r=bz
The Gecko restyle manager does this synchronously, along with a content flush.

In my testing there's no need to do so, and Boris couldn't think off-hand of
why, except the fact that we have this mRebuildAllStyleData thing that takes
care of rebuilding the rule tree, which is quite sensitive.

Also, Boris made a good point about non-inheriting anon boxes, that could
technically change style. I've left a note about it too.

MozReview-Commit-ID: 2lvzhxugKB0
2017-03-11 00:25:37 +01:00
Cameron McCormack
eeea0c3a51 Bug 1291786 - stylo: Move eRestyle_Subtree translation handling to Servo. r=bholley
MozReview-Commit-ID: LHTJzImnj6h
2017-03-10 17:54:19 +08:00
Hiroyuki Ikezoe
d9c3518720 Bug 1341985 - Trigger the second traversal for updating CSS animations. r=birtles,heycam
The restyle request during restyling is a result of creating/updating/removing
CSS animations that will come from a SequentialTask which will be implemented
in a subsequent patch.

MozReview-Commit-ID: JoAqvcN3y51
2017-03-10 11:53:19 +09:00
Hiroyuki Ikezoe
500774de7b Bug 1344619 - Part 7: Drop EffectCompositor::ClearElementsToRestyle. r=birtles
MozReview-Commit-ID: DlTj2OR0wI0
2017-03-09 05:20:17 +09:00
Bobby Holley
fe8dc59428 Bug 1344386 - Don't look for overlapping change hints in stylo documents. r=emilio
MozReview-Commit-ID: 9wK8TTXolPM
2017-03-07 13:14:32 -08:00
Bobby Holley
6ff512b18f Bug 1338921 - Handle lazy frame construction in the regular post-servo pass. r=emilio
MozReview-Commit-ID: FSXKAiyZDzt
2017-03-03 14:55:22 -08:00
Boris Zbarsky
76369661b5 Bug 1337696. Fix change hint computation for table-outer frames to be more correct. r=emilio
MozReview-Commit-ID: LgRmTlWsM6o
2017-03-03 15:54:47 -05:00
Boris Zbarsky
194b86b428 Bug 1340723 part 3. Fix stylo to properly update styles on the anonymous blocks we create in a block-inside-inline situation when the style of the inline changes. r=emilio
MozReview-Commit-ID: JYz6g1ZJInT
2017-03-03 15:45:40 -05:00
Boris Zbarsky
b8daadc24a Bug 1340723 part 2. Call the new UpdateStyleOnOwnedAnonBoxes function as needed from ServoRestyleManager. r=emilio
MozReview-Commit-ID: 5nrv8x7CEtN
2017-03-03 15:44:48 -05:00
Bobby Holley
3348921dcc Bug 1343362 - Allow restyle hints to be posted during change hint handling. r=emilio
MozReview-Commit-ID: 6ZU24tLQCjV
2017-03-01 22:42:51 -08:00
Bobby Holley
6d5ba43988 Bug 1343128 - Don't leave stale change hints and other restyle data hanging around in reconstructed subtrees. r=emilio
MozReview-Commit-ID: 4BIvC6lPUmF
2017-02-28 18:02:11 -08:00
Emilio Cobos Álvarez
c0e5af8f9a Bug 1341083: Implement dynamic restyling for display: contents. r=heycam
MozReview-Commit-ID: KimTU2j4V4p
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:15:38 +01:00
Emilio Cobos Álvarez
a2cee39cab Bug 1322317: Fix CalcStyleDifference assumptions and PeekStyleContext semantics. r=heycam
For the reasoning for this change, please see the related bugs and:

http://logs.glob.uno/?c=mozilla%23layout&s=22+Feb+2017&e=22+Feb+2017#c27236

Mainly, before this change, there was nothing forcing style structs computed in
a style context to remain computed for the new style context after a call to
CalcStyleDifference. This can make us skip change hints when a style change
doesn't force to recompute one of these structs.

MozReview-Commit-ID: FoWbLjt97Uu
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-21 16:56:43 +01:00
Hiroyuki Ikezoe
72d06432c0 Bug 1340340 - Stop mutating nsRefreshDriver during parallel traversal. r=heycam
MozReview-Commit-ID: D5VYPWXm5jO
2017-02-20 14:37:13 +09:00
Boris Zbarsky
20d50473db Bug 1324661 another followup: just simplify the chnagehint thing for now, with a followup filed. r=bholley
MozReview-Commit-ID: G9IvoODSOch
2017-02-17 17:50:24 -05:00
Boris Zbarsky
432b94a0a1 Bug 1324661 followup: check our child hint before trying to append it. r=bholley
MozReview-Commit-ID: 3FIBludwV7j
2017-02-17 16:36:12 -05:00
Boris Zbarsky
9666ae4505 Bug 1324661 part 1. When recreating style contexts for elements in stylo, use the right frame (not the primary frame!) for tables. r=bholley,emilio
For a table, the primary frame is the table wrapper anonymous box.  That
anonymous box inherits style from its _child_ table frame, which is the frame that
has the actual style for the element.  So we want to use the stylo-computed
style for the table frame, and then compute an updated style for the table
wrapper too, because some things (like absolute positioning) are done for the
table wrapper anonymous box, not the table frame.
2017-02-17 14:52:39 -05:00
Cameron McCormack
72208062c5 Bug 1297899 - Part 8: Move Content{Inserted,Appended} up to RestyleManager. r=bholley
MozReview-Commit-ID: G2XyuyxhzOz
2017-02-13 11:21:33 +08:00
Cameron McCormack
23f1714041 Bug 1297899 - Part 7: Move PostRestyleEventForLazyConstruction up to RestyleManager. r=bholley
MozReview-Commit-ID: 8M5wgCJp6PT
2017-02-13 11:21:33 +08:00
Cameron McCormack
594df5c15c Bug 1297899 - Part 4: Store concrete restyle manager type on RestyleManager. r=bholley
MozReview-Commit-ID: AmsNPqPVm8c
2017-02-13 11:21:32 +08:00
Cameron McCormack
34c943ee6e Bug 1297899 - Part 3: Rename RestyleManager to GeckoRestyleManager and RestyleManagerBase to RestyleManager. r=bholley
MozReview-Commit-ID: fFTZKwmGJm
2017-02-13 11:21:32 +08:00
Shing Lyu
ec447997bf Bug 1329919 - Skip repaint frame hint if there is no frame. r=heycam
MozReview-Commit-ID: F46VpEBJqvU
2017-02-03 10:37:08 +08:00
Cameron McCormack
81aced4890 Bug 1338763 - stylo: Bump restyle generation only when we do restyle things. r=bholley
MozReview-Commit-ID: 1f3l7L0hfJp
2017-02-11 16:50:02 +08:00
Cameron McCormack
8e21d528cb Bug 1331294 - Part 6: Remove RestyleManager::HasPendingRestyles and Servo_Element_ShouldTraverse. r=bholley
MozReview-Commit-ID: 2ST5i7M4QZ4
2017-02-10 10:42:30 +08:00
Cameron McCormack
4f76a8ce9c Bug 1331294 - Part 5: Make ServoRestyleManager::ProcessPendingRestyles use StyleDocument()'s return value to determine whether to return early. r=bholley
MozReview-Commit-ID: Hbk0vuQMhJs
2017-02-10 10:42:30 +08:00
Cameron McCormack
c48f6c44a5 Bug 1331294 - Part 3: Make ServoRestyleManager::PostRestyleEvent not check HasPendingRestyles() before returning early. r=bholley
If there are pending restyles, and we were called with zero change and restyle
hints, then we're still not going to do any extra work.  So we may as
well return early after only checking the hints.

MozReview-Commit-ID: ACCGtDZcOJ0
2017-02-10 10:42:30 +08:00
Emilio Cobos Álvarez
eddb89bfb8 Bug 1337248: remove bogus assertion in presence of explicit change hints. r=bholley
When any explicit change hint appears to trigger, for example, a repaint,  this
assertion is no longer true, and we should indeed avoid recreating the style
context unnecessarily for that element.

MozReview-Commit-ID: Ln7lBPZW0kp
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-07 21:01:01 +01:00
Emilio Cobos Álvarez
149696300c Bug 1335987: stylo: Don't use the change hint to decide whether to recreate style contexts. r=bholley
MozReview-Commit-ID: 11Yyq8UE3LP
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-03 22:03:34 +01:00
Hiroyuki Ikezoe
70fd29eb2a Bug 1328787 - Part 13: Call nsAnimationManager.UpdateAnimations(). r=heycam
MozReview-Commit-ID: CcA3dJaxuYY
2017-01-29 12:59:00 +09:00
Boris Chiou
fc4bb900ab Bug 1324691 - Part 3: Support AnimationsWithDestroyedFrame for ServoRestyleManager. r=heycam
MozReview-Commit-ID: 4cQ6PoieLLG
2017-01-27 12:45:46 +08:00
Boris Chiou
1f024d5ff3 Bug 1317209 - Part 5: Trigger composeStyle if there is an animation. r=heycam
1. Add one new FFI, Gecko_GetAnimationRule, which will try
   to update the animation rule and retrieve a ServoAnimationRule
   from EffectSet.
2. Add GetServoAnimationRule, which calls Animation::ComposeStyle and updates
   mElementsToRestyle.
3. There is no eRestyle_{CSSAnimations|CSSTransitions}, so we use
   eRestyle_Self and eRestyle_Subtree for stylo.

MozReview-Commit-ID: 9RpJurPSFMk
2017-01-24 15:27:56 +08:00
Emilio Cobos Álvarez
0be8a2c6ab Bug 1331213: Bootstrap a Gecko-side Device, and track it's dirtiness manually in the per-doc data. r=heycam
The setup is quite different to Servo-land, so add a comment about the different
setup.

Also, check viewport rules when flushing stylesheets. I believe that the
previous behavior is plain wrong, though I haven't taken the time to come up
with a test case.

In any case, it doesn't hurt any of both back-ends.

MozReview-Commit-ID: 46gtTkesOsr
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:20:03 +01:00
Emilio Cobos Álvarez
136ce44587 Bug 1330874: Preserve neutral style changes for stylo. r=heycam
Since we use the presence of a change hint to determine whether we should
recreate a style context, we can't just strip them out on CalcStyleDifference.

MozReview-Commit-ID: GLhbTc2W3d7
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-15 16:10:01 +01:00
Bobby Holley
4a656a73b5 Bug 1329854 - Handle suppressed frames in stylo incremental restyle. r=heycam 2017-01-12 17:32:40 -08:00
Bobby Holley
0aaca3b258 Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
Boris Zbarsky
2ac8e1a125 Bug 1298588 part 7, gecko piece. Stop using initial_values in general in Gecko glue code. r=bholley 2017-01-04 14:52:27 -05:00
Boris Zbarsky
71433082f9 Bug 1298588 part 4, gecko piece. Recreate the default computed values for a document as needed. r=bholley 2017-01-04 14:52:27 -05:00
Bobby Holley
fa4099d657 Bug 1324627 - Add a special, explicit path for lazy style resolution and use it for GetComputedStyle. r=heycam 2016-12-28 15:49:12 +08:00
Phil Ringnalda
091c8b0527 Backed out changeset 5986d8880ad1 (bug 1324627) for a variety of computed style failures
MozReview-Commit-ID: AMTshx423hQ
2016-12-27 21:34:45 -08:00
Bobby Holley
5245f35145 Bug 1324627 - Add a special, explicit path for lazy style resolution and use it for GetComputedStyle. r=heycam
MozReview-Commit-ID: ECnoeHYkpT
2016-12-28 11:33:18 +08:00
Cameron McCormack
c6d72a683a Bug 1324341 - Part 1: Convert eRestyle_Subtree into (eRestyle_Self | eRestyle_SomeDescendants), so Servo will actually restyle descendants. r=xidorn
MozReview-Commit-ID: AjfgRua4WcF
2016-12-19 14:30:09 +08:00
Cameron McCormack
a0875e2a06 Bug 1321284 - Part 5: Process document level NAC when restyling. r=bholley
MozReview-Commit-ID: GigSrTHXXte
2016-12-01 16:19:50 +08:00
Bobby Holley
3775205e64 Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal. r=emilio
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Cameron McCormack
15e6c53c13 Bug 1318238 - Clear all ServoNodeData during style set shutdown. r=bholley
MozReview-Commit-ID: 9MvBTAWeawC
2016-11-18 16:54:10 +08:00
Cameron McCormack
0503b46e7c Bug 1316247 - stylo: Handle restyles generated during change hint processing sooner. r=emilio
MozReview-Commit-ID: HpgJ94ifJ7e
2016-11-09 14:25:28 +08:00
Cameron McCormack
a1b1f58505 Bug 1315889 - stylo: don't try to restyle elements that have been removed from the document. r=emilio
MozReview-Commit-ID: EiFS1KAKAj6
2016-11-08 16:24:34 +08:00