Title: [161167] trunk/Source/WebCore

Diff

Modified: trunk/Source/WebCore/ChangeLog (161166 => 161167)


--- trunk/Source/WebCore/ChangeLog	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/ChangeLog	2013-12-31 03:02:25 UTC (rev 161167)
@@ -1,3 +1,13 @@
+2013-12-30  Andreas Kling  <[email protected]>
+
+        InputType should return input renderers wrapped in RenderPtr.
+        <https://webkit.org/b/126307>
+
+        Rename InputType::createRenderer() to createInputRenderer() and
+        make it return RenderPtr<RenderElement>. Also made it non-const.
+
+        Reviewed by Anders Carlsson.
+
 2013-12-30  Gyuyoung Kim  <[email protected]>
 
         Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()

Modified: trunk/Source/WebCore/html/BaseButtonInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/BaseButtonInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/BaseButtonInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -52,9 +52,9 @@
     return false;
 }
 
-RenderElement* BaseButtonInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> BaseButtonInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return new RenderButton(element(), std::move(style));
+    return createRenderer<RenderButton>(element(), std::move(style));
 }
 
 bool BaseButtonInputType::storesValueSeparateFromAttribute()

Modified: trunk/Source/WebCore/html/BaseButtonInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/BaseButtonInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/BaseButtonInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -43,7 +43,7 @@
 private:
     virtual bool shouldSaveAndRestoreFormControlState() const OVERRIDE;
     virtual bool appendFormData(FormDataList&, bool) const OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual bool storesValueSeparateFromAttribute() OVERRIDE;
     virtual void setValue(const String&, bool, TextFieldEventBehavior) OVERRIDE;
 };

Modified: trunk/Source/WebCore/html/FileInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/FileInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/FileInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -208,9 +208,9 @@
     event->setDefaultHandled();
 }
 
-RenderElement* FileInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> FileInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return new RenderFileUploadControl(element(), std::move(style));
+    return createRenderer<RenderFileUploadControl>(element(), std::move(style));
 }
 
 bool FileInputType::canSetStringValue() const

Modified: trunk/Source/WebCore/html/FileInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/FileInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/FileInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -58,7 +58,7 @@
     virtual bool valueMissing(const String&) const OVERRIDE;
     virtual String valueMissingText() const OVERRIDE;
     virtual void handleDOMActivateEvent(Event*) OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual bool canSetStringValue() const OVERRIDE;
     virtual bool canChangeFromAnotherType() const OVERRIDE;
     virtual FileList* files() OVERRIDE;

Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/HTMLInputElement.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -782,7 +782,7 @@
 
 RenderElement* HTMLInputElement::createRenderer(PassRef<RenderStyle> style)
 {
-    return m_inputType->createRenderer(std::move(style));
+    return m_inputType->createInputRenderer(std::move(style)).leakPtr();
 }
 
 void HTMLInputElement::willAttachRenderers()

Modified: trunk/Source/WebCore/html/HiddenInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/HiddenInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/HiddenInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -37,6 +37,7 @@
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
 #include "InputTypeNames.h"
+#include "RenderElement.h"
 
 namespace WebCore {
 
@@ -66,10 +67,10 @@
     return false;
 }
 
-RenderElement* HiddenInputType::createRenderer(PassRef<RenderStyle>) const
+RenderPtr<RenderElement> HiddenInputType::createInputRenderer(PassRef<RenderStyle>)
 {
     ASSERT_NOT_REACHED();
-    return 0;
+    return nullptr;
 }
 
 void HiddenInputType::accessKeyAction(bool)

Modified: trunk/Source/WebCore/html/HiddenInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/HiddenInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/HiddenInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -44,7 +44,7 @@
     virtual FormControlState saveFormControlState() const OVERRIDE;
     virtual void restoreFormControlState(const FormControlState&) OVERRIDE;
     virtual bool supportsValidation() const OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE;
     virtual bool rendererIsNeeded() OVERRIDE;
     virtual bool storesValueSeparateFromAttribute() OVERRIDE;

Modified: trunk/Source/WebCore/html/ImageInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/ImageInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/ImageInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -101,11 +101,11 @@
     event->setDefaultHandled();
 }
 
-RenderElement* ImageInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> ImageInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    RenderImage* image = new RenderImage(element(), std::move(style));
+    auto image = createRenderer<RenderImage>(element(), std::move(style));
     image->setImageResource(RenderImageResource::create());
-    return image;
+    return std::move(image);
 }
 
 void ImageInputType::altAttributeChanged()

Modified: trunk/Source/WebCore/html/ImageInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/ImageInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/ImageInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -47,7 +47,7 @@
     virtual bool isFormDataAppendable() const OVERRIDE;
     virtual bool appendFormData(FormDataList&, bool) const OVERRIDE;
     virtual bool supportsValidation() const OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual void handleDOMActivateEvent(Event*) OVERRIDE;
     virtual void altAttributeChanged() OVERRIDE;
     virtual void srcAttributeChanged() OVERRIDE;

Modified: trunk/Source/WebCore/html/InputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/InputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/InputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -479,9 +479,9 @@
     return element().form();
 }
 
-RenderElement* InputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> InputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return RenderElement::createFor(element(), std::move(style));
+    return RenderPtr<RenderElement>(RenderElement::createFor(element(), std::move(style)));
 }
 
 void InputType::blur()

Modified: trunk/Source/WebCore/html/InputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/InputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/InputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -35,6 +35,7 @@
 
 #include "FeatureObserver.h"
 #include "HTMLTextFormControlElement.h"
+#include "RenderPtr.h"
 #include "StepRange.h"
 #include <wtf/FastMalloc.h>
 #include <wtf/Forward.h>
@@ -236,7 +237,7 @@
     // Miscellaneous functions
 
     virtual bool rendererIsNeeded();
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>);
     virtual void addSearchResult();
     virtual void attach();
     virtual void detach();

Modified: trunk/Source/WebCore/html/RangeInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/RangeInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/RangeInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -289,9 +289,9 @@
     return &typedSliderThumbElement();
 }
 
-RenderElement* RangeInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> RangeInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return new RenderSlider(element(), std::move(style));
+    return createRenderer<RenderSlider>(element(), std::move(style));
 }
 
 Decimal RangeInputType::parseToNumber(const String& src, const Decimal& defaultValue) const

Modified: trunk/Source/WebCore/html/RangeInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/RangeInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/RangeInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -55,7 +55,7 @@
     virtual void handleMouseDownEvent(MouseEvent*) OVERRIDE;
 #endif
     virtual void handleKeydownEvent(KeyboardEvent*) OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual void createShadowSubtree() OVERRIDE;
     virtual Decimal parseToNumber(const String&, const Decimal&) const OVERRIDE;
     virtual String serialize(const Decimal&) const OVERRIDE;

Modified: trunk/Source/WebCore/html/SearchInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/SearchInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/SearchInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -65,9 +65,9 @@
 #endif
 }
 
-RenderElement* SearchInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> SearchInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return new RenderSearchField(element(), std::move(style));
+    return createRenderer<RenderSearchField>(element(), std::move(style));
 }
 
 const AtomicString& SearchInputType::formControlType() const

Modified: trunk/Source/WebCore/html/SearchInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/SearchInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/SearchInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -48,7 +48,7 @@
 private:
     virtual void attach() OVERRIDE;
     virtual void addSearchResult() OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual const AtomicString& formControlType() const OVERRIDE;
     virtual bool shouldRespectSpeechAttribute() OVERRIDE;
     virtual bool isSearchField() const OVERRIDE;

Modified: trunk/Source/WebCore/html/TextFieldInputType.cpp (161166 => 161167)


--- trunk/Source/WebCore/html/TextFieldInputType.cpp	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/TextFieldInputType.cpp	2013-12-31 03:02:25 UTC (rev 161167)
@@ -205,9 +205,9 @@
     return (event->type() == eventNames().textInputEvent && event->eventInterface() == TextEventInterfaceType && static_cast<TextEvent*>(event)->data() == "\n") || InputType::shouldSubmitImplicitly(event);
 }
 
-RenderElement* TextFieldInputType::createRenderer(PassRef<RenderStyle> style) const
+RenderPtr<RenderElement> TextFieldInputType::createInputRenderer(PassRef<RenderStyle> style)
 {
-    return new RenderTextControlSingleLine(element(), std::move(style));
+    return createRenderer<RenderTextControlSingleLine>(element(), std::move(style));
 }
 
 bool TextFieldInputType::needsContainer() const

Modified: trunk/Source/WebCore/html/TextFieldInputType.h (161166 => 161167)


--- trunk/Source/WebCore/html/TextFieldInputType.h	2013-12-31 02:58:28 UTC (rev 161166)
+++ trunk/Source/WebCore/html/TextFieldInputType.h	2013-12-31 03:02:25 UTC (rev 161167)
@@ -88,7 +88,7 @@
     virtual void handleBeforeTextInsertedEvent(BeforeTextInsertedEvent*) OVERRIDE;
     virtual void forwardEvent(Event*) OVERRIDE;
     virtual bool shouldSubmitImplicitly(Event*) OVERRIDE;
-    virtual RenderElement* createRenderer(PassRef<RenderStyle>) const OVERRIDE;
+    virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) OVERRIDE;
     virtual bool shouldUseInputMethod() const OVERRIDE;
 #if !PLATFORM(IOS)
     virtual String sanitizeValue(const String&) const OVERRIDE;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to