Title: [141132] trunk/Source/WebCore
Revision
141132
Author
[email protected]
Date
2013-01-29 10:22:03 -0800 (Tue, 29 Jan 2013)

Log Message

Move ElementShadow creation to ElementRareData
https://bugs.webkit.org/show_bug.cgi?id=108195

Reviewed by Dimitri Glazkov.

Move the creation of ElementShadow to ElementRareData
for better encapsulation, and get rid of ElementRareData::setShadow.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
* dom/ElementRareData.h:
(WebCore::ElementRareData::clearShadow): Added.
(WebCore::ElementRareData::ensureShadow): Added.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (141131 => 141132)


--- trunk/Source/WebCore/ChangeLog	2013-01-29 18:16:03 UTC (rev 141131)
+++ trunk/Source/WebCore/ChangeLog	2013-01-29 18:22:03 UTC (rev 141132)
@@ -1,3 +1,23 @@
+2013-01-29  Elliott Sprehn  <[email protected]>
+
+        Move ElementShadow creation to ElementRareData
+        https://bugs.webkit.org/show_bug.cgi?id=108195
+
+        Reviewed by Dimitri Glazkov.
+
+        Move the creation of ElementShadow to ElementRareData
+        for better encapsulation, and get rid of ElementRareData::setShadow.
+
+        No new tests, just refactoring.
+
+        * dom/Element.cpp:
+        (WebCore::Element::~Element): Use clearShadow() instead of setShadow which is removed.
+        (WebCore::Element::shadow):
+        (WebCore::Element::ensureShadow): Use ElementRareData::ensureShadow().
+        * dom/ElementRareData.h:
+        (WebCore::ElementRareData::clearShadow): Added.
+        (WebCore::ElementRareData::ensureShadow): Added.
+
 2013-01-29  Alpha Lam  <[email protected]>
 
         [chromium] Unreviewed build fix.

Modified: trunk/Source/WebCore/dom/Element.cpp (141131 => 141132)


--- trunk/Source/WebCore/dom/Element.cpp	2013-01-29 18:16:03 UTC (rev 141131)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-01-29 18:22:03 UTC (rev 141132)
@@ -198,7 +198,7 @@
 
     if (ElementShadow* elementShadow = shadow()) {
         elementShadow->removeAllShadowRoots();
-        elementRareData()->setShadow(nullptr);
+        elementRareData()->clearShadow();
     }
 
     if (hasSyntheticAttrChildNodes())
@@ -1437,20 +1437,12 @@
 
 ElementShadow* Element::shadow() const
 {
-    if (!hasRareData())
-        return 0;
-
-    return elementRareData()->shadow();
+    return hasRareData() ? elementRareData()->shadow() : 0;
 }
 
 ElementShadow* Element::ensureShadow()
 {
-    if (ElementShadow* shadow = ensureElementRareData()->shadow())
-        return shadow;
-
-    ElementRareData* data = ""
-    data->setShadow(ElementShadow::create());
-    return data->shadow();
+    return ensureElementRareData()->ensureShadow();
 }
 
 void Element::didAffectSelector(AffectedSelectorMask mask)

Modified: trunk/Source/WebCore/dom/ElementRareData.h (141131 => 141132)


--- trunk/Source/WebCore/dom/ElementRareData.h	2013-01-29 18:16:03 UTC (rev 141131)
+++ trunk/Source/WebCore/dom/ElementRareData.h	2013-01-29 18:22:03 UTC (rev 141132)
@@ -93,8 +93,14 @@
     // Manually called by Node::reportMemoryUsage.
     void reportMemoryUsage(MemoryObjectInfo*) const;
 
+    void clearShadow() { m_shadow = nullptr; }
     ElementShadow* shadow() const { return m_shadow.get(); }
-    void setShadow(PassOwnPtr<ElementShadow> shadow) { m_shadow = shadow; }
+    ElementShadow* ensureShadow()
+    {
+        if (!m_shadow)
+            m_shadow = ElementShadow::create();
+        return m_shadow.get();
+    }
 
     NamedNodeMap* attributeMap() const { return m_attributeMap.get(); }
     void setAttributeMap(PassOwnPtr<NamedNodeMap> attributeMap) { m_attributeMap = attributeMap; }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to