New issue
Advanced search Search tips

Issue 776656 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug


Sign in to add a comment

Implement Incremental Shadow DOM

Project Member Reported by hayato@chromium.org, Oct 20 2017

Issue description

This is a meta bug to track all efforts to implement "Incremental Shadow DOM".

Design Doc: https://docs.google.com/document/d/1R9J8CVaSub_nbaVQwwm3NjCoZye4feJ7ft7tVe5QerM/edit#
 
Showing comments 5 - 104 of 104 Older
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a2707717c7a7702ea31f84bcee37370c71847a1

commit 8a2707717c7a7702ea31f84bcee37370c71847a1
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Nov 09 18:06:09 2017

Rename SupportsDistribution to SupportsAssignment in HTMLSlotElement

"Distribution" is likely a word which implies "an old mechanism without IncrementalShadowDOM".
SupportsAssignment would be better here.

Bug:  776656 
Change-Id: Id1cfbbb9df054b7f0a47352c15aaf0bd57203792
Reviewed-on: https://chromium-review.googlesource.com/760117
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515205}
[modify] https://crrev.com/8a2707717c7a7702ea31f84bcee37370c71847a1/third_party/WebKit/Source/core/dom/FlatTreeTraversal.cpp
[modify] https://crrev.com/8a2707717c7a7702ea31f84bcee37370c71847a1/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/8a2707717c7a7702ea31f84bcee37370c71847a1/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.cc
[modify] https://crrev.com/8a2707717c7a7702ea31f84bcee37370c71847a1/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/8a2707717c7a7702ea31f84bcee37370c71847a1/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31070df4c130e0c97a8e44aff50a79684837f8a9

commit 31070df4c130e0c97a8e44aff50a79684837f8a9
Author: Hayato Ito <hayato@chromium.org>
Date: Mon Nov 13 04:16:17 2017

[Incremental Shadow DOM] Resolve assigned nodes incrementally

This is a part of Incremental Shadow DOM.
Resolve slot's assigned nodes incrementally, on-demand basis, instead of
relying on UpdateDistribution phase.

This functionality is guarded by IncrementalShadowDOM runtime flag.

This CL also introduces the utility function used only for testing.
The utility function can process "Mini-DSL" for declarative Shadow DOM.
That is useful for writing a complex composed tree.

Since SlotAssingmentTest is the only user of the function, it is inside
of anonymous namespace.

Bug:  776656 
Change-Id: I3359f67eabe562261cdfe2467b17b6b5e46b3c72
Reviewed-on: https://chromium-review.googlesource.com/750941
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515883}
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/BUILD.gn
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/ElementShadow.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/ElementShadow.h
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/Node.h
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/ShadowRoot.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/ShadowRoot.h
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/SlotAssignment.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/SlotAssignment.h
[add] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/dom/ng/slot_assignment_test.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/31070df4c130e0c97a8e44aff50a79684837f8a9/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f01395ff3538341da0ea9eec0978a15afa26f3e2

commit f01395ff3538341da0ea9eec0978a15afa26f3e2
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Nov 16 07:41:48 2017

Add virtual/incremental-shadow-dom/fast/dom/shadow/shadowdom-for-button.html to TestExpectations

TBR=horo,kochi

Bug:  776656 , 785685 
Change-Id: I64e6ff2448de65db4dbb10d81d8f3c8e39a70157
Reviewed-on: https://chromium-review.googlesource.com/773796
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517017}
[modify] https://crrev.com/f01395ff3538341da0ea9eec0978a15afa26f3e2/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/21a8455188c47f244a84413dde6e610da6f64a57

commit 21a8455188c47f244a84413dde6e610da6f64a57
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Nov 17 06:16:56 2017

[IncrementalShadowDOM] Fix Slot's AttachLayoutTree, attaching assigned nodes

HTMLSlotElement::AttachLayoutTree should attach assigned nodes, instead of
distributed nodes, which is no longer valid in IncrementalShadowDOM.

Bug:  776656 
Change-Id: Id6d2561ea4f1b0a4e837b8c7744f573948e37dd4
Reviewed-on: https://chromium-review.googlesource.com/773323
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517325}
[modify] https://crrev.com/21a8455188c47f244a84413dde6e610da6f64a57/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/21a8455188c47f244a84413dde6e610da6f64a57/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/21a8455188c47f244a84413dde6e610da6f64a57/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53609b0173f42b54fe57ed50f9f6707adcb09c1c

commit 53609b0173f42b54fe57ed50f9f6707adcb09c1c
Author: Hayato Ito <hayato@chromium.org>
Date: Tue Nov 21 06:38:35 2017

[IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree

DCHECK fails if we set distribution recalc flag for v1 ElementShadow.

Bug:  776656 
Change-Id: I75a18d266fc35d6901063de526c0c0605a6ac029
Reviewed-on: https://chromium-review.googlesource.com/778648
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518148}
[modify] https://crrev.com/53609b0173f42b54fe57ed50f9f6707adcb09c1c/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/53609b0173f42b54fe57ed50f9f6707adcb09c1c/third_party/WebKit/Source/core/dom/ElementShadowV0.cpp

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b85db8c8ebf67afbedd0a602ad5e00f3ca5e12e

commit 6b85db8c8ebf67afbedd0a602ad5e00f3ca5e12e
Author: Mike West <mkwst@chromium.org>
Date: Tue Nov 21 09:38:39 2017

Revert "[IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree"

This reverts commit 53609b0173f42b54fe57ed50f9f6707adcb09c1c.

Reason for revert: 

```
The test this patch unskips is failing on WebKit Mac 10.10 (https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.10/builds/39818) and Mac 10.10 (https://build.chromium.org/p/chromium.mac/builders/Mac10.10%20Tests/builds/26277).
```

Original change's description:
> [IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree
> 
> DCHECK fails if we set distribution recalc flag for v1 ElementShadow.
> 
> Bug:  776656 
> Change-Id: I75a18d266fc35d6901063de526c0c0605a6ac029
> Reviewed-on: https://chromium-review.googlesource.com/778648
> Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
> Commit-Queue: Hayato Ito <hayato@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#518148}

TBR=kochi@chromium.org,hayato@chromium.org,rakina@chromium.org

Change-Id: I9466cf6bd67c41b5a2cd3d767ea327af68a75500
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  776656 
Reviewed-on: https://chromium-review.googlesource.com/781679
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518196}
[modify] https://crrev.com/6b85db8c8ebf67afbedd0a602ad5e00f3ca5e12e/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/6b85db8c8ebf67afbedd0a602ad5e00f3ca5e12e/third_party/WebKit/Source/core/dom/ElementShadowV0.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/171b40fd9b2067ff52e19ef24f7999685f9a64d4

commit 171b40fd9b2067ff52e19ef24f7999685f9a64d4
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Nov 22 06:49:38 2017

[IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree (part 2)

This fix is similar to https://chromium-review.googlesource.com/c/chromium/src/+/778648.

Bug:  776656 
Change-Id: Ia0a027cef3f4ec10027bc3dce486df36e8e91ff4
Reviewed-on: https://chromium-review.googlesource.com/781485
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518553}
[modify] https://crrev.com/171b40fd9b2067ff52e19ef24f7999685f9a64d4/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/171b40fd9b2067ff52e19ef24f7999685f9a64d4/third_party/WebKit/Source/core/dom/V0InsertionPoint.cpp

Blockedon: 787717
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2a79dbe8cf18cd4d55f63a20bb7293007984828

commit e2a79dbe8cf18cd4d55f63a20bb7293007984828
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Nov 22 10:08:09 2017

[IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree (part 3)

This fix is similar to
https://chromium-review.googlesource.com/c/chromium/src/+/778648.

virtual/incremental-shadow-dom/shadow-dom/nodetree-radio-node-list.html should
be fixed with this CL, however, it still crashes due to  crbug.com/787717 .

Once we can rewrite built-in elements so that they don't use Shadow DOM v0
feature, the crash would be gone.

Bug:  776656 
Change-Id: I0acde37be7688c9875cbbed633f3a527f91b66ed
Reviewed-on: https://chromium-review.googlesource.com/784740
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518593}
[modify] https://crrev.com/e2a79dbe8cf18cd4d55f63a20bb7293007984828/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/e2a79dbe8cf18cd4d55f63a20bb7293007984828/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/e2a79dbe8cf18cd4d55f63a20bb7293007984828/third_party/WebKit/Source/core/dom/V0InsertionPoint.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/33e50b11cae56bd0c7fb35e66f15f459e62e0e6b

commit 33e50b11cae56bd0c7fb35e66f15f459e62e0e6b
Author: Hayato Ito <hayato@chromium.org>
Date: Mon Nov 27 04:54:53 2017

Reland: [IncremetalShadowDOM] Don't set distribution recalc flag for v1 shadow tree

This relands commit 53609b0173f42b54fe57ed50f9f6707adcb09c1c.

It was reverted in 6b85db8c8ebf67afbedd0a602ad5e00f3ca5e12e because it caused
shadowdom-for-button.html's failure.

The test was removed in b22ea444bd85153593376836ddeba59827236477.

TBR=kochi

Bug:  776656 
Change-Id: Ia45ab529b019f85d90bfd324a47d65cdb64021a3
Reviewed-on: https://chromium-review.googlesource.com/784670
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519218}
[modify] https://crrev.com/33e50b11cae56bd0c7fb35e66f15f459e62e0e6b/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/33e50b11cae56bd0c7fb35e66f15f459e62e0e6b/third_party/WebKit/Source/core/dom/ElementShadowV0.cpp

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f92c9383c5adb9f864527ce612943de961ee8ae3

commit f92c9383c5adb9f864527ce612943de961ee8ae3
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Nov 30 06:13:01 2017

[IncrementalShadowDOM] Don't lazy-reattach assigned nodes when resolving assignments

In IncrementalShadowDOM, SlotAssignment resolves assignments on an on-demand basis.
That could happen even when rebuilding layout tree is in-progress.
That means NeedsStyleRecalc flag would be marked true even though rebuilding layout tree is
in progress. That would break the assumption, and DHECK() is hit.

virtual/incremental-shadow-dom/external/wpt/shadow-dom/slotchange-event.html would hit this
DCHECK.

The added two tests are minimized test cases of slotchange-event.html.

Note: A layout is still incomplete with IncrementalShadowDOM. That needs non-trivial efforts to
fix. I'll work on layout issues in the next quarter.


Bug:  776656 
Change-Id: Ia906dc9381464f87fc738e6a3b018bbf3b41ff74
Reviewed-on: https://chromium-review.googlesource.com/799012
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520459}
[modify] https://crrev.com/f92c9383c5adb9f864527ce612943de961ee8ae3/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/f92c9383c5adb9f864527ce612943de961ee8ae3/third_party/WebKit/LayoutTests/shadow-dom/crashes/add-host-child-element-crash.html
[add] https://crrev.com/f92c9383c5adb9f864527ce612943de961ee8ae3/third_party/WebKit/LayoutTests/shadow-dom/crashes/add-host-child-text-crash.html
[modify] https://crrev.com/f92c9383c5adb9f864527ce612943de961ee8ae3/third_party/WebKit/Source/core/dom/SlotAssignment.cpp

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dacffa53f8006988a14be38293ad77755803dac6

commit dacffa53f8006988a14be38293ad77755803dac6
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Tue Dec 19 05:29:43 2017

Remove passing failure expectations for incremental-shadow-dom

20 virtual/incremental-shadow-dom expected failures are already
passing.  Remove these entries from the TestExpectations file.

TBR=hayato@chromium.org

Bug:  776656 ,  788635 
Change-Id: I8483a342fe762f0ceb447108e3bb89e183613bb1
Reviewed-on: https://chromium-review.googlesource.com/832293
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524947}
[modify] https://crrev.com/dacffa53f8006988a14be38293ad77755803dac6/third_party/WebKit/LayoutTests/TestExpectations

Comment 18 by kochi@chromium.org, Jan 12 2018

Blockedon: 801463
Project Member

Comment 19 by bugdroid1@chromium.org, Jan 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5f0553ddd646ede47b384e254fc04853925bded

commit c5f0553ddd646ede47b384e254fc04853925bded
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Jan 18 09:08:21 2018

Update text expactations for Incremental Shadow DOM

virtual/incremental-shadow-dom/fast/dom/shadow/make-marquee-bold-by-exec-command-crash.html
no longer fails.

TBR=kochi

Bug:  801463 , 776656 
Change-Id: I06591caa583be7fb94e51df4bb57c8aea96e8190
Reviewed-on: https://chromium-review.googlesource.com/872691
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530094}
[modify] https://crrev.com/c5f0553ddd646ede47b384e254fc04853925bded/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5fd4debe210ddcc4ae14d0cadf76ea127b14de56

commit 5fd4debe210ddcc4ae14d0cadf76ea127b14de56
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Jan 18 11:32:47 2018

Support Incremental Shadow DOM in AssignedNodes and AssignedElements

Update AssignedNodes() and AssignedElements() so that they are aware of
Incremental Shadow DOM.

Update TestExpectations for tests which no longer fail.

Bug:  776656 
Change-Id: I3f5fc2a33388a378a3094861fd0930f7bf8391b3
Reviewed-on: https://chromium-review.googlesource.com/873052
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530120}
[modify] https://crrev.com/5fd4debe210ddcc4ae14d0cadf76ea127b14de56/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/5fd4debe210ddcc4ae14d0cadf76ea127b14de56/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/5fd4debe210ddcc4ae14d0cadf76ea127b14de56/third_party/WebKit/Source/core/html/HTMLSlotElement.h
[modify] https://crrev.com/5fd4debe210ddcc4ae14d0cadf76ea127b14de56/third_party/WebKit/Source/core/html/HTMLSlotElement.idl

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0c6c25fe6077d60dccd0461fd45e01455feb240

commit c0c6c25fe6077d60dccd0461fd45e01455feb240
Author: Rune Lillesveen <futhark@chromium.org>
Date: Fri Jan 19 07:21:29 2018

Pass parent details to FlatTreeTraversalNg::Parent().

We missed passing the ParentTraversalDetails argument from the old to
the Ng flat tree traversal class.

TEST=fast/dom/shadow/user-modify-inheritance.html

Bug:  776656 ,  660265 
Change-Id: Idfcdc97f5043483cc61720c88d970111f96064fc
Reviewed-on: https://chromium-review.googlesource.com/873770
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530446}
[modify] https://crrev.com/c0c6c25fe6077d60dccd0461fd45e01455feb240/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/c0c6c25fe6077d60dccd0461fd45e01455feb240/third_party/WebKit/Source/core/dom/FlatTreeTraversal.h
[modify] https://crrev.com/c0c6c25fe6077d60dccd0461fd45e01455feb240/third_party/WebKit/Source/core/dom/FlatTreeTraversalTest.cpp

Project Member

Comment 22 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df2aa84fb39dc57f7ad29e51a34636eb4ae820db

commit df2aa84fb39dc57f7ad29e51a34636eb4ae820db
Author: Rune Lillesveen <futhark@chromium.org>
Date: Fri Jan 19 10:43:29 2018

Use correct expected result for slot inheritance test.

Use a test expectation for the standard test env rather than in the
virtual test for IncrementalShadowDOM.

Bug:  660265 ,  776656 
Change-Id: Iaea0601924d22753b57e3ac9c2569f75e24cd9d0
Reviewed-on: https://chromium-review.googlesource.com/873973
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530479}
[modify] https://crrev.com/df2aa84fb39dc57f7ad29e51a34636eb4ae820db/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/df2aa84fb39dc57f7ad29e51a34636eb4ae820db/third_party/WebKit/LayoutTests/shadow-dom/css-style-inherit.html

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8be057e08e7a357c3d79b2132fb3d60b920e017c

commit 8be057e08e7a357c3d79b2132fb3d60b920e017c
Author: Hayato Ito <hayato@chromium.org>
Date: Tue Jan 30 05:55:26 2018

Remove an untriaged obsolete web platform test

It looks that event-path-001.html is obsolete and needs to be updated, however, let's remove it
because we have already other web platform tests for event.composedPath() in wpt/shadow-dom/.

Bug:  776656 
Change-Id: Ic6c5909ebc44c7260c8cc8ad9e935c406af3a070
Reviewed-on: https://chromium-review.googlesource.com/891038
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532781}
[modify] https://crrev.com/8be057e08e7a357c3d79b2132fb3d60b920e017c/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/b46ecfc4252311a13477b81715c84bc4f3dd8ee0/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4934d69bb25e23c1f555a03781ff690664ad3bfa

commit 4934d69bb25e23c1f555a03781ff690664ad3bfa
Author: Hayato Ito <hayato@chromium.org>
Date: Tue Jan 30 06:48:50 2018

Update text expectation for slots-in-flat-tree

Use a test expectation for the standard test env rather than in the
virtual test for IncrementalShadowDOM.

Bug:  660265 ,  776656 
Change-Id: I6b2d3b1dcf0ebcb94c5e592d6255d0dc8ee95469
Reviewed-on: https://chromium-review.googlesource.com/892680
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532796}
[modify] https://crrev.com/4934d69bb25e23c1f555a03781ff690664ad3bfa/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/4934d69bb25e23c1f555a03781ff690664ad3bfa/third_party/WebKit/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching-details-summary-expected.txt

Project Member

Comment 25 by bugdroid1@chromium.org, Feb 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73841ed6c2e12b9f30c922f43271c25cd52e26a6

commit 73841ed6c2e12b9f30c922f43271c25cd52e26a6
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Feb 01 03:20:42 2018

[Incremental Shadow DOM] Use FlattendAssignedNodes, instead of GetDistributedNodes

GetDistributedNodes() doesn't consider Incremental Shadow DOM.
Let's replace it with FlattendAssignedNodes, which is aware of Incremental Shadow DOM.

BUG:  776656 
Change-Id: Ie2730816552e7ea81289a9d44cb8f12f88a8adc9
Reviewed-on: https://chromium-review.googlesource.com/892604
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533544}
[modify] https://crrev.com/73841ed6c2e12b9f30c922f43271c25cd52e26a6/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/ff7a08db8ecc874f799a7689568e1d69ec757db4/third_party/WebKit/LayoutTests/external/wpt/css/css-scoping/slotted-invalidation-expected.txt
[delete] https://crrev.com/ff7a08db8ecc874f799a7689568e1d69ec757db4/third_party/WebKit/LayoutTests/platform/linux/virtual/incremental-shadow-dom/external/wpt/css/css-scoping/slotted-invalidation-expected.txt
[delete] https://crrev.com/ff7a08db8ecc874f799a7689568e1d69ec757db4/third_party/WebKit/LayoutTests/platform/mac/virtual/incremental-shadow-dom/external/wpt/css/css-scoping/slotted-invalidation-expected.txt
[modify] https://crrev.com/73841ed6c2e12b9f30c922f43271c25cd52e26a6/third_party/WebKit/Source/core/css/StyleEngine.cpp
[modify] https://crrev.com/73841ed6c2e12b9f30c922f43271c25cd52e26a6/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp
[modify] https://crrev.com/73841ed6c2e12b9f30c922f43271c25cd52e26a6/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/73841ed6c2e12b9f30c922f43271c25cd52e26a6/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 27 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3509b4a360edec9f566ae5d3cb5fe16878845a70

commit 3509b4a360edec9f566ae5d3cb5fe16878845a70
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Feb 02 01:27:42 2018

Make {First,Last}AssignedNode() be aware of Incremental Shadow DOM

Prevent a possible wrong usage of {First,Last}AssignedNode().

Bug:  776656 
Change-Id: I5d84b062c92cd89e40e3c051ae08bcefea658d25
Reviewed-on: https://chromium-review.googlesource.com/896725
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533898}
[modify] https://crrev.com/3509b4a360edec9f566ae5d3cb5fe16878845a70/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 28 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4f386642317f02e0bcf05edce370675c00e10e7

commit f4f386642317f02e0bcf05edce370675c00e10e7
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Feb 02 05:18:37 2018

Do some cleanups in HTMLSlotElement

There should be no functional changes from this patch.

Bug:  776656 
Change-Id: I975e32a2cd2fa2610352ce1c85f10b3afe5bc688
Reviewed-on: https://chromium-review.googlesource.com/897288
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533965}
[modify] https://crrev.com/f4f386642317f02e0bcf05edce370675c00e10e7/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/f4f386642317f02e0bcf05edce370675c00e10e7/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 29 by bugdroid1@chromium.org, Feb 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/852b8b1208cb2d0bd42a825405c3178b59fdb54a

commit 852b8b1208cb2d0bd42a825405c3178b59fdb54a
Author: Hayato Ito <hayato@chromium.org>
Date: Mon Feb 05 07:28:05 2018

Remove an unused function declaration

Bug:  776656 
Change-Id: I66511ee1f65e429c27ea3a9aac0b06a57845efc8
Reviewed-on: https://chromium-review.googlesource.com/899705
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534345}
[modify] https://crrev.com/852b8b1208cb2d0bd42a825405c3178b59fdb54a/third_party/WebKit/Source/core/dom/SlotAssignment.h

Blocking: 804047
Incremental Shadow DOM might resolve this issue too.
https://bugs.chromium.org/p/chromium/issues/detail?id=804047

Strictly, Incremental Shadow DOM is not blocking  bug 804047 , which can be fixed in another way, however, let me note that here.

Project Member

Comment 31 by bugdroid1@chromium.org, Feb 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e88b1b85575857b60a860e24b6b2a4418b351d0e

commit e88b1b85575857b60a860e24b6b2a4418b351d0e
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Feb 09 07:27:10 2018

Enable SlotInFlatTree flag for virtual/incremental-shadow-dom tests

Since IncrementalShadowDOM flag was splited into two flags at
https://chromium-review.googlesource.com/871150, enable SlotInFlatTree flag,
as well as IncrementalShadowDOM flag, for virtual/incremental-shadow-dom tests.

Bug:  776656 
Change-Id: I7d5957167dbb48a4e568ef7351f92af60c18ba92
Reviewed-on: https://chromium-review.googlesource.com/910471
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535664}
[modify] https://crrev.com/e88b1b85575857b60a860e24b6b2a4418b351d0e/third_party/WebKit/LayoutTests/VirtualTestSuites

Project Member

Comment 32 by bugdroid1@chromium.org, Feb 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abf82bb24d6519367686ecb665ec05741bb79caf

commit abf82bb24d6519367686ecb665ec05741bb79caf
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Feb 09 11:04:05 2018

Remove unnecessary entries from TestExpectations

These tests are passing.

TBR=kochi

Bug:  776656 
Change-Id: I6d151855fa5a82482fc8d5666b363cfc07658a96
Reviewed-on: https://chromium-review.googlesource.com/910332
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535684}
[modify] https://crrev.com/abf82bb24d6519367686ecb665ec05741bb79caf/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 33 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9b8b779d84bbb57ba48d9bd87db998882a4e702

commit b9b8b779d84bbb57ba48d9bd87db998882a4e702
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Feb 14 01:49:30 2018

Set IncrementalShadowDOM runtime flag explicitly for FlatTreeTraversal tests

This CL prepares for making IncrementalShadowDOM an experimental flag.

Bug:  776656 
Change-Id: I66e7d0d9d5d2c1c443a76f98818683d7670dc917
Reviewed-on: https://chromium-review.googlesource.com/916161
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536598}
[modify] https://crrev.com/b9b8b779d84bbb57ba48d9bd87db998882a4e702/third_party/WebKit/Source/core/dom/FlatTreeTraversalTest.cpp
[modify] https://crrev.com/b9b8b779d84bbb57ba48d9bd87db998882a4e702/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng_test.cc

Project Member

Comment 34 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8186d4508199891860f4f0aa54af8f98ab8745d

commit a8186d4508199891860f4f0aa54af8f98ab8745d
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Feb 14 01:50:51 2018

Add html/details_summary to virtual/incremental-shadow-dom test suites

I am preparing to make IncrementalShadowDOM runtime flag an experimental flag,
however, some tests in html_details are still failing when the flag is enabled.

To track and fix these surely, add these tests to virtual/incremental-shadow-dom test
suites.

Bug:  776656 
Change-Id: Ied9d5ff914fc998a04efac1d944708c313e82b7b
Reviewed-on: https://chromium-review.googlesource.com/914944
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536599}
[modify] https://crrev.com/a8186d4508199891860f4f0aa54af8f98ab8745d/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/a8186d4508199891860f4f0aa54af8f98ab8745d/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/a8186d4508199891860f4f0aa54af8f98ab8745d/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/html/details_summary/README.txt

Project Member

Comment 35 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe4fcad1c032cfd42ff96ac8c3c8531d7924e9d2

commit fe4fcad1c032cfd42ff96ac8c3c8531d7924e9d2
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Feb 14 03:40:33 2018

Revert "Add html/details_summary to virtual/incremental-shadow-dom test suites"

This reverts commit a8186d4508199891860f4f0aa54af8f98ab8745d.

Reason for revert: Test failures, as per
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty/builds/40283

Original change's description:
> Add html/details_summary to virtual/incremental-shadow-dom test suites
> 
> I am preparing to make IncrementalShadowDOM runtime flag an experimental flag,
> however, some tests in html_details are still failing when the flag is enabled.
> 
> To track and fix these surely, add these tests to virtual/incremental-shadow-dom test
> suites.
> 
> Bug:  776656 
> Change-Id: Ied9d5ff914fc998a04efac1d944708c313e82b7b
> Reviewed-on: https://chromium-review.googlesource.com/914944
> Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
> Commit-Queue: Hayato Ito <hayato@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#536599}

TBR=kochi@chromium.org,hayato@chromium.org,futhark@chromium.org

Change-Id: Iceaf52b9e359f254b7dd598ab3b0ba38215638c7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  776656 
Reviewed-on: https://chromium-review.googlesource.com/917882
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536637}
[modify] https://crrev.com/fe4fcad1c032cfd42ff96ac8c3c8531d7924e9d2/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/fe4fcad1c032cfd42ff96ac8c3c8531d7924e9d2/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/a9c4e0fda8e1bd1798230e5f0050052c4b185344/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/html/details_summary/README.txt

Project Member

Comment 36 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efe67d72929f8bc621bc62306dd73c8f4fff1add

commit efe67d72929f8bc621bc62306dd73c8f4fff1add
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Feb 14 06:08:03 2018

Re-land: Add html/details_summary to virtual/incremental-shadow-dom test suites

Original: a8186d4508199891860f4f0aa54af8f98ab8745d
Reverted: fe4fcad1c032cfd42ff96ac8c3c8531d7924e9d2

The first CL was reverted due to [ Crash ] entry for some tests, which should be
[ Crash Failure ].

Original description:

Add html/details_summary to virtual/incremental-shadow-dom test suites

I am preparing to make IncrementalShadowDOM runtime flag an experimental flag,
however, some tests in html_details are still failing when the flag is enabled.

To track and fix these surely, add these tests to virtual/incremental-shadow-dom test
suites.

TBR=kochi

Bug:  776656 
Change-Id: I3bc527b9b957d76c68d239068a079a280543fe85
Reviewed-on: https://chromium-review.googlesource.com/918141
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536660}
[modify] https://crrev.com/efe67d72929f8bc621bc62306dd73c8f4fff1add/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/efe67d72929f8bc621bc62306dd73c8f4fff1add/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/efe67d72929f8bc621bc62306dd73c8f4fff1add/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/html/details_summary/README.txt

Project Member

Comment 37 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ed1ca7b7916c4d0b895fbd7ea15c71dd99c3b604

commit ed1ca7b7916c4d0b895fbd7ea15c71dd99c3b604
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Feb 16 09:50:04 2018

Add assert to make sure that a node was detached, if necessary, after UpdateStyleAndLayoutTree

We should never leave any node which has a LayoutObject, but doesn't have a parent in a flat tree
after having run UpdateStyleAndLayoutTree. That means we forget to detach a node which should be
detached.

Update TestExpectations because some tests would hit this assertion when IncrementalShadowDOM is
enabled.

Bug:  776656 
Change-Id: I273b9ddd083766fe687aedb178fc6e0c65248fde
Reviewed-on: https://chromium-review.googlesource.com/920329
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537268}
[modify] https://crrev.com/ed1ca7b7916c4d0b895fbd7ea15c71dd99c3b604/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ed1ca7b7916c4d0b895fbd7ea15c71dd99c3b604/third_party/WebKit/Source/core/dom/Document.cpp

Project Member

Comment 38 by bugdroid1@chromium.org, Feb 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e59b6209b72609e4124efbbb989f1fe26a1dfb8

commit 7e59b6209b72609e4124efbbb989f1fe26a1dfb8
Author: Hayato Ito <hayato@chromium.org>
Date: Mon Feb 19 09:43:17 2018

Fix wording on AssertLayoutTreeUpdated comments

Address the review comment of
https://chromium-review.googlesource.com/c/chromium/src/+/920329/7#message-b9399a526b29ba08927301f8baec6c8d30c20682

TBR=futhark@chromium.org

Bug:  776656 
Change-Id: I3e6084b7dde05df54fddf38bfeb3220c9c585bb2
Reviewed-on: https://chromium-review.googlesource.com/923667
Commit-Queue: Hayato Ito <hayato@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537614}
[modify] https://crrev.com/7e59b6209b72609e4124efbbb989f1fe26a1dfb8/third_party/WebKit/Source/core/dom/Document.cpp

Project Member

Comment 40 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc32ee1f3375cbf3828f45992c6753f4166f4a19

commit cc32ee1f3375cbf3828f45992c6753f4166f4a19
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Mar 28 11:54:58 2018

Keep track of all pending slot assignments, and recalc all before UpdateStyle phase

For the purpose of rendering, Blink must calculate all pending slot assignments
before UpdateStyle phase. Unless that, a recursive RecalcStyle() may not
traverse a node which should be re-attached.

e.g. Suppose the following tree, where #d1 is assigned to a slot.

host
├──/shadow-root
│   └── slot name=s1
└── div id=d1 slot=s1

Then, we change #d1's slot attribute to s2, like:

> document.querySelector('#d1').setAttribute('slot', 's2');

host
├──/shadow-root
│   └── slot name=s1
└── div id=d1 slot=s2

In this case, #d1 should be removed from a LayoutTree. In other words, Blink
has to reattach #d1 somehow. However, if we don't recalc a slot assignment for
the shadow tree before UpdateStyle, a recursive RecalcStyle never traverses the
sub-tree because child-needs-style-recalc flag is not set for the node (and its
ancestor nodes). A flag should be set as a result of slot assignment recalc.

Thanks to the Incremental Shadow DOM, a slot assignemt recalc now becomes a
local operatoin on each shadow tree, rather than one global operation for every
shadow trees. We don't need to traverse a composed tree to recalc all. We can
recalc a slot assignment for each shadow tree directly, without traversing a
composed tree.

For a shadow tree which is not connected, we don't need to recalc its slot
assignment before UpdateStyle because such a shadow tree shouldn't have any
effect on rendering. Lazy slot assignment recalc is enough for such a shadow
tree.

This CL doesn't introduce any optimization to minimize the number of
to-be-reattached nodes. I'll optimize that as a next task. I'll use a sort of
dynamic programming there, as I did at
https://chromium-review.googlesource.com/c/chromium/src/+/535493 for
non-Incremental Shadow DOM.

Except for the performance, this CL should be the last part of Incremental
Shadow DOM from the external behavior's perspective. Style and Layout should
work correctly after this CL, even with Incremental Shadow DOM.

BUG= 776656 

Change-Id: Id18e87ff59d92863c68c571e7db09253c08aa91f
Reviewed-on: https://chromium-review.googlesource.com/964062
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546458}
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/layout-slot-no-longer-assigned.html
[add] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/layout-slot-no-longer-fallback.html
[add] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/reference/empty.html
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/ShadowRoot.cpp
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/ShadowRoot.h
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/SlotAssignment.cpp
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/SlotAssignment.h
[add] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/ng/slot_assignment_engine.cc
[add] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/dom/ng/slot_assignment_engine.h
[modify] https://crrev.com/cc32ee1f3375cbf3828f45992c6753f4166f4a19/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp

Project Member

Comment 43 by bugdroid1@chromium.org, Mar 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9125ca62c6bf65e24d275a8a220c68360619d2dd

commit 9125ca62c6bf65e24d275a8a220c68360619d2dd
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Mar 29 08:41:35 2018

Introduce flat_tree_children_ in preparation for reducing the number of will-be-reattached nodes

This CL is just a refactoring so that we can lazyReattach nodes in once place.

In follow-up CLs, I'll reduce the number of LazyReattached nodes, unifying this with
dynamic programming code as HTMLSlotElement::LazyReattachDistributedNodesIfNeeded does.

Bug:  776656 
Change-Id: I17813a39c57cc5bbea5e8c529805123ccabd4c69
Reviewed-on: https://chromium-review.googlesource.com/984917
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546771}
[modify] https://crrev.com/9125ca62c6bf65e24d275a8a220c68360619d2dd/third_party/WebKit/Source/core/dom/SlotAssignment.cpp
[modify] https://crrev.com/9125ca62c6bf65e24d275a8a220c68360619d2dd/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/9125ca62c6bf65e24d275a8a220c68360619d2dd/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 44 by 42576172...@developer.gserviceaccount.com, Mar 29 2018

📍 Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/14d7c0fb440000
Project Member

Comment 45 by 42576172...@developer.gserviceaccount.com, Mar 29 2018

📍 Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/160625f3440000
Project Member

Comment 48 by 42576172...@developer.gserviceaccount.com, Mar 29 2018

📍 Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/105697fb440000
Project Member

Comment 49 by 42576172...@developer.gserviceaccount.com, Mar 29 2018

📍 Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/15d47d5b440000
Project Member

Comment 50 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d94b72dc8998f6f947adb10c511e6c6e62fac5b

commit 7d94b72dc8998f6f947adb10c511e6c6e62fac5b
Author: Hayato Ito <hayato@chromium.org>
Date: Fri Mar 30 10:02:46 2018

[IncrementalShadowDOM] Use dynamic programming to reduce the number of reattached nodes

Make re-layout faster, when a DOM mutation happens and a flat tree structure is changed,
by detecting unnecessary reattaching, using dynamic programming.

The benchmark result is:

blink.shadow_dom
|                         | before    | after    |
| v1-small-deep-layout    | 184.072ms | 19.082ms |
| v1-small-shallow-layout | 0.79ms    | 0.50ms   |

Smaller is better. Note: IncrementalShadowDOM flag is enabled in either cases.


Bug:  776656 
Change-Id: Ie20344ccf12da3be9bdf5ac4763f6781353b1121
Reviewed-on: https://chromium-review.googlesource.com/985433
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547136}
[modify] https://crrev.com/7d94b72dc8998f6f947adb10c511e6c6e62fac5b/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/7d94b72dc8998f6f947adb10c511e6c6e62fac5b/third_party/WebKit/Source/core/html/HTMLSlotElement.h

📍 Job complete. See results below.
https://pinpoint-dot-chromeperf.appspot.com/job/14f2f6df440000
Project Member

Comment 53 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e99081a9d9e4083d74d11cc93d26c6c572d9dceb

commit e99081a9d9e4083d74d11cc93d26c6c572d9dceb
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Apr 04 04:10:10 2018

Refactor SlotAssignment to clarify which parts are related to Incremental Shadow DOM

Also, rename the following functions as follows:

- SlotAssignment::RecalcAssignmentNg => SlotAssignment::RecalcAssignment
- SlotAssignment::RecalcAssignment => SlotAssignment::RecalcAssignmentForDistribution

No behavior change.

Bug:  776656 
Change-Id: I9b13f2c840533299c670a08d1015524e0d71824d
Reviewed-on: https://chromium-review.googlesource.com/992078
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547975}
[modify] https://crrev.com/e99081a9d9e4083d74d11cc93d26c6c572d9dceb/third_party/WebKit/Source/core/dom/SlotAssignment.cpp
[modify] https://crrev.com/e99081a9d9e4083d74d11cc93d26c6c572d9dceb/third_party/WebKit/Source/core/dom/SlotAssignment.h
[modify] https://crrev.com/e99081a9d9e4083d74d11cc93d26c6c572d9dceb/third_party/WebKit/Source/core/dom/ng/slot_assignment_engine.cc
[modify] https://crrev.com/e99081a9d9e4083d74d11cc93d26c6c572d9dceb/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp

Project Member

Comment 54 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba1e43f11f55be25d0e955c8a58691764212adc8

commit ba1e43f11f55be25d0e955c8a58691764212adc8
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Apr 04 04:47:31 2018

[IncrementalShadowDOM] Avoid crash when Inspector gets distributed nodes for a slot

HTMLSlotElement starts to detect unsupported member functions being called
after https://chromium-review.googlesource.com/c/chromium/src/+/989525.

This CL avoids a crash by early return.

Note that *distributed nodes* are a kind of old-fashioned concept after Blink
supports slots-in-flat-tree. We might want to remove that in the future.

Bug:  776656 
Change-Id: Ibe8c4cf935a7f03fe4e716b6877b9bdb8b964983
Reviewed-on: https://chromium-review.googlesource.com/992075
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547981}
[modify] https://crrev.com/ba1e43f11f55be25d0e955c8a58691764212adc8/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp

Project Member

Comment 55 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76a81eb467b48ea476712e7d7db93735277fc313

commit 76a81eb467b48ea476712e7d7db93735277fc313
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Apr 04 11:55:50 2018

Refactor HTMLSlotElement to clarify which parts are related to Incremental Shadow DOM

No behavior change.

Bug:  776656 
Change-Id: Ib5b7d88edd3752828f83d13b1e7a026cbd5a9aa9
Reviewed-on: https://chromium-review.googlesource.com/989525
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548023}
[modify] https://crrev.com/76a81eb467b48ea476712e7d7db93735277fc313/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/76a81eb467b48ea476712e7d7db93735277fc313/third_party/WebKit/Source/core/html/HTMLSlotElement.h

Project Member

Comment 56 by bugdroid1@chromium.org, Apr 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/58a1a76874d1f16fe9eea8eaa642cf5a28c48543

commit 58a1a76874d1f16fe9eea8eaa642cf5a28c48543
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Apr 11 12:03:55 2018

Add new performance tests for re-layout after slotchange

Add new performance tests which measure the performance of slot assignment recalc and re-layout
in several scenarios where slot assignment changes on a *long slot-assignment-chain*.

This CL also cleans up existing functions so that they have common
tree structures with added ones.

Bug:  776656 
Change-Id: Idff494392c13aca5b6eaf1dfeabb34ad41ffa556
Reviewed-on: https://chromium-review.googlesource.com/1005648
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549861}
[modify] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-common.js
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-deep-tree-then-re-layout.html
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-deep-tree-then-slot-assigned-nodes.html
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-deep-tree-then-slot-flatten.html
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-shallow-tree-then-re-layout.html
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-shallow-tree-then-slot-assigned-nodes.html
[add] https://crrev.com/58a1a76874d1f16fe9eea8eaa642cf5a28c48543/third_party/WebKit/PerformanceTests/ShadowDOM/v1-mutate-shallow-tree-then-slot-flatten.html

Project Member

Comment 58 by 42576172...@developer.gserviceaccount.com, Apr 12 2018

📍 Job complete. See results below.
https://pinpoint-dot-chromeperf.appspot.com/job/14a924d2c40000
Project Member

Comment 59 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a9452b946b7b853ca56032f073bd7cc00d3a7db2

commit a9452b946b7b853ca56032f073bd7cc00d3a7db2
Author: Hayato Ito <hayato@chromium.org>
Date: Wed Apr 25 08:55:42 2018

[IncrementalShadowDOM] Make some of UpdateDistribuion call RecalcAssignments

Once we can land the IncrementalShadowDOM (and remove Shadow DOM V0), we no
longer need to call UpdateDistribution, however, some usages of
UpdateDistribution are unclear at this point.

Thus, except the cases where we can tell its intent cearly, we call
RecalcAssignments too for IncrementalShadowDOM there.

UpdateDistribution is now divided into the followings:

1. UpdateDistributionForFlatTreeTraversal: This should be used in most cases.
2. UpdateDistributionForLegacyDistributedNodes: This should be used only by the
   implementation of V0 shadow trees, where they need to access
   distributed_nodes directly.
3. UpdateDistributionForUnknownReasons: This is a tentative workaround for the
   sake of safety. In addition to calling (old) UpdateDistribution, we call
   RecalcAssignments for IncrementalShadowDOM too.

The future plan is:
3 can be replaced with 1, however, that needs a careful investigation, so that
should be done on a case-by-base basis after this CL lands.

TBR=aboxhall

Bug:  776656 
Change-Id: I826850e04093d2278a2f0aedf8e06f85f2fe8485
Reviewed-on: https://chromium-review.googlesource.com/1025155
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553490}
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/css/selector_query.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/events/event_path.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/flat_tree_traversal_test.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/ng/flat_tree_traversal_ng_test.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/node.h
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/dom/v0_insertion_point.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/editing/position.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/editing/testing/selection_sample_test.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/frame/frame.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/html/html_element.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/html/html_olist_element.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/html/html_slot_element.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/input/boundary_event_dispatcher.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/input/gesture_manager.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/input/mouse_event_manager.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/inspector/inspector_css_agent.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/layout/hit_test_result.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/page/focus_controller.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/core/page/slot_scoped_traversal_test.cc
[modify] https://crrev.com/a9452b946b7b853ca56032f073bd7cc00d3a7db2/third_party/blink/renderer/modules/accessibility/ax_object.cc

Project Member

Comment 60 by bugdroid1@chromium.org, Apr 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3418a11696bb668ef587b155e1651288fc7b2bba

commit 3418a11696bb668ef587b155e1651288fc7b2bba
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Apr 26 07:08:24 2018

Use UpdateDistributionForFlatTreeTraversal in selector_query

This is a follow-up CL for http://crrev.com/c/1025155.
SelectorQuery updates distribution only for traversing a flat tree.

Bug:  776656 
Change-Id: I07312acc73abdc593a7ef81f04761bacc3d978d0
Reviewed-on: https://chromium-review.googlesource.com/1029560
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553938}
[modify] https://crrev.com/3418a11696bb668ef587b155e1651288fc7b2bba/third_party/blink/renderer/core/css/selector_query.cc

Project Member

Comment 61 by bugdroid1@chromium.org, Apr 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4c4ec9540f511822ade06aa028f4220b55ed3289

commit 4c4ec9540f511822ade06aa028f4220b55ed3289
Author: Hayato Ito <hayato@chromium.org>
Date: Thu Apr 26 07:27:56 2018

Add http/tests/devtools/elements/shadow to virtual/incrmental-shadow-dom tests

http/tests/devtools/elements/shadow is running several tests for shadow dom's distribution
used in devtools.

shadow-distribution.js is failing with the IncrementalShadowDOM flag.

TBR=kochi,rakina

Bug:  776656 
Change-Id: Id780279b397c91bf3af7136727d36f83e1179565
Reviewed-on: https://chromium-review.googlesource.com/1029392
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553943}
[modify] https://crrev.com/4c4ec9540f511822ade06aa028f4220b55ed3289/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/4c4ec9540f511822ade06aa028f4220b55ed3289/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/4c4ec9540f511822ade06aa028f4220b55ed3289/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/README.txt

😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/14cb5a07c40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/14ea675bc40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
Project Member

Comment 66 by bugdroid1@chromium.org, May 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3

commit d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3
Author: Hayato Ito <hayato@chromium.org>
Date: Mon May 07 11:17:03 2018

[IncrementalShadowDOM] Support slot's expanded nodes in devtools

Support slot's expanded nodes, using slot's assigned nodes, for IncrementalShadowDOM.
Inspector can show slot's assigned nodes correctly even in IncrementalShadowDOM.

virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/shadow-distribution.js
test is still failing, however, this is not a regression of IncrementalShadowDOM.

See  crbug.com/840238  for details. This CL adds an expected.txt for the test.

Bug:  776656 , 840238 
Change-Id: I037caf9184e9be42525575bf2e027cf000bdbf7a
Reviewed-on: https://chromium-review.googlesource.com/1029567
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556414}
[modify] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/README.txt
[add] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/shadow-distribution-expected.txt
[modify] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/blink/renderer/core/html/html_slot_element.cc
[modify] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/blink/renderer/core/html/html_slot_element.h
[modify] https://crrev.com/d55f0816be5901e9e5bfdf49b7c6e785dca0c3d3/third_party/blink/renderer/core/inspector/inspector_dom_agent.cc

😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/16853fefc40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/11e370b7c40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1298e0cfc40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/12eafb0fc40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/12a26b4fc40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1695c8b7c40000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
Project Member

Comment 80 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/080b66d6ee39f98ee6a0cff4016103588dcba653

commit 080b66d6ee39f98ee6a0cff4016103588dcba653
Author: Hayato Ito <hayato@chromium.org>
Date: Mon May 14 07:17:21 2018

Add media/controls virtual to virtual/incremental-shadow-dom test suites

Keep track of failing tests in media/controls for IncrementalShadowDOM.

Bug:  776656 
Change-Id: Ib0f09da71bdc49935875b2d0814336ea64b90d31
Reviewed-on: https://chromium-review.googlesource.com/1056750
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558219}
[modify] https://crrev.com/080b66d6ee39f98ee6a0cff4016103588dcba653/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/080b66d6ee39f98ee6a0cff4016103588dcba653/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/080b66d6ee39f98ee6a0cff4016103588dcba653/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/media/controls/README.txt

Project Member

Comment 82 by 42576172...@developer.gserviceaccount.com, May 14 2018

😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/1276e1a0240000

Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
Project Member

Comment 83 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4

commit 7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4
Author: Hayato Ito <hayato@chromium.org>
Date: Mon May 14 10:06:02 2018

Fix TreeScopeAdopter in case of nested shadow trees moving across documents

https://crrev.com/517033 still misses a case where shadow trees are nested, which was the cause of
DCHECK [1] failure of the test [2]. This CL fixes that.

[1] https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/dom/node.cc?q=MayContainLe&sq=package:chromium&l=773
[2] virtual/incremental-shadow-dom/media/controls/overlay-play-button-document-move.html.

Bug:  776656 , 783055 
Change-Id: I22005d1518768c1750be33a818d25230efa26b76
Reviewed-on: https://chromium-review.googlesource.com/1056927
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558243}
[modify] https://crrev.com/7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4/third_party/blink/renderer/core/dom/tree_scope_adopter.cc
[modify] https://crrev.com/7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4/third_party/blink/renderer/core/dom/tree_scope_adopter.h
[modify] https://crrev.com/7ca88b5b2405ebc3181bcb08588ff3ffd5a9e3a4/third_party/blink/renderer/core/dom/tree_scope_adopter_test.cc

Project Member

Comment 84 by bugdroid1@chromium.org, May 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1681b460fbbe11f1e8fa2f24e8cae56c27826b28

commit 1681b460fbbe11f1e8fa2f24e8cae56c27826b28
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Mon May 14 12:20:52 2018

Convert media elements to use UA shadow instead of V0 shadow

Found some media control elements accidentally using V0 shadow
root instead of User-Agent shadow root, and this fixes the cases.

To avoid further misuses, I'll rename the API in the following CL
https://chromium-review.googlesource.com/c/chromium/src/+/1057047

Bug:  787717 ,  776656 
Change-Id: I45274ccb399ae57ea7207402323f49efd2188d9c
Reviewed-on: https://chromium-review.googlesource.com/1056939
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558266}
[modify] https://crrev.com/1681b460fbbe11f1e8fa2f24e8cae56c27826b28/third_party/blink/renderer/modules/media_controls/elements/media_control_loading_panel_element.cc
[modify] https://crrev.com/1681b460fbbe11f1e8fa2f24e8cae56c27826b28/third_party/blink/renderer/modules/media_controls/elements/media_control_scrubbing_message_element.cc

Project Member

Comment 85 by bugdroid1@chromium.org, May 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3ccb45d759abb72542e94443c139148672685ad

commit a3ccb45d759abb72542e94443c139148672685ad
Author: Hayato Ito <hayato@chromium.org>
Date: Tue May 15 04:31:50 2018

Make IncrementalShadowDOM flag experimental

This is a preparation of launching incremental shadow dom.

After I confirm that this doesn't cause any regression in bots,
I'll ship this, announcing it to blink-dev briefly, in a few days.

Bug:  776656 
Change-Id: I2632a42c2cb9acaf6462600ac236dc9b8bff32ed
Reviewed-on: https://chromium-review.googlesource.com/1056896
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558607}
[modify] https://crrev.com/a3ccb45d759abb72542e94443c139148672685ad/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/a3ccb45d759abb72542e94443c139148672685ad/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 86 by bugdroid1@chromium.org, May 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7768dd454d5dd64a64c4d5c1d98a532c816628be

commit 7768dd454d5dd64a64c4d5c1d98a532c816628be
Author: Hayato Ito <hayato@chromium.org>
Date: Tue May 15 09:36:29 2018

Remove incremental-shadow-dom virtual test suites

We don't need to have virtual/incremental-shadow-dom test suites because IncrementalShadowDOM
became experimental (or stable, which would be done later).

Bug:  776656 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I80a10d95aa5ba0135305ca8245efd1625dc9b729
Reviewed-on: https://chromium-review.googlesource.com/1059091
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558652}
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/SlowTests
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/7768dd454d5dd64a64c4d5c1d98a532c816628be/third_party/WebKit/LayoutTests/VirtualTestSuites
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/external/wpt/css/css-scoping/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/external/wpt/shadow-dom/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/fast/dom/shadow/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/html/details_summary/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/http/tests/devtools/elements/shadow/shadow-distribution-expected.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/media/controls/README.txt
[delete] https://crrev.com/67528afa905ab02f9f4830267b7ace84abe168d5/third_party/WebKit/LayoutTests/virtual/incremental-shadow-dom/shadow-dom/README.txt

Project Member

Comment 87 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6836320ba930e1d75a86359f5bc4cf789d84500f

commit 6836320ba930e1d75a86359f5bc4cf789d84500f
Author: Hayato Ito <hayato@chromium.org>
Date: Wed May 16 15:04:25 2018

Fix a crash caused by touching outdated assigned_nodes

This is a tentative fix for several crashes cluster fuzzer reported.
It looks HTMLSlotElement::DetachLayoutTree is touching dirty
assigned_nodes.

It's still hard to have a minimized test case, so I'll work on that later
to investigate further. I've added TODO comment there.

Bug:  776656 , 843069 , 843261 
Change-Id: I9093e170e3c851b89612f40e764bfdbdc1532d4f
Reviewed-on: https://chromium-review.googlesource.com/1061274
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559096}
[modify] https://crrev.com/6836320ba930e1d75a86359f5bc4cf789d84500f/third_party/blink/renderer/core/html/html_slot_element.cc

Project Member

Comment 88 by bugdroid1@chromium.org, May 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6ec484f7d3153135b9640117a89252ff45829b8

commit b6ec484f7d3153135b9640117a89252ff45829b8
Author: Hayato Ito <hayato@chromium.org>
Date: Thu May 17 05:12:02 2018

Launch Incremental Shadow DOM

Make IncremantalShadowDOM flag stable.

PSA in blink-dev is here:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/1TXLVz_H1S0/n4cdluQjAwAJ

Bug:  776656 
Change-Id: I8d6c02d793ad30c4774fe069b84127e5575b3678
Reviewed-on: https://chromium-review.googlesource.com/908269
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559424}
[modify] https://crrev.com/b6ec484f7d3153135b9640117a89252ff45829b8/third_party/blink/renderer/platform/runtime_enabled_features.json5

Blocking: -734908
Status: Fixed (was: Assigned)
Project Member

Comment 91 by bugdroid1@chromium.org, May 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75c643af6262516ed5f805e3199e8434c5777f5c

commit 75c643af6262516ed5f805e3199e8434c5777f5c
Author: Hayato Ito <hayato@chromium.org>
Date: Thu May 17 07:56:24 2018

Add a repro test case for  crbug.com/843069 

This is a follow-up CL for https://crrev.com/c1061274.

Add a test case, and update the comment to explain why we need to make sure assignment
is recalculated before iterating assigned_nodes.

TBR=kochi,rakina

Bug:  776656 , 843069 
Change-Id: I3707f6fd93b6f1709b34773a63f8ca91be67e824
Reviewed-on: https://chromium-review.googlesource.com/1062990
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559448}
[add] https://crrev.com/75c643af6262516ed5f805e3199e8434c5777f5c/third_party/WebKit/LayoutTests/shadow-dom/crashes/detach-node-call-recalc-assignment-crash.html
[modify] https://crrev.com/75c643af6262516ed5f805e3199e8434c5777f5c/third_party/blink/renderer/core/html/html_slot_element.cc

Project Member

Comment 92 by bugdroid1@chromium.org, May 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86ecfe93212a03aa5caf02319acc8a893ce8f8b7

commit 86ecfe93212a03aa5caf02319acc8a893ce8f8b7
Author: Hayato Ito <hayato@chromium.org>
Date: Mon May 21 03:28:45 2018

[IncrementalShadowDOM] Recalc slot assignments before checking NeedsLayoutTreeUpdate()

In Document::UpdateStyleAndLayoutTree(), recalc slot assignments should be done
before checking NeedsLayoutTreeUpdate() to detect the need of layout tree update
surely. Without that, there is an edge case which causes a crash.

Bug:  776656 , 844301 
Change-Id: I1ef7719216649019e07f2799ecd4f1fcb3d961a6
Reviewed-on: https://chromium-review.googlesource.com/1066030
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560221}
[add] https://crrev.com/86ecfe93212a03aa5caf02319acc8a893ce8f8b7/third_party/WebKit/LayoutTests/shadow-dom/crashes/selection-delete-crash.html
[modify] https://crrev.com/86ecfe93212a03aa5caf02319acc8a893ce8f8b7/third_party/blink/renderer/core/dom/document.cc

Project Member

Comment 93 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/23c69ebdf6d274e9531065e6db23ba51fdd88107

commit 23c69ebdf6d274e9531065e6db23ba51fdd88107
Author: Hayato Ito <hayato@chromium.org>
Date: Tue May 22 07:48:55 2018

[IncrementalShadowDOM] Add scoped check to forbid slot assignment recalc

Slot assignment recalc shouldn't happen while executing
Document::UpdateStyleAndLayout, after we recalc that at the beginning
of UpdateStyleAndLayout.

Bug:  776656 
Change-Id: I845767daf84cbf257da3348446a3fbc5a04249d3
Reviewed-on: https://chromium-review.googlesource.com/1068571
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560507}
[modify] https://crrev.com/23c69ebdf6d274e9531065e6db23ba51fdd88107/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/23c69ebdf6d274e9531065e6db23ba51fdd88107/third_party/blink/renderer/core/dom/slot_assignment.cc
[modify] https://crrev.com/23c69ebdf6d274e9531065e6db23ba51fdd88107/third_party/blink/renderer/core/dom/slot_assignment.h

Project Member

Comment 94 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e3be0e92a8efbbd3b1220133fbd3c10364366cd

commit 6e3be0e92a8efbbd3b1220133fbd3c10364366cd
Author: Hayato Ito <hayato@chromium.org>
Date: Wed May 23 05:49:14 2018

Disable Incremental Shadow DOM

It would be safe to disable Incremental Shadow DOM for M68, whose branch cut is soon.
Let's defer it to M69 so that we can address http://crbug.com/845770 surely.

Bug:  776656 , 845770
Change-Id: I5d2efeca4b44c0b4a84948233d7b3447cdf4f64e
Reviewed-on: https://chromium-review.googlesource.com/1069952
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560959}
[modify] https://crrev.com/6e3be0e92a8efbbd3b1220133fbd3c10364366cd/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 95 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f8e70c7f029058c698495950da0c57c4e9a0bdb3

commit f8e70c7f029058c698495950da0c57c4e9a0bdb3
Author: Hayato Ito <hayato@chromium.org>
Date: Wed May 23 09:14:43 2018

Make slot-assignment-recalc-forbidden scope on a per-document basis

We need to increment (and decrement) a counter on a per-document basis because call
stack can span across different documents.

 BUG 776656 , 845770

Change-Id: Ib9e89448217e7e335ba3c32c9775c9aa9c8f28cf
Reviewed-on: https://chromium-review.googlesource.com/1069959
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561014}
[modify] https://crrev.com/f8e70c7f029058c698495950da0c57c4e9a0bdb3/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/f8e70c7f029058c698495950da0c57c4e9a0bdb3/third_party/blink/renderer/core/dom/document.h
[modify] https://crrev.com/f8e70c7f029058c698495950da0c57c4e9a0bdb3/third_party/blink/renderer/core/dom/slot_assignment.cc
[modify] https://crrev.com/f8e70c7f029058c698495950da0c57c4e9a0bdb3/third_party/blink/renderer/core/dom/slot_assignment.h

Project Member

Comment 96 by bugdroid1@chromium.org, May 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79925868d14e19bb4bfb38d09bdd6565c8f4c9a1

commit 79925868d14e19bb4bfb38d09bdd6565c8f4c9a1
Author: Hayato Ito <hayato@chromium.org>
Date: Thu May 24 03:03:47 2018

Don't recalc assignement in HTMLSlotElement::DetachLayoutTree

The workaround of https://crrev.com/c/1062990 is no longer necessary
because of https://crrev.com/c/1068646, which fixed ListItemOrdinal's behavior.

See also http://crbug.com/845770. In general, we should avoid recalc assignment
in detaching a node.

Bug:  776656 , 845770
Change-Id: Ia98b35dce0b6d2e16829f79dde4b88470ced0d3f
Reviewed-on: https://chromium-review.googlesource.com/1070007
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561371}
[modify] https://crrev.com/79925868d14e19bb4bfb38d09bdd6565c8f4c9a1/third_party/blink/renderer/core/html/html_slot_element.cc

Blockedon: 843261 846029 846449 843069 843071 844301 844277 844835 844525 844365
Status: Started (was: Fixed)
Labels: -Pri-2 Pri-1
Project Member

Comment 99 by bugdroid1@chromium.org, May 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/80c7cd9980fd9e84013896da48b4f068384c575c

commit 80c7cd9980fd9e84013896da48b4f068384c575c
Author: Hayato Ito <hayato@chromium.org>
Date: Fri May 25 06:54:13 2018

[IncrementalShadowDOM] Add slot-assignement-recalc-forbidden scoped check for DOM mutations

This is similar to https://crrev.com/c/1068571, but does check for DOM mutations.

There are two code paths which violate the assumption:

- ListItemOrdinal::ItemInsertedOrRemoved(), which was fixed at https://crrev.com/c/1068646
- Document::HoveredElementDetached, which is fixed in this CL

The reason we can't add a scoped check at the beginning of ContainerNode::RemoveChild is
that synchronous DOM mutation events can happen in WillRemoveChild(*child) or
DispatchSubtreeModifiedEvent().

Ditto for ContainerNode::AppendChild.

There are other DOM mutation operations where we should add check. That can be done later.
Once I am sure that the coverage is enough, I'll refactor so that this kind of check can be
done in more better places.

Bug:  776656 ,845770

Change-Id: I7ce0e99292165b698b69c6b90d71d71a90c19135
Reviewed-on: https://chromium-review.googlesource.com/1070169
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561792}
[modify] https://crrev.com/80c7cd9980fd9e84013896da48b4f068384c575c/third_party/blink/renderer/core/dom/container_node.cc
[modify] https://crrev.com/80c7cd9980fd9e84013896da48b4f068384c575c/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/80c7cd9980fd9e84013896da48b4f068384c575c/third_party/blink/renderer/core/dom/document.h
[modify] https://crrev.com/80c7cd9980fd9e84013896da48b4f068384c575c/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/80c7cd9980fd9e84013896da48b4f068384c575c/third_party/blink/renderer/core/dom/node.h

Blockedon: 846458
Project Member

Comment 101 by bugdroid1@chromium.org, May 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ff81cbf1dab9e224f3252be810c820c480e4922

commit 2ff81cbf1dab9e224f3252be810c820c480e4922
Author: Hayato Ito <hayato@chromium.org>
Date: Mon May 28 03:16:54 2018

Check all pending slot assignment recalc in a tree of trees, instead of a shadow tree

Fix the crash reported by cluster fuzz ( https://crbug.com/846449 ).

The fix of https://crrev.com/c/1068646 was not enough. We need to check all pending slot
assignment recalc in a tree of trees because an enclosing list of a list item can be
in another node tree.

Bug:  776656 , 846449 
Change-Id: I559e9f7fbe6c7cd8a54ac9ab3e7e3faec5d4294c
Reviewed-on: https://chromium-review.googlesource.com/1073211
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562174}
[add] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/WebKit/LayoutTests/shadow-dom/crashes/list-item-delete-crash.html
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/dom/document.h
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/dom/ng/slot_assignment_engine.h
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/dom/node.h
[modify] https://crrev.com/2ff81cbf1dab9e224f3252be810c820c480e4922/third_party/blink/renderer/core/html/list_item_ordinal.cc

Project Member

Comment 102 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba557f224c04b95fc6d70ee9cc41604d6f7aa818

commit ba557f224c04b95fc6d70ee9cc41604d6f7aa818
Author: Hayato Ito <hayato@chromium.org>
Date: Tue May 29 03:27:16 2018

Launch Incremental Shadow DOM for M69

Let's ship Incremental Shadow DOM for M69.

Incremental Shadow DOM was disabled temporarily at https://crrev.com/c/1069952 for M68.
Let's enable it again for M69, given that:

- M68 branch cut was just done. We have a good amount of time until M69 branch cut.
- Regarding http://crbug.com/845770, I have already landed the essential checks,
  as well as fixing the violation of assumptions caused by detaching layout objects of
  ListItem and HoveredElement.
- All P1 bugs reported by ClusterFuzz were fixed.

Bug:  776656 
Change-Id: Ibebc432787ecaa5f997abe5487256fa9e3b9c000
Reviewed-on: https://chromium-review.googlesource.com/1074805
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562330}
[modify] https://crrev.com/ba557f224c04b95fc6d70ee9cc41604d6f7aa818/third_party/blink/renderer/platform/runtime_enabled_features.json5

Status: Fixed (was: Started)
Project Member

Comment 104 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a102c90593abb6f06680dc4f1f3fa479a75d54a5

commit a102c90593abb6f06680dc4f1f3fa479a75d54a5
Author: Hayato Ito <hayato@chromium.org>
Date: Tue May 29 07:21:41 2018

Remove core/dom/ng directory

Remove this experimental directory because Incremental Shadow DOM was enabled.
Let's merge core/dom/ng into core/dom.

Bug:  776656 
Change-Id: Ia73b223db1d89e101546613086496206a0636fd5
Reviewed-on: https://chromium-review.googlesource.com/1075876
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562358}
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/BUILD.gn
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/flat_tree_traversal.h
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/flat_tree_traversal_ng.cc
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/flat_tree_traversal_ng.h
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/flat_tree_traversal_ng_test.cc
[delete] https://crrev.com/13568e231a5cac5c47587bad5ef90fb566e87681/third_party/blink/renderer/core/dom/ng/OWNERS
[delete] https://crrev.com/13568e231a5cac5c47587bad5ef90fb566e87681/third_party/blink/renderer/core/dom/ng/README.md
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/shadow_root.cc
[modify] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/slot_assignment.cc
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/slot_assignment_engine.cc
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/slot_assignment_engine.h
[rename] https://crrev.com/a102c90593abb6f06680dc4f1f3fa479a75d54a5/third_party/blink/renderer/core/dom/slot_assignment_test.cc

Showing comments 5 - 104 of 104 Older

Sign in to add a comment