Move setPseudoStyle() to RenderImage (from RenderElement.)
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 13 Oct 2013 15:56:39 +0000 (15:56 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 13 Oct 2013 15:56:39 +0000 (15:56 +0000)
<https://webkit.org/b/122726>

Reviewed by Antti Koivisto.

Only RenderImages ever use setPseudoStyle() so move it there and
remove the non-image codepath.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157371 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/dom/PseudoElement.cpp
Source/WebCore/rendering/RenderElement.cpp
Source/WebCore/rendering/RenderElement.h
Source/WebCore/rendering/RenderImage.cpp
Source/WebCore/rendering/RenderImage.h

index be34f52..a8035ca 100644 (file)
@@ -1,5 +1,15 @@
 2013-10-13  Andreas Kling  <akling@apple.com>
 
+        Move setPseudoStyle() to RenderImage (from RenderElement.)
+        <https://webkit.org/b/122726>
+
+        Reviewed by Antti Koivisto.
+
+        Only RenderImages ever use setPseudoStyle() so move it there and
+        remove the non-image codepath.
+
+2013-10-13  Andreas Kling  <akling@apple.com>
+
         CTTE: RenderSlider always has an HTMLInputElement.
         <https://webkit.org/b/122728>
 
index cac3c3b..a573dcc 100644 (file)
@@ -30,6 +30,7 @@
 #include "ContentData.h"
 #include "InspectorInstrumentation.h"
 #include "RenderElement.h"
+#include "RenderImage.h"
 #include "RenderQuote.h"
 
 namespace WebCore {
@@ -113,7 +114,7 @@ void PseudoElement::didRecalcStyle(Style::Change)
         // We only manage the style for the generated content which must be images or text.
         if (!child->isImage())
             continue;
-        toRenderElement(child)->setPseudoStyle(renderer->style());
+        toRenderImage(child)->setPseudoStyle(renderer->style());
     }
 }
 
index a989c56..26527da 100644 (file)
@@ -425,23 +425,6 @@ void RenderElement::setAnimatableStyle(PassRefPtr<RenderStyle> style)
     setStyle(animation().updateAnimations(this, style.get()));
 }
 
-void RenderElement::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle)
-{
-    ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFTER);
-
-    // Images are special and must inherit the pseudoStyle so the width and height of
-    // the pseudo element doesn't change the size of the image. In all other cases we
-    // can just share the style.
-    if (isImage()) {
-        RefPtr<RenderStyle> style = RenderStyle::create();
-        style->inheritFrom(pseudoStyle.get());
-        setStyle(style.release());
-        return;
-    }
-
-    setStyle(pseudoStyle);
-}
-
 void RenderElement::addChild(RenderObject* newChild, RenderObject* beforeChild)
 {
     bool needsTable = false;
index 84af49d..268328d 100644 (file)
@@ -39,8 +39,6 @@ public:
     virtual void setStyle(PassRefPtr<RenderStyle>);
     // Called to update a style that is allowed to trigger animations.
     void setAnimatableStyle(PassRefPtr<RenderStyle>);
-    // Set the style of the object if it's generated content.
-    void setPseudoStyle(PassRefPtr<RenderStyle>);
 
     // This is null for anonymous renderers.
     Element* element() const { return toElement(RenderObject::node()); }
index 318a390..6173d07 100644 (file)
@@ -75,6 +75,19 @@ RenderImage::~RenderImage()
     m_imageResource->shutdown();
 }
 
+
+void RenderImage::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle)
+{
+    ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFTER);
+
+    // Images are special and must inherit the pseudoStyle so the width and height of
+    // the pseudo element doesn't change the size of the image. In all other cases we
+    // can just share the style.
+    RefPtr<RenderStyle> style = RenderStyle::create();
+    style->inheritFrom(pseudoStyle.get());
+    setStyle(style.release());
+}
+
 void RenderImage::setImageResource(PassOwnPtr<RenderImageResource> imageResource)
 {
     ASSERT(!m_imageResource);
index ea3eac0..3dc9db1 100644 (file)
@@ -40,6 +40,9 @@ public:
 
     static RenderImage* createAnonymous(Document&);
 
+    // Set the style of the object if it's generated content.
+    void setPseudoStyle(PassRefPtr<RenderStyle>);
+
     void setImageResource(PassOwnPtr<RenderImageResource>);
 
     RenderImageResource* imageResource() { return m_imageResource.get(); }