New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 624724 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 489947
issue 795221

Blocking:
issue 671907



Sign in to add a comment

Clean up ElementShadow, and remove it.

Project Member Reported by hayato@chromium.org, Jun 30 2016

Issue description

I would like to remove ElementShadow class by:

- Move all v0 related member data and functions to ShadowRootRareDataV0 (or something similar)
- Move all v1 related member data and functions to ShadowRoot itself.
- Move all common member data and functions for v0 and v1 to ShadowRoot itself.

This would separate our concerns clearly.

Also, this would be helpful to remove v0 code base someday.

 
Status: Started (was: Assigned)
Summary: Clean up ElementShadow, and remove it. (was: Remove ElementShadow)
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 13 2016

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

commit ab06a2848c7ed182395652221a8063e6df583b25
Author: hayato <hayato@chromium.org>
Date: Tue Sep 13 05:44:30 2016

Clarify a role of Shadow DOM related functions

ElementShadow's member functions, and other functions, are still confusing.
It is not clearly demonstrated that each function is for v0 or v1.

This CL makes it clear by:

- Adding DCHECK()
- Rename function names
- Check whether v0 or v1 in caller sides

This CL is a preparation for further ElementShadow's refactoring.

BUG= 624724 

Review-Url: https://codereview.chromium.org/2323953003
Cr-Commit-Position: refs/heads/master@{#418178}

[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversal.cpp
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/shadow/InsertionPoint.cpp
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/dom/shadow/InsertionPoint.h
[modify] https://crrev.com/ab06a2848c7ed182395652221a8063e6df583b25/third_party/WebKit/Source/core/html/HTMLContentElement.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 13 2016

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

commit 76384394c1e14fda6f4bc0f3cae50563a136cbaa
Author: hayato <hayato@chromium.org>
Date: Tue Sep 13 08:42:54 2016

Refactor ElementShadow by separating v0 related features as ElementShadowV0

Introduces ElementShadowV0, separated from ElementShadow, to make the role of
ElementShadow clear. The clear separation of v0 APIs and v1 APIS would prevent a
misusage of ElementShadow.

ElementShadowV0 is created only for v0 shadow trees. Thus, ElementShadow will be a
light-weight object for v1 shadow trees.

BUG= 624724 

Review-Url: https://codereview.chromium.org/2322213002
Cr-Commit-Position: refs/heads/master@{#418198}

[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/css/resolver/SharedStyleFinder.cpp
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h
[add] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/shadow/ElementShadowV0.cpp
[add] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/shadow/ElementShadowV0.h
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/dom/shadow/InsertionPoint.cpp
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/html/HTMLContentElement.cpp
[modify] https://crrev.com/76384394c1e14fda6f4bc0f3cae50563a136cbaa/third_party/WebKit/Source/core/testing/Internals.cpp

Comment 6 by hayato@chromium.org, Oct 12 2016

Components: -Blink>WebComponents Blink>DOM>ShadowDOM

Comment 7 by hayato@chromium.org, May 26 2017

Blockedon: 489947

Comment 8 by kochi@chromium.org, Dec 15 2017

Blockedon: 795221

Comment 9 by kochi@chromium.org, Dec 20 2017

Cc: hayato@chromium.org
Owner: kochi@chromium.org
Started working on this.

Comment 10 by kochi@chromium.org, Dec 26 2017

Will do  issue 795221  (multiple shadow related cleanups) first, then
convert all UA shadows to V1 ( issue 787717 ), and remove ElementShadow
in this order.

Comment 11 by kochi@chromium.org, Feb 16 2018

Blocking: 671907
Labels: -Pri-3 Pri-2
Dependent tasks are done, starting this.
Project Member

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

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

commit 8778659ef7ca39458b53d0bfc3337889af474ba6
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Fri Feb 16 06:19:23 2018

Use IsShadowHost() where possible, instead of accessing ElementShadow.

This is a step for removing ElementShadow.
This CL is a clean up and does not change any behavior.

Bug:  624724 
Change-Id: Icd8f0ab1076e803b48c9bfdd01252e24489d02a4
Reviewed-on: https://chromium-review.googlesource.com/923242
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537230}
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/css/SelectorChecker.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/html/forms/ColorInputType.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/html/forms/FileInputType.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/html/forms/MultipleFieldsTemporalInputTypeView.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/html/forms/RangeInputType.cpp
[modify] https://crrev.com/8778659ef7ca39458b53d0bfc3337889af474ba6/third_party/WebKit/Source/core/html/forms/TextFieldInputType.cpp

Project Member

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

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

commit d9a63882bc45af8892b49dfd753d2572b3c5ba5a
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Fri Feb 16 08:47:59 2018

Remove ElementShadow indirection for getting ShadowRoot

After multiple shadow roots are removed, getting a shadow root
can be done by Node::GetShadowRoot() or Element::GetShadowRoot().

Old code used to use get ElementShadow first, then use
ElementShadow::GetShadowRoot(), but it is no longer necessary.

This is a step to merge ElementShadow class into ShadowRoot class.

TBR=dmazzoni@chromium.org, mlamouri@chromium.org

Bug:  624724 
Change-Id: I44af0d2de85e45badb36e5ba59facc03f7d81602
Reviewed-on: https://chromium-review.googlesource.com/923245
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537258}
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/css/SelectorQuery.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/css/StyleEngine.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/ChildFrameDisconnector.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/FlatTreeTraversal.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.cc
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.h
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/editing/Position.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/exported/WebFrameSerializer.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/frame/MHTMLLoadingTest.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/page/FocusController.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/modules/media_controls/elements/MediaControlOverlayPlayButtonElement.cpp
[modify] https://crrev.com/d9a63882bc45af8892b49dfd753d2572b3c5ba5a/third_party/WebKit/Source/modules/media_controls/elements/MediaControlSliderElement.cpp

Project Member

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

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

commit 12e739ce52bad3f5af7146397c69d8529ed8190d
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Mon Feb 19 06:48:20 2018

Simplify logic for <shadow> distribution.

We no longer have multiple shadow roots, <shadow> behaves almost
identical to <content> without select attribute.
We only have to care for the case when <content> and <shadow> are
used in the same shadow root.

This CL simplifies code that used to handle multiple shadow cases
for <shadow> elements in V0 distribution logic.

No visible behavioral change is expected.

Bug:  624724 
Change-Id: I88f237f2d26519cd400ef13605f4b3115843b4b7
Reviewed-on: https://chromium-review.googlesource.com/923446
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537592}
[modify] https://crrev.com/12e739ce52bad3f5af7146397c69d8529ed8190d/third_party/WebKit/Source/core/dom/ElementShadowV0.cpp

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 20 2018

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

commit 3c79a49290ad7aeeb23f01bb03899f6aca0d0f87
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Tue Feb 20 11:58:28 2018

Revert "Remove ElementShadow indirection for getting ShadowRoot"

This reverts commit d9a63882bc45af8892b49dfd753d2572b3c5ba5a.

Reason for revert: Possibly this caused mac bot webkit_tests failures
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac10.11%20%28dbg%29?numbuilds=200

Original change's description:
> Remove ElementShadow indirection for getting ShadowRoot
>
> After multiple shadow roots are removed, getting a shadow root
> can be done by Node::GetShadowRoot() or Element::GetShadowRoot().
>
> Old code used to use get ElementShadow first, then use
> ElementShadow::GetShadowRoot(), but it is no longer necessary.
>
> This is a step to merge ElementShadow class into ShadowRoot class.
>
> TBR=dmazzoni@chromium.org, mlamouri@chromium.org
>
> Bug:  624724 
> Change-Id: I44af0d2de85e45badb36e5ba59facc03f7d81602
> Reviewed-on: https://chromium-review.googlesource.com/923245
> Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
> Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hayato Ito <hayato@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537258}

TBR=kochi@chromium.org,dmazzoni@chromium.org,hayato@chromium.org,haraken@chromium.org,mlamouri@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  624724 
Change-Id: I24902d3e98b81a1616f1f73fa3954c48952f6b9e
Reviewed-on: https://chromium-review.googlesource.com/926261
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537758}
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/css/SelectorQuery.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/css/StyleEngine.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/ChildFrameDisconnector.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/FlatTreeTraversal.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.cc
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.h
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/editing/Position.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/exported/WebFrameSerializer.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/frame/MHTMLLoadingTest.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/page/FocusController.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/modules/media_controls/elements/MediaControlOverlayPlayButtonElement.cpp
[modify] https://crrev.com/3c79a49290ad7aeeb23f01bb03899f6aca0d0f87/third_party/WebKit/Source/modules/media_controls/elements/MediaControlSliderElement.cpp

Project Member

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

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

commit 037f9e5aabaad54734df1bd783f830d78b67f7cd
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Wed Feb 21 05:27:02 2018

Reland "Remove ElementShadow indirection for getting ShadowRoot"

This is a reland of d9a63882bc45af8892b49dfd753d2572b3c5ba5a.

Once this was reverted due to mac bots failures, at
https://chromium-review.googlesource.com/c/chromium/src/+/926261
But this seems irrelevant to the failures.

Original change's description:
> Remove ElementShadow indirection for getting ShadowRoot
>
> After multiple shadow roots are removed, getting a shadow root
> can be done by Node::GetShadowRoot() or Element::GetShadowRoot().
>
> Old code used to use get ElementShadow first, then use
> ElementShadow::GetShadowRoot(), but it is no longer necessary.
>
> This is a step to merge ElementShadow class into ShadowRoot class.
>
> TBR=dmazzoni@chromium.org, mlamouri@chromium.org
>
> Bug:  624724 
> Change-Id: I44af0d2de85e45badb36e5ba59facc03f7d81602
> Reviewed-on: https://chromium-review.googlesource.com/923245
> Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
> Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hayato Ito <hayato@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537258}

Bug:  624724 
Change-Id: I09eb504a5b684617379482d25900b032b688cbfa
Reviewed-on: https://chromium-review.googlesource.com/927665
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538025}
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/css/SelectorQuery.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/css/StyleEngine.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/ChildFrameDisconnector.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/FlatTreeTraversal.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.cc
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.h
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/editing/Position.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/exported/WebFrameSerializer.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/frame/MHTMLLoadingTest.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/page/FocusController.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/modules/media_controls/elements/MediaControlOverlayPlayButtonElement.cpp
[modify] https://crrev.com/037f9e5aabaad54734df1bd783f830d78b67f7cd/third_party/WebKit/Source/modules/media_controls/elements/MediaControlSliderElement.cpp

Project Member

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

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

commit 7dde4da2c3a7bb713d3f63c11a35661198133ff3
Author: Takayoshi Kochi <kochi@chromium.org>
Date: Wed Mar 28 09:07:38 2018

Remove ElementShadow class.

This CL is an all-in-one patch for removing the ElementShadow class.

Since we removed multiple shadow roots, we no longer need ElementShadow,
and its functionality can be merged to ShadowRoot itself.

This CL removes ElementShadow and ElementShadowV0 classes, and move
all its methods and data to ShadowRoot, ShadowRootRareDataV0 (now renamed
to ShadowRootV0), whichever is appropriate.

ShadowRootRareDataV0 was lazily allocated data for V0 shadow, but
now we create ShadowRootV0 immediately when V0 shadow root is created.

All V0 related methods now belong to ShadowRootV0, and all its users are
converted to call them indirectly by getting ShadowRootV0 pointer via
V0() method of ShadowRoot.

This CL should not introduce any web-visible change.

TBR=mlamouri@chromium.org for modules/media_controls

Bug:  624724 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I2792f65f4938e7f3c4acff281021f78266888ddb
Reviewed-on: https://chromium-review.googlesource.com/977481
Commit-Queue: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546441}
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/SelectorQuery.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/SelectorQueryTest.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/StyleEngine.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/StyleEngineTest.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/invalidation/StyleInvalidator.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/resolver/ScopedStyleResolver.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ChildFrameDisconnector.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ContainerNode.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ElementRareData.h
[delete] https://crrev.com/e81fb3fa2ef212f8e4b2cfec2d7ea91c18a5272c/third_party/WebKit/Source/core/dom/ElementShadow.cpp
[delete] https://crrev.com/e81fb3fa2ef212f8e4b2cfec2d7ea91c18a5272c/third_party/WebKit/Source/core/dom/ElementShadow.h
[delete] https://crrev.com/e81fb3fa2ef212f8e4b2cfec2d7ea91c18a5272c/third_party/WebKit/Source/core/dom/ElementShadowV0.h
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/FlatTreeTraversal.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/Node.h
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ShadowDOMV0Test.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ShadowRoot.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ShadowRoot.h
[delete] https://crrev.com/e81fb3fa2ef212f8e4b2cfec2d7ea91c18a5272c/third_party/WebKit/Source/core/dom/ShadowRootRareDataV0.h
[rename] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ShadowRootV0.cpp
[add] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ShadowRootV0.h
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/SlotAssignment.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/TreeScope.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/TreeScopeAdopter.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/V0InsertionPoint.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/V0InsertionPoint.h
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/VisitedLinkState.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/dom/ng/flat_tree_traversal_ng.cc
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/editing/serializers/StyledMarkupSerializer.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/editing/testing/SelectionSample.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/editing/testing/SelectionSampleTest.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/exported/WebElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/exported/WebFrameSerializer.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/exported/WebInputElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/frame/MHTMLLoadingTest.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/html/HTMLContentElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/html/HTMLElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/page/FocusController.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/svg/SVGUseElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/modules/media_controls/elements/MediaControlLoadingPanelElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/modules/media_controls/elements/MediaControlLoadingPanelElementTest.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/modules/media_controls/elements/MediaControlOverlayPlayButtonElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/modules/media_controls/elements/MediaControlScrubbingMessageElement.cpp
[modify] https://crrev.com/7dde4da2c3a7bb713d3f63c11a35661198133ff3/third_party/WebKit/Source/modules/media_controls/elements/MediaControlSliderElement.cpp

Comment 18 by kochi@chromium.org, Mar 29 2018

Status: Fixed (was: Started)

Sign in to add a comment