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

Unified Diff: sky/engine/core/dom/shadow/ElementShadow.h

Issue 759663003: Only allow one shadowRoot. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: rebase Created 6 years, 1 month 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: sky/engine/core/dom/shadow/ElementShadow.h
diff --git a/sky/engine/core/dom/shadow/ElementShadow.h b/sky/engine/core/dom/shadow/ElementShadow.h
index e097817bd7fa6479d6187af8be46338bd86a8680..e943fba8ba38917d6f53b3a4a03a7199a1948085 100644
--- a/sky/engine/core/dom/shadow/ElementShadow.h
+++ b/sky/engine/core/dom/shadow/ElementShadow.h
@@ -31,7 +31,6 @@
#include "sky/engine/core/dom/shadow/SelectRuleFeatureSet.h"
#include "sky/engine/core/dom/shadow/ShadowRoot.h"
#include "sky/engine/platform/heap/Handle.h"
-#include "sky/engine/wtf/DoublyLinkedList.h"
#include "sky/engine/wtf/HashMap.h"
#include "sky/engine/wtf/Noncopyable.h"
#include "sky/engine/wtf/PassOwnPtr.h"
@@ -46,8 +45,7 @@ public:
~ElementShadow();
Element* host() const;
- ShadowRoot* youngestShadowRoot() const { return m_shadowRoots.head(); }
- ShadowRoot* oldestShadowRoot() const { return m_shadowRoots.tail(); }
+ ShadowRoot* shadowRoot() const { return m_shadowRoot; }
ElementShadow* containingShadow() const;
ShadowRoot& addShadowRoot(Element& shadowHost);
@@ -88,30 +86,15 @@ private:
NodeToDestinationInsertionPoints m_nodeToInsertionPoints;
SelectRuleFeatureSet m_selectFeatures;
- // FIXME: Oilpan: add a heap-based version of DoublyLinkedList<>.
- DoublyLinkedList<ShadowRoot> m_shadowRoots;
+ ShadowRoot* m_shadowRoot;
bool m_needsDistributionRecalc;
bool m_needsSelectFeatureSet;
};
inline Element* ElementShadow::host() const
{
- ASSERT(!m_shadowRoots.isEmpty());
- return youngestShadowRoot()->host();
-}
-
-inline ShadowRoot* Node::youngestShadowRoot() const
-{
- if (!isElementNode())
- return 0;
- return toElement(this)->youngestShadowRoot();
-}
-
-inline ShadowRoot* Element::youngestShadowRoot() const
-{
- if (ElementShadow* shadow = this->shadow())
- return shadow->youngestShadowRoot();
- return 0;
+ ASSERT(m_shadowRoot);
+ return m_shadowRoot->host();
}
inline ElementShadow* ElementShadow::containingShadow() const

Powered by Google App Engine
This is Rietveld 408576698