Title: [156041] trunk/Source/WebCore
Revision
156041
Author
akl...@apple.com
Date
2013-09-18 08:48:34 -0700 (Wed, 18 Sep 2013)

Log Message

CTTE: RenderBR always has an HTMLElement.
<https://webkit.org/b/121557>

Reviewed by Antti Koivisto.

This renderer is never anonymous and always has a corresponding HTMLElement.
Tighten this up by making the constructor take a HTMLElement& and remove
RenderBR::createAnonymous().

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (156040 => 156041)


--- trunk/Source/WebCore/ChangeLog	2013-09-18 15:35:01 UTC (rev 156040)
+++ trunk/Source/WebCore/ChangeLog	2013-09-18 15:48:34 UTC (rev 156041)
@@ -1,5 +1,16 @@
 2013-09-18  Andreas Kling  <akl...@apple.com>
 
+        CTTE: RenderBR always has an HTMLElement.
+        <https://webkit.org/b/121557>
+
+        Reviewed by Antti Koivisto.
+
+        This renderer is never anonymous and always has a corresponding HTMLElement.
+        Tighten this up by making the constructor take a HTMLElement& and remove
+        RenderBR::createAnonymous().
+
+2013-09-18  Andreas Kling  <akl...@apple.com>
+
         Avoid using RenderBR internally in RenderMenuList.
         <https://webkit.org/b/121550>
 

Modified: trunk/Source/WebCore/html/HTMLBRElement.cpp (156040 => 156041)


--- trunk/Source/WebCore/html/HTMLBRElement.cpp	2013-09-18 15:35:01 UTC (rev 156040)
+++ trunk/Source/WebCore/html/HTMLBRElement.cpp	2013-09-18 15:48:34 UTC (rev 156041)
@@ -76,7 +76,7 @@
     if (style.hasContent())
         return RenderObject::createObject(*this, style);
 
-    return new (arena) RenderBR(this);
+    return new (arena) RenderBR(*this);
 }
 
 }

Modified: trunk/Source/WebCore/html/HTMLElement.cpp (156040 => 156041)


--- trunk/Source/WebCore/html/HTMLElement.cpp	2013-09-18 15:35:01 UTC (rev 156040)
+++ trunk/Source/WebCore/html/HTMLElement.cpp	2013-09-18 15:48:34 UTC (rev 156041)
@@ -791,7 +791,7 @@
 RenderObject* HTMLElement::createRenderer(RenderArena& arena, RenderStyle& style)
 {
     if (hasLocalName(wbrTag))
-        return new (arena) RenderBR(this);
+        return new (arena) RenderBR(*this);
     return RenderObject::createObject(*this, style);
 }
 

Modified: trunk/Source/WebCore/rendering/RenderBR.cpp (156040 => 156041)


--- trunk/Source/WebCore/rendering/RenderBR.cpp	2013-09-18 15:35:01 UTC (rev 156040)
+++ trunk/Source/WebCore/rendering/RenderBR.cpp	2013-09-18 15:48:34 UTC (rev 156041)
@@ -32,11 +32,11 @@
 
 static const int invalidLineHeight = -1;
 
-RenderBR::RenderBR(HTMLElement* element)
-    : RenderBoxModelObject(element)
+RenderBR::RenderBR(HTMLElement& element)
+    : RenderBoxModelObject(&element)
     , m_inlineBoxWrapper(nullptr)
     , m_cachedLineHeight(invalidLineHeight)
-    , m_isWBR(element && element->hasTagName(HTMLNames::wbrTag))
+    , m_isWBR(element.hasTagName(HTMLNames::wbrTag))
 {
     setIsLineBreak();
 }
@@ -47,13 +47,6 @@
         m_inlineBoxWrapper->destroy(renderArena());
 }
 
-RenderBR* RenderBR::createAnonymous(Document& document)
-{
-    RenderBR* renderer = new (*document.renderArena()) RenderBR(nullptr);
-    renderer->setDocumentForAnonymous(document);
-    return renderer;
-}
-
 LayoutUnit RenderBR::lineHeight(bool firstLine, LineDirectionMode /*direction*/, LinePositionMode /*linePositionMode*/) const
 {
     if (firstLine && document().styleSheetCollection()->usesFirstLineRules()) {

Modified: trunk/Source/WebCore/rendering/RenderBR.h (156040 => 156041)


--- trunk/Source/WebCore/rendering/RenderBR.h	2013-09-18 15:35:01 UTC (rev 156040)
+++ trunk/Source/WebCore/rendering/RenderBR.h	2013-09-18 15:48:34 UTC (rev 156041)
@@ -32,11 +32,9 @@
 // FIXME: Rename this to RenderLineBreak.
 class RenderBR FINAL : public RenderBoxModelObject {
 public:
-    explicit RenderBR(HTMLElement*);
+    explicit RenderBR(HTMLElement&);
     virtual ~RenderBR();
 
-    static RenderBR* createAnonymous(Document&);
-
     virtual const char* renderName() const { return m_isWBR ? "RenderWordBreak" : "RenderBR"; }
 
     InlineBox* createInlineBox();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to