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

Unified Diff: third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp

Issue 1413583002: Make ElementShadow::youngestShadowRoot() return a reference (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: one more tail -> head Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
diff --git a/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp b/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
index 906fa2a83679cff8eb30572e2461d7d3ba7ac693..ccf05a80afca47ba0092611129ff765fe93df283 100644
--- a/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
+++ b/third_party/WebKit/Source/core/dom/shadow/ElementShadow.cpp
@@ -149,9 +149,9 @@ ShadowRoot& ElementShadow::addShadowRoot(Element& shadowHost, ShadowRootType typ
ScriptForbiddenScope forbidScript;
if (type == ShadowRootType::V0) {
- if (!youngestShadowRoot()) {
+ if (m_shadowRoots.isEmpty()) {
shadowHost.willAddFirstAuthorShadowRoot();
- } else if (youngestShadowRoot()->type() == ShadowRootType::UserAgent) {
+ } else if (m_shadowRoots.head()->type() == ShadowRootType::UserAgent) {
shadowHost.willAddFirstAuthorShadowRoot();
UseCounter::countDeprecation(shadowHost.document(), UseCounter::ElementCreateShadowRootMultipleWithUserAgentShadowRoot);
} else {
@@ -161,7 +161,7 @@ ShadowRoot& ElementShadow::addShadowRoot(Element& shadowHost, ShadowRootType typ
shadowHost.willAddFirstAuthorShadowRoot();
}
- for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot())
+ for (ShadowRoot* root = m_shadowRoots.head(); root; root = root->olderShadowRoot())
root->lazyReattachIfAttached();
RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = ShadowRoot::create(shadowHost.document(), type);
@@ -203,7 +203,7 @@ void ElementShadow::attach(const Node::AttachContext& context)
Node::AttachContext childrenContext(context);
childrenContext.resolvedStyle = 0;
- for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot()) {
+ for (ShadowRoot* root = &youngestShadowRoot(); root; root = root->olderShadowRoot()) {
if (root->needsAttach())
root->attach(childrenContext);
}
@@ -214,7 +214,7 @@ void ElementShadow::detach(const Node::AttachContext& context)
Node::AttachContext childrenContext(context);
childrenContext.resolvedStyle = 0;
- for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot())
+ for (ShadowRoot* root = &youngestShadowRoot(); root; root = root->olderShadowRoot())
root->detach(childrenContext);
}
@@ -229,8 +229,8 @@ void ElementShadow::setNeedsDistributionRecalc()
bool ElementShadow::hasSameStyles(const ElementShadow* other) const
{
- ShadowRoot* root = youngestShadowRoot();
- ShadowRoot* otherRoot = other->youngestShadowRoot();
+ ShadowRoot* root = &youngestShadowRoot();
+ ShadowRoot* otherRoot = &other->youngestShadowRoot();
while (root || otherRoot) {
if (!root || !otherRoot)
return false;
@@ -280,7 +280,7 @@ void ElementShadow::distribute()
WillBeHeapVector<RawPtrWillBeMember<HTMLShadowElement>, 32> shadowInsertionPoints;
DistributionPool pool(*host());
- for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot()) {
+ for (ShadowRoot* root = &youngestShadowRoot(); root; root = root->olderShadowRoot()) {
HTMLShadowElement* shadowInsertionPoint = 0;
const WillBeHeapVector<RefPtrWillBeMember<InsertionPoint>>& insertionPoints = root->descendantInsertionPoints();
for (size_t i = 0; i < insertionPoints.size(); ++i) {
@@ -372,7 +372,7 @@ void ElementShadow::clearDistribution()
{
m_nodeToInsertionPoints.clear();
- for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot())
+ for (ShadowRoot* root = &youngestShadowRoot(); root; root = root->olderShadowRoot())
root->setShadowInsertionPointOfYoungerShadowRoot(nullptr);
}

Powered by Google App Engine
This is Rietveld 408576698