summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp')
-rw-r--r--chromium/third_party/WebKit/Source/web/WebFormControlElement.cpp112
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());
}