<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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
18 files changed:
+2013-12-30 Andreas Kling <akling@apple.com>
+
+ 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 <gyuyoung.kim@samsung.com>
Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
2013-12-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
-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()
}
bool BaseButtonInputType::storesValueSeparateFromAttribute()
private:
virtual bool shouldSaveAndRestoreFormControlState() const OVERRIDE;
virtual bool appendFormData(FormDataList&, bool) const OVERRIDE;
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;
};
virtual bool storesValueSeparateFromAttribute() OVERRIDE;
virtual void setValue(const String&, bool, TextFieldEventBehavior) OVERRIDE;
};
event->setDefaultHandled();
}
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
}
bool FileInputType::canSetStringValue() const
virtual bool valueMissing(const String&) const OVERRIDE;
virtual String valueMissingText() const OVERRIDE;
virtual void handleDOMActivateEvent(Event*) OVERRIDE;
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;
virtual bool canSetStringValue() const OVERRIDE;
virtual bool canChangeFromAnotherType() const OVERRIDE;
virtual FileList* files() OVERRIDE;
RenderElement* HTMLInputElement::createRenderer(PassRef<RenderStyle> style)
{
RenderElement* HTMLInputElement::createRenderer(PassRef<RenderStyle> style)
{
- return m_inputType->createRenderer(std::move(style));
+ return m_inputType->createInputRenderer(std::move(style)).leakPtr();
}
void HTMLInputElement::willAttachRenderers()
}
void HTMLInputElement::willAttachRenderers()
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "InputTypeNames.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "InputTypeNames.h"
+#include "RenderElement.h"
-RenderElement* HiddenInputType::createRenderer(PassRef<RenderStyle>) const
+RenderPtr<RenderElement> HiddenInputType::createInputRenderer(PassRef<RenderStyle>)
}
void HiddenInputType::accessKeyAction(bool)
}
void HiddenInputType::accessKeyAction(bool)
virtual FormControlState saveFormControlState() const OVERRIDE;
virtual void restoreFormControlState(const FormControlState&) OVERRIDE;
virtual bool supportsValidation() const OVERRIDE;
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;
virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE;
virtual bool rendererIsNeeded() OVERRIDE;
virtual bool storesValueSeparateFromAttribute() OVERRIDE;
event->setDefaultHandled();
}
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());
image->setImageResource(RenderImageResource::create());
+ return std::move(image);
}
void ImageInputType::altAttributeChanged()
}
void ImageInputType::altAttributeChanged()
virtual bool isFormDataAppendable() const OVERRIDE;
virtual bool appendFormData(FormDataList&, bool) const OVERRIDE;
virtual bool supportsValidation() const OVERRIDE;
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;
virtual void handleDOMActivateEvent(Event*) OVERRIDE;
virtual void altAttributeChanged() OVERRIDE;
virtual void srcAttributeChanged() OVERRIDE;
return element().form();
}
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)));
#include "FeatureObserver.h"
#include "HTMLTextFormControlElement.h"
#include "FeatureObserver.h"
#include "HTMLTextFormControlElement.h"
#include "StepRange.h"
#include <wtf/FastMalloc.h>
#include <wtf/Forward.h>
#include "StepRange.h"
#include <wtf/FastMalloc.h>
#include <wtf/Forward.h>
// Miscellaneous functions
virtual bool rendererIsNeeded();
// 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();
virtual void addSearchResult();
virtual void attach();
virtual void detach();
return &typedSliderThumbElement();
}
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
}
Decimal RangeInputType::parseToNumber(const String& src, const Decimal& defaultValue) const
virtual void handleMouseDownEvent(MouseEvent*) OVERRIDE;
#endif
virtual void handleKeydownEvent(KeyboardEvent*) OVERRIDE;
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;
virtual void createShadowSubtree() OVERRIDE;
virtual Decimal parseToNumber(const String&, const Decimal&) const OVERRIDE;
virtual String serialize(const Decimal&) const OVERRIDE;
-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
}
const AtomicString& SearchInputType::formControlType() const
private:
virtual void attach() OVERRIDE;
virtual void addSearchResult() OVERRIDE;
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;
virtual const AtomicString& formControlType() const OVERRIDE;
virtual bool shouldRespectSpeechAttribute() OVERRIDE;
virtual bool isSearchField() const OVERRIDE;
return (event->type() == eventNames().textInputEvent && event->eventInterface() == TextEventInterfaceType && static_cast<TextEvent*>(event)->data() == "\n") || InputType::shouldSubmitImplicitly(event);
}
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
}
bool TextFieldInputType::needsContainer() const
virtual void handleBeforeTextInsertedEvent(BeforeTextInsertedEvent*) OVERRIDE;
virtual void forwardEvent(Event*) OVERRIDE;
virtual bool shouldSubmitImplicitly(Event*) OVERRIDE;
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;
virtual bool shouldUseInputMethod() const OVERRIDE;
#if !PLATFORM(IOS)
virtual String sanitizeValue(const String&) const OVERRIDE;