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

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

Issue 1904703002: Move v0 things from ShadowRootRareData into ShadowRootRareDataV0 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/ShadowRoot.cpp
diff --git a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp
index 1b204033c8bd1438d39c6d504460ad665338afa1..0f1b70b3baf319b284d2d637ccbe0e065f56ea4f 100644
--- a/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp
+++ b/third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp
@@ -36,6 +36,7 @@
#include "core/dom/shadow/ElementShadow.h"
#include "core/dom/shadow/InsertionPoint.h"
#include "core/dom/shadow/ShadowRootRareData.h"
+#include "core/dom/shadow/ShadowRootRareDataV0.h"
#include "core/editing/serializers/Serialization.h"
#include "core/html/HTMLShadowElement.h"
#include "public/platform/Platform.h"
@@ -44,7 +45,7 @@ namespace blink {
struct SameSizeAsShadowRoot : public DocumentFragment, public TreeScope, public DoublyLinkedListNode<ShadowRoot> {
char emptyClassFieldsDueToGCMixinMarker[1];
- Member<void*> willbeMember[4];
+ Member<void*> willbeMember[5];
unsigned countersAndFlags[1];
};
@@ -55,6 +56,8 @@ ShadowRoot::ShadowRoot(Document& document, ShadowRootType type)
, TreeScope(*this, document)
, m_prev(nullptr)
, m_next(nullptr)
+ , m_shadowRootRareData(nullptr)
tkent 2016/04/21 05:46:01 You don't need to initialize Member<T> with nullpt
hayato 2016/04/21 06:33:27 Done
+ , m_shadowRootRareDataV0(nullptr)
, m_slotAssignment(nullptr)
, m_numberOfStyles(0)
, m_type(static_cast<unsigned>(type))
@@ -194,14 +197,23 @@ ShadowRootRareData* ShadowRoot::ensureShadowRootRareData()
return m_shadowRootRareData.get();
}
+ShadowRootRareDataV0* ShadowRoot::ensureShadowRootRareDataV0()
+{
+ if (m_shadowRootRareDataV0)
+ return m_shadowRootRareDataV0.get();
+
+ m_shadowRootRareDataV0 = new ShadowRootRareDataV0;
+ return m_shadowRootRareDataV0.get();
+}
+
bool ShadowRoot::containsShadowElements() const
{
- return m_shadowRootRareData ? m_shadowRootRareData->containsShadowElements() : 0;
+ return m_shadowRootRareDataV0 ? m_shadowRootRareDataV0->containsShadowElements() : 0;
tkent 2016/04/21 05:46:01 0 -> false?
hayato 2016/04/21 06:33:27 Done
}
bool ShadowRoot::containsContentElements() const
{
- return m_shadowRootRareData ? m_shadowRootRareData->containsContentElements() : 0;
+ return m_shadowRootRareDataV0 ? m_shadowRootRareDataV0->containsContentElements() : 0;
tkent 2016/04/21 05:46:01 0 -> false?
hayato 2016/04/21 06:33:27 Done
}
bool ShadowRoot::containsShadowRoots() const
@@ -211,30 +223,30 @@ bool ShadowRoot::containsShadowRoots() const
unsigned ShadowRoot::descendantShadowElementCount() const
{
- return m_shadowRootRareData ? m_shadowRootRareData->descendantShadowElementCount() : 0;
+ return m_shadowRootRareDataV0 ? m_shadowRootRareDataV0->descendantShadowElementCount() : 0;
}
HTMLShadowElement* ShadowRoot::shadowInsertionPointOfYoungerShadowRoot() const
{
- return m_shadowRootRareData ? m_shadowRootRareData->shadowInsertionPointOfYoungerShadowRoot() : 0;
+ return m_shadowRootRareDataV0 ? m_shadowRootRareDataV0->shadowInsertionPointOfYoungerShadowRoot() : 0;
tkent 2016/04/21 05:46:00 0 -> nullptr?
hayato 2016/04/21 06:33:27 Done
}
void ShadowRoot::setShadowInsertionPointOfYoungerShadowRoot(HTMLShadowElement* shadowInsertionPoint)
{
- if (!m_shadowRootRareData && !shadowInsertionPoint)
+ if (!m_shadowRootRareDataV0 && !shadowInsertionPoint)
return;
- ensureShadowRootRareData()->setShadowInsertionPointOfYoungerShadowRoot(shadowInsertionPoint);
+ ensureShadowRootRareDataV0()->setShadowInsertionPointOfYoungerShadowRoot(shadowInsertionPoint);
}
void ShadowRoot::didAddInsertionPoint(InsertionPoint* insertionPoint)
{
- ensureShadowRootRareData()->didAddInsertionPoint(insertionPoint);
+ ensureShadowRootRareDataV0()->didAddInsertionPoint(insertionPoint);
invalidateDescendantInsertionPoints();
}
void ShadowRoot::didRemoveInsertionPoint(InsertionPoint* insertionPoint)
{
- m_shadowRootRareData->didRemoveInsertionPoint(insertionPoint);
+ m_shadowRootRareDataV0->didRemoveInsertionPoint(insertionPoint);
invalidateDescendantInsertionPoints();
}
@@ -259,14 +271,14 @@ unsigned ShadowRoot::childShadowRootCount() const
void ShadowRoot::invalidateDescendantInsertionPoints()
{
m_descendantInsertionPointsIsValid = false;
- m_shadowRootRareData->clearDescendantInsertionPoints();
+ m_shadowRootRareDataV0->clearDescendantInsertionPoints();
}
const HeapVector<Member<InsertionPoint>>& ShadowRoot::descendantInsertionPoints()
{
DEFINE_STATIC_LOCAL(HeapVector<Member<InsertionPoint>>, emptyList, (new HeapVector<Member<InsertionPoint>>));
- if (m_shadowRootRareData && m_descendantInsertionPointsIsValid)
- return m_shadowRootRareData->descendantInsertionPoints();
+ if (m_shadowRootRareDataV0 && m_descendantInsertionPointsIsValid)
+ return m_shadowRootRareDataV0->descendantInsertionPoints();
m_descendantInsertionPointsIsValid = true;
@@ -277,9 +289,9 @@ const HeapVector<Member<InsertionPoint>>& ShadowRoot::descendantInsertionPoints(
for (InsertionPoint& insertionPoint : Traversal<InsertionPoint>::descendantsOf(*this))
insertionPoints.append(&insertionPoint);
- ensureShadowRootRareData()->setDescendantInsertionPoints(insertionPoints);
+ ensureShadowRootRareDataV0()->setDescendantInsertionPoints(insertionPoints);
- return m_shadowRootRareData->descendantInsertionPoints();
+ return m_shadowRootRareDataV0->descendantInsertionPoints();
}
StyleSheetList* ShadowRoot::styleSheets()
@@ -346,6 +358,7 @@ DEFINE_TRACE(ShadowRoot)
visitor->trace(m_prev);
visitor->trace(m_next);
visitor->trace(m_shadowRootRareData);
+ visitor->trace(m_shadowRootRareDataV0);
visitor->trace(m_slotAssignment);
TreeScope::trace(visitor);
DocumentFragment::trace(visitor);
« no previous file with comments | « third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h ('k') | third_party/WebKit/Source/core/dom/shadow/ShadowRootRareData.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698