diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp | 112 |
1 files changed, 108 insertions, 4 deletions
diff --git a/chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp b/chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp index d8330879063..6f7b2bd7ff4 100644 --- a/chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp +++ b/chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp @@ -29,10 +29,14 @@ */ #include "config.h" -#include "WebFormControlElement.h" +#include "public/web/WebFormControlElement.h" #include "core/html/HTMLFormControlElement.h" #include "core/html/HTMLFormElement.h" +#include "core/html/HTMLInputElement.h" +#include "core/html/HTMLSelectElement.h" +#include "core/html/HTMLTextAreaElement.h" + #include "wtf/PassRefPtr.h" using namespace WebCore; @@ -79,23 +83,123 @@ WebString WebFormControlElement::nameForAutofill() const return constUnwrap<HTMLFormControlElement>()->nameForAutofill(); } +bool WebFormControlElement::autoComplete() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->shouldAutocomplete(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->shouldAutocomplete(); + return false; +} + +void WebFormControlElement::setValue(const WebString& value, bool sendEvents) +{ + if (isHTMLInputElement(*m_private)) + unwrap<HTMLInputElement>()->setValue(value, sendEvents ? DispatchInputAndChangeEvent : DispatchNoEvent); + else if (isHTMLTextAreaElement(*m_private)) + unwrap<HTMLTextAreaElement>()->setValue(value, sendEvents ? DispatchInputAndChangeEvent : DispatchNoEvent); + else if (isHTMLSelectElement(*m_private)) + unwrap<HTMLSelectElement>()->setValue(value, sendEvents); +} + +WebString WebFormControlElement::value() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->value(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->value(); + if (isHTMLSelectElement(*m_private)) + return constUnwrap<HTMLSelectElement>()->value(); + return WebString(); +} + +void WebFormControlElement::setSuggestedValue(const WebString& value) +{ + if (isHTMLInputElement(*m_private)) + unwrap<HTMLInputElement>()->setSuggestedValue(value); + else if (isHTMLTextAreaElement(*m_private)) + unwrap<HTMLTextAreaElement>()->setSuggestedValue(value); + else if (isHTMLSelectElement(*m_private)) + unwrap<HTMLSelectElement>()->setSuggestedValue(value); +} + +WebString WebFormControlElement::suggestedValue() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->suggestedValue(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->suggestedValue(); + if (isHTMLSelectElement(*m_private)) + return constUnwrap<HTMLSelectElement>()->suggestedValue(); + return WebString(); +} + +WebString WebFormControlElement::editingValue() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->innerEditorValue(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->innerEditorValue(); + return WebString(); +} + +void WebFormControlElement::setSelectionRange(int start, int end) +{ + if (isHTMLInputElement(*m_private)) + unwrap<HTMLInputElement>()->setSelectionRange(start, end); + else if (isHTMLTextAreaElement(*m_private)) + unwrap<HTMLTextAreaElement>()->setSelectionRange(start, end); +} + +int WebFormControlElement::selectionStart() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->selectionStart(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->selectionStart(); + return 0; +} + +int WebFormControlElement::selectionEnd() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->selectionEnd(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->selectionEnd(); + return 0; +} + +WebString WebFormControlElement::directionForFormData() const +{ + if (isHTMLInputElement(*m_private)) + return constUnwrap<HTMLInputElement>()->directionForFormData(); + if (isHTMLTextAreaElement(*m_private)) + return constUnwrap<HTMLTextAreaElement>()->directionForFormData(); + return WebString(); +} + +bool WebFormControlElement::isActivatedSubmit() const +{ + return constUnwrap<HTMLFormControlElement>()->isActivatedSubmit(); +} + WebFormElement WebFormControlElement::form() const { return WebFormElement(constUnwrap<HTMLFormControlElement>()->form()); } -WebFormControlElement::WebFormControlElement(const PassRefPtr<HTMLFormControlElement>& elem) +WebFormControlElement::WebFormControlElement(const PassRefPtrWillBeRawPtr<HTMLFormControlElement>& elem) : WebElement(elem) { } -WebFormControlElement& WebFormControlElement::operator=(const PassRefPtr<HTMLFormControlElement>& elem) +WebFormControlElement& WebFormControlElement::operator=(const PassRefPtrWillBeRawPtr<HTMLFormControlElement>& elem) { m_private = elem; return *this; } -WebFormControlElement::operator PassRefPtr<HTMLFormControlElement>() const +WebFormControlElement::operator PassRefPtrWillBeRawPtr<HTMLFormControlElement>() const { return toHTMLFormControlElement(m_private.get()); } |