Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Issue 2460813002: Make slots in non-shadow trees participate in a flat tree (Closed)

Created:
4 years, 1 month ago by hayato
Modified:
4 years, 1 month ago
Reviewers:
kochi
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, blink-reviews-style_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof, webcomponents-bugzilla_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make slots in non-shadow trees participate in a flat tree It has required non-trivial efforts to exclude slots in non-shadow trees from a flat tree so far. Although this behavior is consistent with that in shadow trees, this increased code complexity because distributed nodes of a slot in non-shadow tree are not calculated in a part of normal distribution calculation flow. Since it is hard to maintain two different life cycles of distributions, we have been receiving not-a-few crash reports from cluster fuzz. The benefit of keeping the current behavior is small; there is no useful use case for a slot in a non-shadow tree in real world. To make the code simple and stable, it would be better to make a slot in a non-shadow tree participate in a flat tree, as normal elements. Note that this new behavior itself is spec compliant, however, it would create a layout box by default because Blink does not support "display: contents" yet. Once Blink supports "display: contents" in the future, a slot does not crate a layout box by default, even though it participates in a flat tree. A slot in shadow trees does not participate in a flat tree. This does not change. This CL should have no real impacts on users because there is no use cases for slots in non-shadow trees in real world. It is likely that cluster fuzz is the only use case. To be precise, non-shadow trees should be read as "non-v1-shadow" trees. BUG=659761, 660265 Committed: https://crrev.com/6aa048c86241d01d2084127c980d620f39edb8b1 Cr-Commit-Position: refs/heads/master@{#428686}

Patch Set 1 #

Patch Set 2 : update expectation #

Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -48 lines) Patch
M third_party/WebKit/LayoutTests/TestExpectations View 1 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/shadow-dom/crashes/slots-nested-in-document-tree-crash.html View 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/ElementResolveContext.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Element.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/LayoutTreeBuilder.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Node.h View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/Node.cpp View 1 1 chunk +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/dom/NodeComputedStyle.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/shadow/DistributedNodes.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp View 3 chunks +13 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp View 1 chunk +6 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/editing/Position.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLSlotElement.h View 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLSlotElement.cpp View 5 chunks +25 lines, -21 lines 0 comments Download

Messages

Total messages: 29 (20 generated)
hayato
PTAL
4 years, 1 month ago (2016-10-28 09:56:35 UTC) #5
kochi
lgtm % nits Could you mark imported/csswg-test/css-scoping-1/css-scoping-shadow-slot-fallback.html as [ Failure ] in LayoutTests/TestExpectations and link ...
4 years, 1 month ago (2016-10-31 05:45:44 UTC) #13
hayato
update expectation
4 years, 1 month ago (2016-10-31 07:09:06 UTC) #15
hayato
On 2016/10/31 at 05:45:44, kochi wrote: > lgtm % nits > > Could you mark ...
4 years, 1 month ago (2016-10-31 07:12:33 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2460813002/20001
4 years, 1 month ago (2016-10-31 07:13:20 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/307795)
4 years, 1 month ago (2016-10-31 08:09:26 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2460813002/20001
4 years, 1 month ago (2016-10-31 10:16:48 UTC) #26
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 1 month ago (2016-10-31 11:32:47 UTC) #27
commit-bot: I haz the power
4 years, 1 month ago (2016-10-31 11:34:58 UTC) #29
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/6aa048c86241d01d2084127c980d620f39edb8b1
Cr-Commit-Position: refs/heads/master@{#428686}

Powered by Google App Engine
This is Rietveld 408576698