Title: [177751] trunk/Source/WebCore
Revision
177751
Author
[email protected]
Date
2014-12-26 15:00:04 -0800 (Fri, 26 Dec 2014)

Log Message

Purge PassRefPtr from Element and ElementRareData.
<https://webkit.org/b/139949>

Reviewed by Anders Carlsson.

Make functions that used to take PassRefPtr now take Ref&& or RefPtr&&
instead depending on possible nullity of incoming values.

* dom/Element.cpp:
(WebCore::Element::addShadowRoot):
(WebCore::Element::setBeforePseudoElement):
(WebCore::Element::setAfterPseudoElement):
* dom/Element.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::setShadowRoot):
(WebCore::ElementRareData::setBeforePseudoElement):
(WebCore::ElementRareData::setAfterPseudoElement):
* dom/PseudoElement.h:
* dom/ShadowRoot.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::setBeforeOrAfterPseudoElement):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (177750 => 177751)


--- trunk/Source/WebCore/ChangeLog	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/ChangeLog	2014-12-26 23:00:04 UTC (rev 177751)
@@ -1,3 +1,28 @@
+2014-12-26  Andreas Kling  <[email protected]>
+
+        Purge PassRefPtr from Element and ElementRareData.
+        <https://webkit.org/b/139949>
+
+        Reviewed by Anders Carlsson.
+
+        Make functions that used to take PassRefPtr now take Ref&& or RefPtr&&
+        instead depending on possible nullity of incoming values.
+
+        * dom/Element.cpp:
+        (WebCore::Element::addShadowRoot):
+        (WebCore::Element::setBeforePseudoElement):
+        (WebCore::Element::setAfterPseudoElement):
+        * dom/Element.h:
+        * dom/ElementRareData.h:
+        (WebCore::ElementRareData::setShadowRoot):
+        (WebCore::ElementRareData::setBeforePseudoElement):
+        (WebCore::ElementRareData::setAfterPseudoElement):
+        * dom/PseudoElement.h:
+        * dom/ShadowRoot.h:
+        * style/StyleResolveTree.cpp:
+        (WebCore::Style::setBeforeOrAfterPseudoElement):
+        (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
+
 2014-12-26  Dan Bernstein  <[email protected]>
 
         <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain

Modified: trunk/Source/WebCore/dom/Element.cpp (177750 => 177751)


--- trunk/Source/WebCore/dom/Element.cpp	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/dom/Element.cpp	2014-12-26 23:00:04 UTC (rev 177751)
@@ -1457,24 +1457,24 @@
     setNeedsNodeRenderingTraversalSlowPath(shouldUseNodeRenderingTraversalSlowPath(*this));
 }
 
-void Element::addShadowRoot(PassRefPtr<ShadowRoot> newShadowRoot)
+void Element::addShadowRoot(Ref<ShadowRoot>&& newShadowRoot)
 {
     ASSERT(!shadowRoot());
 
-    ShadowRoot* shadowRoot = newShadowRoot.get();
-    ensureElementRareData().setShadowRoot(newShadowRoot);
+    ShadowRoot& shadowRoot = newShadowRoot.get();
+    ensureElementRareData().setShadowRoot(WTF::move(newShadowRoot));
 
-    shadowRoot->setHostElement(this);
-    shadowRoot->setParentTreeScope(&treeScope());
-    shadowRoot->distributor().didShadowBoundaryChange(this);
+    shadowRoot.setHostElement(this);
+    shadowRoot.setParentTreeScope(&treeScope());
+    shadowRoot.distributor().didShadowBoundaryChange(this);
 
-    ChildNodeInsertionNotifier(*this).notify(*shadowRoot);
+    ChildNodeInsertionNotifier(*this).notify(shadowRoot);
 
     resetNeedsNodeRenderingTraversalSlowPath();
 
     setNeedsStyleRecalc(ReconstructRenderTree);
 
-    InspectorInstrumentation::didPushShadowRoot(this, shadowRoot);
+    InspectorInstrumentation::didPushShadowRoot(this, &shadowRoot);
 }
 
 void Element::removeShadowRoot()
@@ -2329,14 +2329,14 @@
     return hasRareData() ? elementRareData()->afterPseudoElement() : 0;
 }
 
-void Element::setBeforePseudoElement(PassRefPtr<PseudoElement> element)
+void Element::setBeforePseudoElement(Ref<PseudoElement>&& element)
 {
-    ensureElementRareData().setBeforePseudoElement(element);
+    ensureElementRareData().setBeforePseudoElement(WTF::move(element));
 }
 
-void Element::setAfterPseudoElement(PassRefPtr<PseudoElement> element)
+void Element::setAfterPseudoElement(Ref<PseudoElement>&& element)
 {
-    ensureElementRareData().setAfterPseudoElement(element);
+    ensureElementRareData().setAfterPseudoElement(WTF::move(element));
 }
 
 static void disconnectPseudoElement(PseudoElement* pseudoElement)

Modified: trunk/Source/WebCore/dom/Element.h (177750 => 177751)


--- trunk/Source/WebCore/dom/Element.h	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/dom/Element.h	2014-12-26 23:00:04 UTC (rev 177751)
@@ -546,8 +546,8 @@
     virtual void didDetachRenderers();
     virtual RefPtr<RenderStyle> customStyleForRenderer(RenderStyle& parentStyle);
 
-    void setBeforePseudoElement(PassRefPtr<PseudoElement>);
-    void setAfterPseudoElement(PassRefPtr<PseudoElement>);
+    void setBeforePseudoElement(Ref<PseudoElement>&&);
+    void setAfterPseudoElement(Ref<PseudoElement>&&);
     void clearBeforePseudoElement();
     void clearAfterPseudoElement();
     void resetComputedStyle();
@@ -635,7 +635,7 @@
     virtual RefPtr<Node> cloneNodeInternal(Document&, CloningOperation) override;
     virtual RefPtr<Element> cloneElementWithoutAttributesAndChildren(Document&);
 
-    void addShadowRoot(PassRefPtr<ShadowRoot>);
+    void addShadowRoot(Ref<ShadowRoot>&&);
     void removeShadowRoot();
 
     bool rareDataStyleAffectedByEmpty() const;

Modified: trunk/Source/WebCore/dom/ElementRareData.h (177750 => 177751)


--- trunk/Source/WebCore/dom/ElementRareData.h	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/dom/ElementRareData.h	2014-12-26 23:00:04 UTC (rev 177751)
@@ -30,7 +30,6 @@
 #include "RenderElement.h"
 #include "ShadowRoot.h"
 #include "StyleInheritedData.h"
-#include <wtf/OwnPtr.h>
 
 namespace WebCore {
 
@@ -39,8 +38,8 @@
     ElementRareData(Element&, RenderElement*);
     ~ElementRareData();
 
-    void setBeforePseudoElement(PassRefPtr<PseudoElement>);
-    void setAfterPseudoElement(PassRefPtr<PseudoElement>);
+    void setBeforePseudoElement(RefPtr<PseudoElement>&&);
+    void setAfterPseudoElement(RefPtr<PseudoElement>&&);
 
     PseudoElement* beforePseudoElement() const { return m_beforePseudoElement.get(); }
     PseudoElement* afterPseudoElement() const { return m_afterPseudoElement.get(); }
@@ -85,7 +84,7 @@
 
     void clearShadowRoot() { m_shadowRoot = nullptr; }
     ShadowRoot* shadowRoot() const { return m_shadowRoot.get(); }
-    void setShadowRoot(PassRefPtr<ShadowRoot> shadowRoot) { m_shadowRoot = shadowRoot; }
+    void setShadowRoot(RefPtr<ShadowRoot>&& shadowRoot) { m_shadowRoot = WTF::move(shadowRoot); }
 
     NamedNodeMap* attributeMap() const { return m_attributeMap.get(); }
     void setAttributeMap(std::unique_ptr<NamedNodeMap> attributeMap) { m_attributeMap = WTF::move(attributeMap); }
@@ -189,16 +188,16 @@
     ASSERT(!m_afterPseudoElement);
 }
 
-inline void ElementRareData::setBeforePseudoElement(PassRefPtr<PseudoElement> pseudoElement)
+inline void ElementRareData::setBeforePseudoElement(RefPtr<PseudoElement>&& pseudoElement)
 {
     ASSERT(!m_beforePseudoElement || !pseudoElement);
-    m_beforePseudoElement = pseudoElement;
+    m_beforePseudoElement = WTF::move(pseudoElement);
 }
 
-inline void ElementRareData::setAfterPseudoElement(PassRefPtr<PseudoElement> pseudoElement)
+inline void ElementRareData::setAfterPseudoElement(RefPtr<PseudoElement>&& pseudoElement)
 {
     ASSERT(!m_afterPseudoElement || !pseudoElement);
-    m_afterPseudoElement = pseudoElement;
+    m_afterPseudoElement = WTF::move(pseudoElement);
 }
 
 inline void ElementRareData::resetComputedStyle()

Modified: trunk/Source/WebCore/dom/PseudoElement.h (177750 => 177751)


--- trunk/Source/WebCore/dom/PseudoElement.h	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/dom/PseudoElement.h	2014-12-26 23:00:04 UTC (rev 177751)
@@ -36,9 +36,9 @@
 
 class PseudoElement final : public Element {
 public:
-    static PassRefPtr<PseudoElement> create(Element& host, PseudoId pseudoId)
+    static Ref<PseudoElement> create(Element& host, PseudoId pseudoId)
     {
-        return adoptRef(new PseudoElement(host, pseudoId));
+        return adoptRef(*new PseudoElement(host, pseudoId));
     }
     virtual ~PseudoElement();
 

Modified: trunk/Source/WebCore/dom/ShadowRoot.h (177750 => 177751)


--- trunk/Source/WebCore/dom/ShadowRoot.h	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/dom/ShadowRoot.h	2014-12-26 23:00:04 UTC (rev 177751)
@@ -43,9 +43,9 @@
         UserAgentShadowRoot = 0,
     };
 
-    static PassRefPtr<ShadowRoot> create(Document& document, ShadowRootType type)
+    static Ref<ShadowRoot> create(Document& document, ShadowRootType type)
     {
-        return adoptRef(new ShadowRoot(document, type));
+        return adoptRef(*new ShadowRoot(document, type));
     }
 
     virtual ~ShadowRoot();

Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (177750 => 177751)


--- trunk/Source/WebCore/style/StyleResolveTree.cpp	2014-12-26 22:16:30 UTC (rev 177750)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp	2014-12-26 23:00:04 UTC (rev 177751)
@@ -532,14 +532,14 @@
     return current.afterPseudoElement();
 }
 
-static void setBeforeOrAfterPseudoElement(Element& current, PassRefPtr<PseudoElement> pseudoElement, PseudoId pseudoId)
+static void setBeforeOrAfterPseudoElement(Element& current, Ref<PseudoElement>&& pseudoElement, PseudoId pseudoId)
 {
     ASSERT(pseudoId == BEFORE || pseudoId == AFTER);
     if (pseudoId == BEFORE) {
-        current.setBeforePseudoElement(pseudoElement);
+        current.setBeforePseudoElement(WTF::move(pseudoElement));
         return;
     }
-    current.setAfterPseudoElement(pseudoElement);
+    current.setAfterPseudoElement(WTF::move(pseudoElement));
 }
 
 static void clearBeforeOrAfterPseudoElement(Element& current, PseudoId pseudoId)
@@ -592,9 +592,9 @@
 {
     if (!needsPseudoElement(current, pseudoId))
         return;
-    RefPtr<PseudoElement> pseudoElement = PseudoElement::create(current, pseudoId);
-    setBeforeOrAfterPseudoElement(current, pseudoElement, pseudoId);
-    attachRenderTree(*pseudoElement, *current.renderStyle(), renderTreePosition, nullptr);
+    Ref<PseudoElement> pseudoElement = PseudoElement::create(current, pseudoId);
+    setBeforeOrAfterPseudoElement(current, pseudoElement.copyRef(), pseudoId);
+    attachRenderTree(pseudoElement.get(), *current.renderStyle(), renderTreePosition, nullptr);
 }
 
 static void attachRenderTree(Element& current, RenderStyle& inheritedStyle, RenderTreePosition& renderTreePosition, PassRefPtr<RenderStyle> resolvedStyle)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to