Bobby Holley
887595286b
Bug 1350115 - Squelch post-traversal generated by additional animation traversals when we're styling a fresh subtree. r=heycam,r=birtles
...
This patch exists to avoid a crash in layout/style/test/test_animations.html. We end up
generating some ::before content, which causes us to style the new subtree at [1]. In
StyleNewSubtree, we fail the !postTraversalRequired assertion because
PrepareAndTraverseSubtree decided to traverse the tree twice (once to style it, and again
to restyle it for animations), and return that a post-traversal is needed.
The reason this issue happens with my NAC patches and not without is that we were previously
filtering out generated ::before content from the servo traversal, so the servo traversal
wouldn't have reached it and (presumably) the animation restyle wouldn't have happened and
we wouldn't have returned true for needing a post-traversal.
[1] http://searchfox.org/mozilla-central/rev/c48398abd9f0f074c69f2223260939e30e8f99a8/layout/base/nsCSSFrameConstructor.cpp#1918
MozReview-Commit-ID: 8tgzLjV8B3A
2017-03-24 09:40:30 -07:00
Emilio Cobos Álvarez
6c40f8a40b
Bug 1296516: Tidy RestyleManager::ContentStateChanged. r=heycam
...
MozReview-Commit-ID: 7iWc6JvljhT
2017-03-20 22:28:13 +01:00
Hiroyuki Ikezoe
843466ec0d
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
--HG--
extra : rebase_source : fdff59771b81518509dfd52e73d3f63ddb82390d
2017-03-10 11:53:19 +09:00
Bobby Holley
fa5229bbea
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
Bobby Holley
e1e1470fda
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
Cameron McCormack
d075b281e3
Bug 1297899 - Part 5: Move refcounting from concrete restyle manager classes up to RestyleManager. r=bholley
...
MozReview-Commit-ID: 2KNfNCQzIIE
--HG--
extra : rebase_source : bc788e378c6239554b27efee23d3362fe2f44a78
2017-02-13 11:21:33 +08:00
Cameron McCormack
eddea92878
Bug 1297899 - Part 3: Rename RestyleManager to GeckoRestyleManager and RestyleManagerBase to RestyleManager. r=bholley
...
MozReview-Commit-ID: fFTZKwmGJm
--HG--
extra : rebase_source : 42b99c8a9c5616999abae2d195d16547f1fbc80f
2017-02-13 11:21:32 +08:00
Cameron McCormack
59395be5f8
Bug 1297899 - Part 2: Rename RestyleManagerBase.{h,cpp} to RestyleManager.{h,cpp}. r=bholley
...
MozReview-Commit-ID: JVsfYommCoI
--HG--
rename : layout/base/RestyleManagerBase.cpp => layout/base/RestyleManager.cpp
extra : rebase_source : 45661c0bffb1bcdbe1496a54ca1d132663d63268
2017-02-13 11:21:31 +08:00
Cameron McCormack
41cbd56383
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
a7c175e671
Bug 1321284 - Part 5: Process document level NAC when restyling. r=bholley
...
MozReview-Commit-ID: GigSrTHXXte
--HG--
extra : rebase_source : 30d6f5b3b32c921ae15e69b29a9cc3d5372ad8bc
2016-12-01 16:19:50 +08:00
Bobby Holley
f8c9d884fc
Bug 1317016
- Basic infrastructure for RestyleHint-driven traversal. r=emilio
...
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Cameron McCormack
4406edcd3a
Bug 1318238 - Clear all ServoNodeData during style set shutdown. r=bholley
...
MozReview-Commit-ID: 9MvBTAWeawC
2016-11-18 16:54:10 +08:00
Xidorn Quan
67de44415a
Bug 1294299 part 13 - Post restyle event with style attribute hint for style change. r=heycam
...
MozReview-Commit-ID: 8quLmF0xaxv
--HG--
extra : source : 756be1f6f24db58250575910149e3c63f2320615
2016-11-03 14:41:02 +11:00
Xidorn Quan
3c3f76a8e1
Bug 1309868 part 2 - Use const nsIContent pointer in some layout utils. r=heycam
...
MozReview-Commit-ID: 5GMave4FS48
--HG--
extra : source : 60d203eaa11b53f14a8c3736498f991d8e3615b1
2016-10-18 15:29:03 +11:00
Bobby Holley
0ecda8e2e2
Bug 1292279 - Add a helper to get the real container and use it in nsPresShell::Content{Inserted,Removed}. r=heycam
...
The existing static_cast checks are totally wrong, by the way, since
nsIDocuments are never nsIContent. Looks like they were erroneously
added in bug 862763.
2016-08-25 21:36:41 -07:00
Bobby Holley
bfbb6b5feb
Bug 1292279 - Explicitly style new children in Content{Appended/Inserted} rather than using restyle hints. r=heycam
...
This gives us more control over what gets restyled when.
2016-08-25 21:36:32 -07:00
Bobby Holley
b61d7b5283
Bug 1292279 - Consult the dirty bits to determine whether we have pending restyles. r=heycam
...
The current mechanism assumes that everything can be expressed in terms of restyle
hints, which has several limitations (in particular, we can't specify that a
subtree is dirty without also claiming that the root is dirty, since eRestyleSubtree
implies eRestyleSelf).
We may eventually decide that restyles hints give us everything we need, but while
we're experimenting I'd like the flexibility to do things both ways.
2016-08-25 21:34:29 -07:00
Emilio Cobos Álvarez
e7bc43ddc7
Bug 1292618: Support basic pseudo-element restyling. r=heycam
...
:before and :after only, for now.
MozReview-Commit-ID: 9hLFvVhqIrN
2016-08-19 20:24:27 -07:00
Wes Kocher
02f300c352
Backed out 4 changesets (bug 1292618) because it was making merging things difficult a=backout
...
Backed out changeset 14733a383b4c (bug 1292618)
Backed out changeset 17dfe8bc5f76 (bug 1292618)
Backed out changeset d04597bd1109 (bug 1292618)
Backed out changeset 30f7696fea2d (bug 1292618)
2016-08-19 18:37:09 -07:00
Emilio Cobos Álvarez
6ca7e9e4f1
Bug 1292618: Support basic pseudo-element restyling. r=heycam
...
:before and :after only, for now.
MozReview-Commit-ID: 9hLFvVhqIrN
Signed-off-by: Emilio Cobos Álvarez <ecoal95@gmail.com>
2016-08-19 18:26:38 -07:00
Phil Ringnalda
b4f23026ee
Backed out 5 changesets (bug 1292618) for !mImageTracked assertion failures
...
CLOSED TREE
Backed out changeset 1d767147e160 (bug 1292618)
Backed out changeset e6034e58efe4 (bug 1292618)
Backed out changeset 928dd363efa0 (bug 1292618)
Backed out changeset 8e274c66ae7f (bug 1292618)
Backed out changeset 6c347701d343 (bug 1292618)
2016-08-19 00:23:42 -07:00
Emilio Cobos Álvarez
6614524248
Bug 1292618: Support basic pseudo-element restyling. r=heycam
...
:before and :after only, for now.
MozReview-Commit-ID: 9hLFvVhqIrN
2016-08-18 22:16:16 -07:00
Emilio Cobos Álvarez
5d8a772fcd
Bug 1290335: Make ProcessRestyledFrames non static, and tidy up a bit. r=heycam
...
MozReview-Commit-ID: 4aALVtI5DXT
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
789c630dba
Bug 1290335: Reuse the OverflowChangedTracker between both restyle managers. r=heycam
...
MozReview-Commit-ID: objnqfecZD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
5011eb626b
Bug 1290335: stylo: Assert the snapshot is taken in ServoRestyleManager::AttributeChanged. r=heycam
...
Also fixes an embarrassing typo in the implementation of
ServoElementSnapshot::AddAttrs.
MozReview-Commit-ID: 7LHZVLo6j60
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
7f36b64101
Bug 1290335: stylo: Allow processing change hints generated from Servo. r=heycam
...
MozReview-Commit-ID: Alc0wcXvHcD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
95abaaa872
Bug 1290335: Hoist frame-construction logic in RestyleManager to static members in RestyleManagerBase. r=heycam
...
MozReview-Commit-ID: BqywJXZ0CYU
2016-08-03 15:11:15 -07:00
Bobby Holley
5cc53812ef
Bug 1290214 - Make ServoRestyleManager::AttributeChanged a no-op. r=emilio
...
We do all the work we need to do with the snapshot model in AttributeWillChange.
2016-07-28 17:25:48 -07:00
Emilio Cobos Álvarez
042b18ee72
Bug 1288873: Don't propagate the IS_DIRTY flag down the whole tree, just make it
...
imply that all descendants are dirty. r=heycam
We're probably going to be a lot more smarter than this in the future, but since
there is work in progress to figure out how should we avoid running
selector-matching on the elements, this helps a lot with perf in the meantime.
MozReview-Commit-ID: CEb15JwHAdH
2016-07-27 09:35:20 -07:00
Emilio Cobos Álvarez
e51037a134
Bug 1287951: followup: use nsClassHashTable's IsEmpty instead of Count. r=me
...
MozReview-Commit-ID: 7flRcbykG4c
2016-07-22 13:27:52 -07:00
Emilio Cobos Álvarez
253dfd8aad
Bug 1287951: stylo: Add support for computing style hints from Servo. r=heycam
...
MozReview-Commit-ID: ALuJxcfAMuL
2016-07-21 16:57:52 -07:00
Emilio Cobos Álvarez
a77d2878ce
Bug 1287542: stylo: Implement ServoRestyleManager::HasPendingRestyles() r=bholley
...
MozReview-Commit-ID: JeDly0eqjka
--HG--
extra : rebase_source : 7d5673ba2199e6e1a564d4d22e705058447bc49d
2016-07-18 11:28:27 -07:00
Emilio Cobos Álvarez
1a49c35a07
Bug 1286445: stylo: Support restyles of non-pseudo content on state change. r=heycam
...
This includes, for example :hover.
Also removes the call to IsStyledByServo() in the document constructor, it's not
only unnecessary, but also we call UpdateStyleBackendType() too early.
MozReview-Commit-ID: 4YfCdmLoSxu
2016-07-16 16:22:12 -07:00
Emilio Cobos Álvarez
289ca90dc4
Bug 1285474: Add mozilla::RestyleManagerBase to share logic between RestyleManager and ServoRestyleManager. r=bholley
...
Partially implement some restyling APIs to take rid of some gecko-only code
paths.
MozReview-Commit-ID: L5i6Kr2Qars
2016-07-12 00:33:57 -07:00
Cameron McCormack
53c4d9df37
Bug 1270956 - Stub out some ServoRestyleManager methods. r=bholley
2016-05-06 14:19:57 -07:00
Cameron McCormack
60253e6183
Bug 1248864 - Part 2: Add skeleton ServoRestyleManager and a RestyleManagerHandle smart pointer. r=dholbert
2016-02-24 18:01:12 +11:00