New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Gecko Bug 1453702] css-display] Move unboxing to style, and handle display: contents before other suppressions. #10489

Merged
merged 1 commit into from Apr 17, 2018

Conversation

Projects
None yet
4 participants
@moz-wptsync-bot
Collaborator

moz-wptsync-bot commented Apr 16, 2018

This also adopts the resolution of 1 while at it, and switches XUL to not
support display: contents until a use case appears.

This makes our behavior consistent both with the spec and also in terms of
handling dynamic changes to stuff that would otherwise get suppressed.

Also makes us consistent with both Blink and WebKit in terms of computed style.
We were the only ones respecting "behaves as display: none" without actually
computing to display: none. Will file a spec issue to get that changed.

It also makes us match Blink and WebKit in terms of respecting display: contents
before other suppressions, see the reftest which I didn't write as a WPT
(because there's no spec supporting neither that or the opposite of what we do),
where a element respects display: contents even though if it had any other
kind of display value we'd suppress the frame for it and all the descendants
since it's an SVG element in a non-SVG subtree.

Also, this removes the page-break bit from the display: contents loop, which I
think is harmless.

As long as the tests under style are based in namespace id / node name /
traversal parent, this should not make style sharing go wrong in any way, since
that's the first style sharing check we do at 2.

The general idea under this change is making all nodes with computed style of
display: contents actually honor it. Otherwise there's no way of making the
setup sound except re-introducing something similar to all the state tracking
removed in bug 1303605.

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1453702
gecko-commit: 43862b2ee72eec858f509ce3b9cb5c6fa96194ba
gecko-integration-branch: mozilla-inbound
gecko-reviewers: mats, xidorn

css-display] Move unboxing to style, and handle display: contents bef…
…ore other suppressions.

This also adopts the resolution of [1] while at it, and switches XUL to not
support display: contents until a use case appears.

This makes our behavior consistent both with the spec and also in terms of
handling dynamic changes to stuff that would otherwise get suppressed.

Also makes us consistent with both Blink and WebKit in terms of computed style.
We were the only ones respecting "behaves as display: none" without actually
computing to display: none. Will file a spec issue to get that changed.

It also makes us match Blink and WebKit in terms of respecting display: contents
before other suppressions, see the reftest which I didn't write as a WPT
(because there's no spec supporting neither that or the opposite of what we do),
where a <g> element respects display: contents even though if it had any other
kind of display value we'd suppress the frame for it and all the descendants
since it's an SVG element in a non-SVG subtree.

Also, this removes the page-break bit from the display: contents loop, which I
think is harmless.

As long as the tests under style are based in namespace id / node name /
traversal parent, this should not make style sharing go wrong in any way, since
that's the first style sharing check we do at [2].

The general idea under this change is making all nodes with computed style of
display: contents actually honor it. Otherwise there's no way of making the
setup sound except re-introducing something similar to all the state tracking
removed in bug 1303605.

[1]: w3c/csswg-drafts#2167
[2]: https://searchfox.org/mozilla-central/rev/fca4426325624fecbd493c31389721513fc49fef/servo/components/style/sharing/mod.rs#700
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1453702
gecko-commit: 43862b2ee72eec858f509ce3b9cb5c6fa96194ba
gecko-integration-branch: mozilla-inbound
gecko-reviewers: mats, xidorn
@wpt-pr-bot

Already reviewed downstream.

@w3c-bots

This comment has been minimized.

w3c-bots commented Apr 16, 2018

Build PASSED

Started: 2018-04-16 11:49:39
Finished: 2018-04-16 11:58:25

Failing Jobs

  • build_css

View more information about this build on:

@moz-wptsync-bot moz-wptsync-bot merged commit 4358fc0 into master Apr 17, 2018

1 of 2 checks passed

upstream/gecko Landed on mozilla-central
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@moz-wptsync-bot moz-wptsync-bot deleted the gecko/1453702 branch Apr 17, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment