searching for reviewer(bholley)
73b38134f4bf: servo: Merge #19787 - style: Make GeckoElement::has_class faster (from emilio:opt-has-class); r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 16 Jan 2018 15:15:01 -0600 - rev 451359
Push 8551 by ryanvm@gmail.com at 2018-01-17 15:17 +0000
servo: Merge #19787 - style: Make GeckoElement::has_class faster (from emilio:opt-has-class); r=bholley By force-inlining the fast path, and pulling out a branch that rust didn't manage to pull out. Source-Repo: https://github.com/servo/servo Source-Revision: 1ac35dc7abd0b984838dfa4be581a319158190a5
8be5c5375a90: Bug 1430164. Stop doing weird sandbox-callable-wrapping for DOM constructors. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 12 Jan 2018 14:28:28 -0500 - rev 450953
Push 8543 by ryanvm@gmail.com at 2018-01-16 14:33 +0000
Bug 1430164. Stop doing weird sandbox-callable-wrapping for DOM constructors. r=bholley This fixes DOM constructor identity in web extension content scripts to work as expected. MozReview-Commit-ID: Ab4sFWiMU6c
31e94d208ac2: servo: Merge #19751 - Clean up the selectors crate for a new crates.io release (from servo:selectors); r=bholley
Simon Sapin <simon.sapin@exyr.org> - Fri, 12 Jan 2018 16:55:12 -0600 - rev 450939
Push 8543 by ryanvm@gmail.com at 2018-01-16 14:33 +0000
servo: Merge #19751 - Clean up the selectors crate for a new crates.io release (from servo:selectors); r=bholley Source-Repo: https://github.com/servo/servo Source-Revision: 6ca651c0c8271ce185448e1db95b893a276eaed9
777faf67f590: Bug 1405635: Test that custom content doesn't inherit from the root element. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 05 Oct 2017 01:40:48 +0200 - rev 435583
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1405635: Test that custom content doesn't inherit from the root element. r=bholley MozReview-Commit-ID: GvjsdQk5Wt4
1df4622b548b: Bug 1405635: Test that custom content doesn't inherit from the root element. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 05 Oct 2017 01:40:48 +0200 - rev 435564
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1405635: Test that custom content doesn't inherit from the root element. r=bholley MozReview-Commit-ID: GvjsdQk5Wt4
7e8237735403: Bug 1403699 Part 1: Unify ServoBindings synchronization primitives into a single RWLock. r=bholley
Brad Werth <bwerth@mozilla.com> - Tue, 03 Oct 2017 12:57:38 -0700 - rev 435201
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403699 Part 1: Unify ServoBindings synchronization primitives into a single RWLock. r=bholley MozReview-Commit-ID: GdYLEQHiM1f
be0e197531f2: servo: Merge #18712 - stylo: use FnvHashMap everywhere, remove default HashMap construction methods (from Manishearth:fnv); r=bholley
Manish Goregaokar <manishsmail@gmail.com> - Tue, 03 Oct 2017 18:47:46 -0500 - rev 435072
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18712 - stylo: use FnvHashMap everywhere, remove default HashMap construction methods (from Manishearth:fnv); r=bholley r=bholley bug 1385971 Source-Repo: https://github.com/servo/servo Source-Revision: 89724c6b32c6c0b7673df6d5b735e057a392f51b
93de74a2302a: Bug 1403397 - Revert: Round hashglobe allocations up to the nearest page size. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Tue, 03 Oct 2017 10:09:08 -0700 - rev 435030
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403397 - Revert: Round hashglobe allocations up to the nearest page size. r=bholley This reverts commit a4aba77facc8ceab1e0d7f7d796075a6606b15c6. MozReview-Commit-ID: 7quMDoDmqxL
2a4030b05c35: Bug 1403397 - Revert: Protect the hashmaps outside of rebuilds. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Tue, 03 Oct 2017 10:08:56 -0700 - rev 435029
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403397 - Revert: Protect the hashmaps outside of rebuilds. r=bholley This reverts commit 80a3d080ad6f6ae8641443ba08e11a6e9eed260a.
bf6cec51bf0d: Bug 1403397 - Revert: Add a testing API. r=bholley
Bobby Holley <bobbyholley@gmail.com> - Tue, 03 Oct 2017 10:08:21 -0700 - rev 435028
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403397 - Revert: Add a testing API. r=bholley This reverts commit 4194b7dd8ec748c044a9b8b0967fd9d652ea342c.
3af8dc30dbc7: servo: Merge #18732 - Revert #18668 - Add mprotect diagnostics for HashMap crash (except for round-up-to-page behavior) (from bholley:revert_mprotect_diagnostics); r=bholley
Bobby Holley <bobbyholley@gmail.com> - Tue, 03 Oct 2017 14:45:33 -0500 - rev 435026
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18732 - Revert #18668 - Add mprotect diagnostics for HashMap crash (except for round-up-to-page behavior) (from bholley:revert_mprotect_diagnostics); r=bholley These diagnostics have served their purpose, time to remove them. https://bugzilla.mozilla.org/show_bug.cgi?id=1403397 Source-Repo: https://github.com/servo/servo Source-Revision: 0b69887387567d1bbaa93fe874014a925ef9fe05
03ac8608515f: servo: Merge #18703 - style: Allow passing an nth-index-cache to the invalidation code (from emilio:nth-index-cache-invalidate); r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 03 Oct 2017 00:40:03 -0500 - rev 434893
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18703 - style: Allow passing an nth-index-cache to the invalidation code (from emilio:nth-index-cache-invalidate); r=bholley style: Allow passing an nth-index-cache to the invalidation code. Source-Repo: https://github.com/servo/servo Source-Revision: 2a5121357a76e2b558ecd0dae7689d709b6a2b41
7d672562f7a5: servo: Merge #18666 - style: Avoid creating element data in Servo_ResolvePseudoStyle (from emilio:mathml-is-not-fun); r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 15:17:21 -0500 - rev 434415
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18666 - style: Avoid creating element data in Servo_ResolvePseudoStyle (from emilio:mathml-is-not-fun); r=bholley The reason the patch in bug 1402285 doesn't work is that we call this function multiple times with the same element. This fixes it. Bug: 1403465 Reviewed-by: bholley MozReview-Commit-ID: Ko9zirCOzTR Source-Repo: https://github.com/servo/servo Source-Revision: 24d75910ae852739a86557f8219335acf6338f65
8ef9a047e8c3: Bug 1403712: Crashtest. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:19:23 +0200 - rev 434406
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403712: Crashtest. r=bholley MozReview-Commit-ID: DtOKa8V4deq Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
51d9d64884e2: Bug 1403712: Clear the restyle root at the end of UnbindFromTree too. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:18:36 +0200 - rev 434405
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403712: Clear the restyle root at the end of UnbindFromTree too. r=bholley MozReview-Commit-ID: 7swfspMWUe6 Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
56032de853c4: Bug 1403712: Make some assertions not assert for conditions that may happen mid-unbind. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:17:41 +0200 - rev 434404
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403712: Make some assertions not assert for conditions that may happen mid-unbind. r=bholley MozReview-Commit-ID: DNSphdMismy Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
813556d9e389: Bug 1402094 - Blacklist about:reader from using stylo. r=bholley
Xidorn Quan <me@upsuper.org> - Thu, 28 Sep 2017 16:19:45 +1000 - rev 434183
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1402094 - Blacklist about:reader from using stylo. r=bholley MozReview-Commit-ID: 6cG1x1tcOwn
8d4f4b54141a: Bug 1403615: Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 27 Sep 2017 19:19:12 +0200 - rev 434178
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403615: Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley We don't follow this bit intentionally because we know that even if it's set, when none of the other two bits are set there are no other restyle / change hints down the tree. We rely on the frame constructor to clean the mess up, though, and it doesn't really do a good work about it. In particular, the case we're hitting on the test-case is: <body descendant-need-frames change=reconstruct style="display: table-column-group"> <div descendant-need-frames> <div descendant-need-frames> <span needs-frame></span> </div> </div> </body> When we see we need to reconstruct the body, we call ClearRestyleStateFromSubtree, but that doesn't do much now, since we don't follow the descendant-need-frames bits. Then, when we reconstruct the content, we arrive at[1] when constructing the first child <div>. The <div> flags have been cleared, but not the children's! Then a text-node is inserted in a <div>, breaking all sorts of invariants. This is the easiest fix. Other fixes include clearing the flags on SetAsUndisplayedContent. But that implies not clearing them in ShouldCreateItemsForChild, and doing that somewhere more sensible. I suspect it's not too hard, but that's a slightly more risky change, will do it if you prefer it. [1]: http://searchfox.org/mozilla-central/rev/3dbb47302e114219c53e99ebaf50c5cb727358ab/layout/base/nsCSSFrameConstructor.cpp#6092 MozReview-Commit-ID: 7026wkQLQkz
8ce27eeef766: Bug 1402094 - Blacklist about:reader from using stylo. r=bholley
Xidorn Quan <me@upsuper.org> - Thu, 28 Sep 2017 16:19:45 +1000 - rev 434174
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1402094 - Blacklist about:reader from using stylo. r=bholley MozReview-Commit-ID: 6cG1x1tcOwn
cf08f9815613: Bug 1403024 part 1 - Add nsContentUtils::SchemeIs helper function. r=bholley
Xidorn Quan <me@upsuper.org> - Tue, 26 Sep 2017 10:21:01 +1000 - rev 434115
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403024 part 1 - Add nsContentUtils::SchemeIs helper function. r=bholley MozReview-Commit-ID: 2NVc5QJSjl
060e7ed8536c: Bug 1401692 - Add crashtest. r=bholley.
Nicholas Nethercote <nnethercote@mozilla.com> - Tue, 26 Sep 2017 14:32:30 +1000 - rev 434030
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1401692 - Add crashtest. r=bholley. This required adding getMemoryReports() to SpecialPowers.
379e7e7bf80d: Bug 1403615: Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 27 Sep 2017 19:19:12 +0200 - rev 434011
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1403615: Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley We don't follow this bit intentionally because we know that even if it's set, when none of the other two bits are set there are no other restyle / change hints down the tree. We rely on the frame constructor to clean the mess up, though, and it doesn't really do a good work about it. In particular, the case we're hitting on the test-case is: <body descendant-need-frames change=reconstruct style="display: table-column-group"> <div descendant-need-frames> <div descendant-need-frames> <span needs-frame></span> </div> </div> </body> When we see we need to reconstruct the body, we call ClearRestyleStateFromSubtree, but that doesn't do much now, since we don't follow the descendant-need-frames bits. Then, when we reconstruct the content, we arrive at[1] when constructing the first child <div>. The <div> flags have been cleared, but not the children's! Then a text-node is inserted in a <div>, breaking all sorts of invariants. This is the easiest fix. Other fixes include clearing the flags on SetAsUndisplayedContent. But that implies not clearing them in ShouldCreateItemsForChild, and doing that somewhere more sensible. I suspect it's not too hard, but that's a slightly more risky change, will do it if you prefer it. [1]: http://searchfox.org/mozilla-central/rev/3dbb47302e114219c53e99ebaf50c5cb727358ab/layout/base/nsCSSFrameConstructor.cpp#6092 MozReview-Commit-ID: 7026wkQLQkz
9e70f9e36ef1: servo: Merge #18643 - Remove unlanded TakeFrom methods from nsstring_vendor (from mystor:nsstring_vendor_untake); r=bholley
Michael Layzell <michael@thelayzells.com> - Tue, 26 Sep 2017 13:30:03 -0500 - rev 433842
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18643 - Remove unlanded TakeFrom methods from nsstring_vendor (from mystor:nsstring_vendor_untake); r=bholley <!-- Please describe your changes on the following line: --> This should fix the build failures which are happening on autoland right now (e.g. https://treeherder.mozilla.org/logviewer.html#?job_id=133381254&repo=autoland&lineNumber=29416) I accidentally included changes from https://bugzilla.mozilla.org/show_bug.cgi?id=1377351 in the previous patch, despite those changes not landing in central yet. Oops. r? @emilio Source-Repo: https://github.com/servo/servo Source-Revision: 68533ac46b48b2d9b61f04a4e86b9c6a4fd6af77
5b642e09aacd: Bug 1402366: Mark datetimebox as not needing xul.css. r=bholley,jessica
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 22 Sep 2017 21:23:11 +0200 - rev 433482
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1402366: Mark datetimebox as not needing xul.css. r=bholley,jessica We create a datetimebox in content documents that gets an XBL binding on nsDateTimeControlFrame::CreateAnonymousContent. This is done during frame construction, and loading a datetimebox insert xul.css in the document, which causes invalidation to run. datetimebox styles are in html.css, and there's no rule in xul.css that styles it, so we don't need to load the stylesheet at all. MozReview-Commit-ID: 2SbIOoER2uB
f44a80769c80: Bug 1402684: Clear the servo data early, but the flags later, in UnbindFromTree. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 24 Sep 2017 19:16:10 +0200 - rev 433391
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1402684: Clear the servo data early, but the flags later, in UnbindFromTree. r=bholley MozReview-Commit-ID: 5rRGKq39smW
888ca78cd6ec: servo: Merge #18602 - style: Make sure to not run any style invalidation in an unstyled children only traversal (from emilio:invalidation-unstyled-only); r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 22 Sep 2017 21:16:43 -0500 - rev 433317
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
servo: Merge #18602 - style: Make sure to not run any style invalidation in an unstyled children only traversal (from emilio:invalidation-unstyled-only); r=bholley Bug: 1402472 Reviewed-by: bholley MozReview-Commit-ID: IFPA7LJpvsZ Source-Repo: https://github.com/servo/servo Source-Revision: 5a6b90b14ff709eab41493a05c8235c522d35250
7f9883dd37fe: Bug 1400936: Crashtests. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:12:33 +0200 - rev 433316
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1400936: Crashtests. r=bholley MozReview-Commit-ID: 6Q07StWSog Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
dba974e6b1b4: Bug 1400936: Clear servo data after children data is cleared, and allow setting the root as the document if the tree is mid-unbind. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:05:47 +0200 - rev 433315
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1400936: Clear servo data after children data is cleared, and allow setting the root as the document if the tree is mid-unbind. r=bholley This is the actual fix, and makes sure that the state is consistent even if we notify of state changes on a parent during unbind. We potentially do a bit more work than needed given we set the document as the root in that case instead of the parent which could potentially be the root itself, but that's not a huge deal I think, given these cases are rare. If this happens to be a perf problem, we may want to just drop the root during UnbindFromTree if aNullParent == true and the root is a descendant of `this`. MozReview-Commit-ID: A9d2igM0hMr Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
9ef85da5aea4: Bug 1400936: Only tear down the servo data in SetXBLInsertionParent if the parent actually changed. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:02:59 +0200 - rev 433314
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1400936: Only tear down the servo data in SetXBLInsertionParent if the parent actually changed. r=bholley This is the reason similar assertion failures can't be reproduced with elements and stuff like fieldset and form validity changes. nsBindingManager::ContentRemoved calls SetXBLInsertionParent, which clears all the Servo data from the subtree eagerly, which is a waste when the actual binding parent is the same (null). MozReview-Commit-ID: A5wLKfD4OTL Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
6a25312a3cb1: Bug 1400936: Remove dumb null check. r=bholley
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:02:30 +0200 - rev 433313
Push 8114 by jlorenzo@mozilla.com at 2017-11-02 16:33 +0000
Bug 1400936: Remove dumb null check. r=bholley MozReview-Commit-ID: CLs2UcA8DF9 Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
81ac511f7ff4: Bug 1405635 - Test that custom content doesn't inherit from the root element. r=bholley, a=ritu
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 05 Oct 2017 01:40:48 +0200 - rev 432298
Push 7927 by ryanvm@gmail.com at 2017-10-09 18:10 +0000
Bug 1405635 - Test that custom content doesn't inherit from the root element. r=bholley, a=ritu MozReview-Commit-ID: GvjsdQk5Wt4
b2fab82b2d77: Bug 1403699 - Unify ServoBindings synchronization primitives into a single RWLock. r=bholley, a=ritu
Brad Werth <bwerth@mozilla.com> - Tue, 03 Oct 2017 12:57:38 -0700 - rev 432262
Push 7923 by ryanvm@gmail.com at 2017-10-09 15:16 +0000
Bug 1403699 - Unify ServoBindings synchronization primitives into a single RWLock. r=bholley, a=ritu MozReview-Commit-ID: GdYLEQHiM1f
3a3dd3b7cfc6: Bug 1385971 - #18712 - stylo: use FnvHashMap everywhere, remove default HashMap construction methods (from Manishearth:fnv); r=bholley,a=ritu
Manish Goregaokar <manishsmail@gmail.com> - Tue, 03 Oct 2017 18:47:46 -0500 - rev 432198
Push 7899 by bholley@mozilla.com at 2017-10-05 05:13 +0000
Bug 1385971 - #18712 - stylo: use FnvHashMap everywhere, remove default HashMap construction methods (from Manishearth:fnv); r=bholley,a=ritu r=bholley bug 1385971 Source-Repo: https://github.com/servo/servo Source-Revision: 89724c6b32c6c0b7673df6d5b735e057a392f51b MozReview-Commit-ID: 9xwpLDsyXef
1c7e7fda6b0d: Bug 1403712 - Crashtest. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:19:23 +0200 - rev 432068
Push 7874 by ryanvm@gmail.com at 2017-10-02 16:29 +0000
Bug 1403712 - Crashtest. r=bholley, a=sledru MozReview-Commit-ID: DtOKa8V4deq Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
fd9bd6556ea8: Bug 1403712 - Clear the restyle root at the end of UnbindFromTree too. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:18:36 +0200 - rev 432067
Push 7874 by ryanvm@gmail.com at 2017-10-02 16:29 +0000
Bug 1403712 - Clear the restyle root at the end of UnbindFromTree too. r=bholley, a=sledru MozReview-Commit-ID: 7swfspMWUe6 Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
c5ae2d14772f: Bug 1403712 - Make some assertions not assert for conditions that may happen mid-unbind. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 14:17:41 +0200 - rev 432066
Push 7874 by ryanvm@gmail.com at 2017-10-02 16:29 +0000
Bug 1403712 - Make some assertions not assert for conditions that may happen mid-unbind. r=bholley, a=sledru MozReview-Commit-ID: DNSphdMismy Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
5a5d0e596c1d: Bug 1403465 - style: Avoid creating element data in Servo_ResolvePseudoStyle. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 28 Sep 2017 10:40:02 +0200 - rev 432061
Push 7873 by ryanvm@gmail.com at 2017-10-02 15:43 +0000
Bug 1403465 - style: Avoid creating element data in Servo_ResolvePseudoStyle. r=bholley, a=sledru The reason the patch in bug 1402285 doesn't work is that we call this function multiple times with the same element. This fixes it. MozReview-Commit-ID: Ko9zirCOzTR
dade9951a461: Bug 1403615 - Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 27 Sep 2017 19:19:12 +0200 - rev 432044
Push 7872 by ryanvm@gmail.com at 2017-10-02 15:07 +0000
Bug 1403615 - Also follow the NODE_DESCENDANTS_NEED_FRAMES bit in ClearRestyleStateFromSubtree. r=bholley, a=sledru We don't follow this bit intentionally because we know that even if it's set, when none of the other two bits are set there are no other restyle / change hints down the tree. We rely on the frame constructor to clean the mess up, though, and it doesn't really do a good work about it. In particular, the case we're hitting on the test-case is: <body descendant-need-frames change=reconstruct style="display: table-column-group"> <div descendant-need-frames> <div descendant-need-frames> <span needs-frame></span> </div> </div> </body> When we see we need to reconstruct the body, we call ClearRestyleStateFromSubtree, but that doesn't do much now, since we don't follow the descendant-need-frames bits. Then, when we reconstruct the content, we arrive at[1] when constructing the first child <div>. The <div> flags have been cleared, but not the children's! Then a text-node is inserted in a <div>, breaking all sorts of invariants. This is the easiest fix. Other fixes include clearing the flags on SetAsUndisplayedContent. But that implies not clearing them in ShouldCreateItemsForChild, and doing that somewhere more sensible. I suspect it's not too hard, but that's a slightly more risky change, will do it if you prefer it. [1]: http://searchfox.org/mozilla-central/rev/3dbb47302e114219c53e99ebaf50c5cb727358ab/layout/base/nsCSSFrameConstructor.cpp#6092 MozReview-Commit-ID: 7026wkQLQkz
35bae846b629: Bug 1402094 - Blacklist about:reader from using stylo. r=bholley, a=sledru
Xidorn Quan <me@upsuper.org> - Thu, 28 Sep 2017 16:19:45 +1000 - rev 432036
Push 7871 by ryanvm@gmail.com at 2017-10-02 14:28 +0000
Bug 1402094 - Blacklist about:reader from using stylo. r=bholley, a=sledru MozReview-Commit-ID: 6cG1x1tcOwn
87e4233eab27: Bug 1403024 - Part 1: Add nsContentUtils::SchemeIs helper function. r=bholley, a=sledru
Xidorn Quan <me@upsuper.org> - Tue, 26 Sep 2017 10:21:01 +1000 - rev 431950
Push 7844 by ryanvm@gmail.com at 2017-09-28 14:49 +0000
Bug 1403024 - Part 1: Add nsContentUtils::SchemeIs helper function. r=bholley, a=sledru MozReview-Commit-ID: 2NVc5QJSjl
12d437dedc4d: Bug 1402366 - Mark datetimebox as not needing xul.css. r=bholley, r=jessica, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 22 Sep 2017 21:23:11 +0200 - rev 431932
Push 7843 by ryanvm@gmail.com at 2017-09-28 13:51 +0000
Bug 1402366 - Mark datetimebox as not needing xul.css. r=bholley, r=jessica, a=sledru We create a datetimebox in content documents that gets an XBL binding on nsDateTimeControlFrame::CreateAnonymousContent. This is done during frame construction, and loading a datetimebox insert xul.css in the document, which causes invalidation to run. datetimebox styles are in html.css, and there's no rule in xul.css that styles it, so we don't need to load the stylesheet at all. MozReview-Commit-ID: 2SbIOoER2uB
1512bd018892: Bug 1402472 - servo: style: Make sure to not run any style invalidation in an unstyled children only traversal. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 22 Sep 2017 21:16:43 -0500 - rev 431852
Push 7822 by ryanvm@gmail.com at 2017-09-25 14:41 +0000
Bug 1402472 - servo: style: Make sure to not run any style invalidation in an unstyled children only traversal. r=bholley, a=sledru MozReview-Commit-ID: IFPA7LJpvsZ Source-Repo: https://github.com/servo/servo Source-Revision: 5a6b90b14ff709eab41493a05c8235c522d35250
3fa652b178a2: Bug 1402684 - Clear the servo data early, but the flags later, in UnbindFromTree. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Sun, 24 Sep 2017 19:16:10 +0200 - rev 431840
Push 7821 by ryanvm@gmail.com at 2017-09-25 14:09 +0000
Bug 1402684 - Clear the servo data early, but the flags later, in UnbindFromTree. r=bholley, a=sledru MozReview-Commit-ID: 5rRGKq39smW
99992ed2b3f3: Bug 1400936 - Crashtests. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:12:33 +0200 - rev 431839
Push 7821 by ryanvm@gmail.com at 2017-09-25 14:09 +0000
Bug 1400936 - Crashtests. r=bholley, a=sledru MozReview-Commit-ID: 6Q07StWSog Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
ca0193447310: Bug 1400936 - Clear servo data after children data is cleared, and allow setting the root as the document if the tree is mid-unbind. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:05:47 +0200 - rev 431838
Push 7821 by ryanvm@gmail.com at 2017-09-25 14:09 +0000
Bug 1400936 - Clear servo data after children data is cleared, and allow setting the root as the document if the tree is mid-unbind. r=bholley, a=sledru This is the actual fix, and makes sure that the state is consistent even if we notify of state changes on a parent during unbind. We potentially do a bit more work than needed given we set the document as the root in that case instead of the parent which could potentially be the root itself, but that's not a huge deal I think, given these cases are rare. If this happens to be a perf problem, we may want to just drop the root during UnbindFromTree if aNullParent == true and the root is a descendant of `this`. MozReview-Commit-ID: A9d2igM0hMr Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
6b96a0fab002: Bug 1400936 - Only tear down the servo data in SetXBLInsertionParent if the parent actually changed. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:02:59 +0200 - rev 431837
Push 7821 by ryanvm@gmail.com at 2017-09-25 14:09 +0000
Bug 1400936 - Only tear down the servo data in SetXBLInsertionParent if the parent actually changed. r=bholley, a=sledru This is the reason similar assertion failures can't be reproduced with elements and stuff like fieldset and form validity changes. nsBindingManager::ContentRemoved calls SetXBLInsertionParent, which clears all the Servo data from the subtree eagerly, which is a waste when the actual binding parent is the same (null). MozReview-Commit-ID: A5wLKfD4OTL Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2d4c045f3066: Bug 1400936 - Remove dumb null check. r=bholley, a=sledru
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 23 Sep 2017 00:02:30 +0200 - rev 431836
Push 7821 by ryanvm@gmail.com at 2017-09-25 14:09 +0000
Bug 1400936 - Remove dumb null check. r=bholley, a=sledru MozReview-Commit-ID: CLs2UcA8DF9 Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
ae92b4765e63: Bug 1401792 - Release assert when adopting element with style data across style backend. r=bholley
Xidorn Quan <me@upsuper.org> - Thu, 21 Sep 2017 14:41:21 +1000 - rev 431673
Push 7785 by ryanvm@gmail.com at 2017-09-21 13:39 +0000
Bug 1401792 - Release assert when adopting element with style data across style backend. r=bholley MozReview-Commit-ID: 6D6bvSJHEcS
18723c6944b1: Bug 1400540 - Decide style backend type based on principal. r=bholley
Xidorn Quan <me@upsuper.org> - Wed, 20 Sep 2017 08:26:53 +1000 - rev 431336
Push 7782 by ryanvm@gmail.com at 2017-09-20 11:51 +0000
Bug 1400540 - Decide style backend type based on principal. r=bholley MozReview-Commit-ID: A4y9Shdbr7g
5fa2260faa05: Bug 1399006 - Invoke PurgeCachedImages to release object in main thread while ServoTraversal. r=bholley
vincentliu <vliu@mozilla.com> - Tue, 19 Sep 2017 15:13:27 +0800 - rev 431165
Push 7781 by ryanvm@gmail.com at 2017-09-20 00:42 +0000
Bug 1399006 - Invoke PurgeCachedImages to release object in main thread while ServoTraversal. r=bholley