Title: [120049] trunk
Revision
120049
Author
tk...@chromium.org
Date
2012-06-12 02:10:04 -0700 (Tue, 12 Jun 2012)

Log Message

Remove unnecessary functions: setName() and formControlName()
https://bugs.webkit.org/show_bug.cgi?id=88392

Reviewed by Kentaro Hara.

Source/WebCore:

'name' IDL attributes of form-related elements should be [Reflected],
and we don't need to have setName(). We used formControlName() for
name() implementation, and formControlName() is not needed because it
just converts a null attribute to an empty string. Our binding code does it.

We don't remove FormAssociatedElement::name() because many C++ code use it.

FormAssociatedElement::name() is virtual, and HTMLInputElement overrides
it so that it returns a cache of the name attribtue value because
CheckedRadioButtons class needs to know an old name attribute value when
the name attribtue is changed.

References:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name
http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name

Test: fast/forms/name-attribute.html

* dom/Element.h: Remove formControlName().
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::name):
Copied from formControlName() implementation of HTMLFormControlElement.
* html/FormAssociatedElement.h:
(FormAssociatedElement): Make name() virtual, remove formControlName().
* html/FormController.cpp:
(WebCore::FormController::formElementsState):
Use name() instead of formControlName().
* html/HTMLFormControlElement.cpp:
Remove formControlName() and setName().
* html/HTMLFormControlElement.h: ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::name): Renamed from formControlName().
* html/HTMLInputElement.h:
(HTMLInputElement): Renamed formControlName() to name(), and make it public.
* html/HTMLKeygenElement.idl: Make 'name' [Reflected].
* html/HTMLObjectElement.cpp: Remove formControlName().
* html/HTMLObjectElement.h: ditto.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::appendFormData):
Use name() instead of formControlName().
* html/HTMLSelectElement.idl: Make 'name' [Reflected].
* html/HTMLTextAreaElement.idl: Make 'name' [Reflected].

LayoutTests:

* fast/forms/name-attribute-expected.txt: Added.
* fast/forms/name-attribute.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (120048 => 120049)


--- trunk/LayoutTests/ChangeLog	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/LayoutTests/ChangeLog	2012-06-12 09:10:04 UTC (rev 120049)
@@ -1,3 +1,13 @@
+2012-06-12  Kent Tamura  <tk...@chromium.org>
+
+        Remove unnecessary functions: setName() and formControlName()
+        https://bugs.webkit.org/show_bug.cgi?id=88392
+
+        Reviewed by Kentaro Hara.
+
+        * fast/forms/name-attribute-expected.txt: Added.
+        * fast/forms/name-attribute.html: Added.
+
 2012-06-12  Mario Sanchez Prada  <msanc...@igalia.com>
 
         Unreviewed gardening. Skip test crashing on GTK debug bots.

Added: trunk/LayoutTests/fast/forms/name-attribute-expected.txt (0 => 120049)


--- trunk/LayoutTests/fast/forms/name-attribute-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/name-attribute-expected.txt	2012-06-12 09:10:04 UTC (rev 120049)
@@ -0,0 +1,279 @@
+Check behavior of name attribute for various form elements
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Test cases for button
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for fieldset
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for form
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for input
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for keygen
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for object
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for output
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for select
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+Test cases for textarea
+Initial value:
+PASS element.name is ""
+PASS element.getAttribute("name") is null
+Setting a value via the IDL attribute:
+PASS element.name = "foo"; element.name is "foo"
+PASS element.getAttribute("name") is "foo"
+Setting a value via the content attribute:
+PASS element.setAttribute("name", " bar\n"); element.name is " bar\n"
+PASS element.getAttribute("name") is " bar\n"
+Setting null via the IDL attribute:
+PASS element.name = null; element.name is ""
+PASS element.getAttribute("name") is null
+Setting null via the content attribute:
+PASS element.setAttribute("name", null); element.name is "null"
+PASS element.getAttribute("name") is "null"
+Setting undefined via the IDL attribute:
+PASS element.name = undefined; element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting undefined via the content attribute:
+PASS element.setAttribute("name", undefined); element.name is "undefined"
+PASS element.getAttribute("name") is "undefined"
+Setting non-string via the IDL attribute:
+PASS element.name = 123; element.name is "123"
+PASS element.getAttribute("name") is "123"
+Setting non-string via the content attribute:
+PASS element.setAttribute("name", 456); element.name is "456"
+PASS element.getAttribute("name") is "456"
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/forms/name-attribute.html (0 => 120049)


--- trunk/LayoutTests/fast/forms/name-attribute.html	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/name-attribute.html	2012-06-12 09:10:04 UTC (rev 120049)
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<script src=""
+<script>
+description("Check behavior of name attribute for various form elements");
+var elementNames = ["button", "fieldset", "form", "input", "keygen", "object", "output", "select", "textarea"];
+for (var i = 0; i < elementNames.length; ++i) {
+    var element = document.createElement(elementNames[i]);
+    debug('Test cases for ' + elementNames[i]);
+    debug('Initial value:');
+    shouldBeEqualToString('element.name', '');
+    shouldBeNull('element.getAttribute("name")');
+
+    debug('Setting a value via the IDL attribute:');
+    shouldBeEqualToString('element.name = "foo"; element.name', 'foo');
+    shouldBeEqualToString('element.getAttribute("name")', 'foo');
+
+    debug('Setting a value via the content attribute:');
+    shouldBeEqualToString('element.setAttribute("name", " bar\\n"); element.name', ' bar\n');
+    shouldBeEqualToString('element.getAttribute("name")', ' bar\n');
+
+    debug('Setting null via the IDL attribute:');
+    shouldBeEqualToString('element.name = null; element.name', '');
+    shouldBeNull('element.getAttribute("name")');
+
+    debug('Setting null via the content attribute:');
+    shouldBeEqualToString('element.setAttribute("name", null); element.name', 'null');
+    shouldBeEqualToString('element.getAttribute("name")', 'null');
+
+    debug('Setting undefined via the IDL attribute:');
+    shouldBeEqualToString('element.name = undefined; element.name', 'undefined');
+    shouldBeEqualToString('element.getAttribute("name")', 'undefined');
+
+    debug('Setting undefined via the content attribute:');
+    shouldBeEqualToString('element.setAttribute("name", undefined); element.name', 'undefined');
+    shouldBeEqualToString('element.getAttribute("name")', 'undefined');
+
+    debug('Setting non-string via the IDL attribute:');
+    shouldBeEqualToString('element.name = 123; element.name', '123');
+    shouldBeEqualToString('element.getAttribute("name")', '123');
+
+    debug('Setting non-string via the content attribute:');
+    shouldBeEqualToString('element.setAttribute("name", 456); element.name', '456');
+    shouldBeEqualToString('element.getAttribute("name")', '456');
+
+    debug('\n');
+}
+</script>
+<script src=""

Modified: trunk/Source/WebCore/ChangeLog (120048 => 120049)


--- trunk/Source/WebCore/ChangeLog	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/ChangeLog	2012-06-12 09:10:04 UTC (rev 120049)
@@ -1,3 +1,54 @@
+2012-06-12  Kent Tamura  <tk...@chromium.org>
+
+        Remove unnecessary functions: setName() and formControlName()
+        https://bugs.webkit.org/show_bug.cgi?id=88392
+
+        Reviewed by Kentaro Hara.
+
+        'name' IDL attributes of form-related elements should be [Reflected],
+        and we don't need to have setName(). We used formControlName() for
+        name() implementation, and formControlName() is not needed because it
+        just converts a null attribute to an empty string. Our binding code does it.
+
+        We don't remove FormAssociatedElement::name() because many C++ code use it.
+
+        FormAssociatedElement::name() is virtual, and HTMLInputElement overrides
+        it so that it returns a cache of the name attribtue value because
+        CheckedRadioButtons class needs to know an old name attribute value when
+        the name attribtue is changed.
+
+        References:
+        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name
+        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name
+        http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name
+
+        Test: fast/forms/name-attribute.html
+
+        * dom/Element.h: Remove formControlName().
+        * html/FormAssociatedElement.cpp:
+        (WebCore::FormAssociatedElement::name):
+        Copied from formControlName() implementation of HTMLFormControlElement.
+        * html/FormAssociatedElement.h:
+        (FormAssociatedElement): Make name() virtual, remove formControlName().
+        * html/FormController.cpp:
+        (WebCore::FormController::formElementsState):
+        Use name() instead of formControlName().
+        * html/HTMLFormControlElement.cpp:
+        Remove formControlName() and setName().
+        * html/HTMLFormControlElement.h: ditto.
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::name): Renamed from formControlName().
+        * html/HTMLInputElement.h:
+        (HTMLInputElement): Renamed formControlName() to name(), and make it public.
+        * html/HTMLKeygenElement.idl: Make 'name' [Reflected].
+        * html/HTMLObjectElement.cpp: Remove formControlName().
+        * html/HTMLObjectElement.h: ditto.
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::appendFormData):
+        Use name() instead of formControlName().
+        * html/HTMLSelectElement.idl: Make 'name' [Reflected].
+        * html/HTMLTextAreaElement.idl: Make 'name' [Reflected].
+
 2012-06-11  Nico Weber  <tha...@chromium.org>
 
         Remove unused member variables found by clang's -Wunused-private-field

Modified: trunk/Source/WebCore/dom/Element.h (120048 => 120049)


--- trunk/Source/WebCore/dom/Element.h	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/dom/Element.h	2012-06-12 09:10:04 UTC (rev 120049)
@@ -378,7 +378,6 @@
 
     virtual bool canContainRangeEndPoint() const { return true; }
 
-    virtual const AtomicString& formControlName() const { return nullAtom; }
     virtual const AtomicString& formControlType() const { return nullAtom; }
 
     virtual bool wasChangedSinceLastFormControlChangeEvent() const;

Modified: trunk/Source/WebCore/html/FormAssociatedElement.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/FormAssociatedElement.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/FormAssociatedElement.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -221,6 +221,12 @@
     m_customValidationMessage = error;
 }
 
+const AtomicString& FormAssociatedElement::name() const
+{
+    const AtomicString& name = toHTMLElement(this)->getNameAttribute();
+    return name.isNull() ? emptyAtom : name;
+}
+
 const HTMLElement* toHTMLElement(const FormAssociatedElement* associatedElement)
 {
     if (associatedElement->isFormControlElement())

Modified: trunk/Source/WebCore/html/FormAssociatedElement.h (120048 => 120049)


--- trunk/Source/WebCore/html/FormAssociatedElement.h	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/FormAssociatedElement.h	2012-06-12 09:10:04 UTC (rev 120049)
@@ -48,7 +48,10 @@
     virtual bool isFormControlElement() const = 0;
     virtual bool isEnumeratable() const = 0;
 
-    const AtomicString& name() const { return formControlName(); }
+    // Returns the 'name' attribute value. If this element has no name
+    // attribute, it returns an empty string instead of null string.
+    // Note that the 'name' IDL attribute doesn't use this function.
+    virtual const AtomicString& name() const;
 
     // Override in derived classes to get the encoded name=value pair for submitting.
     // Return true for a successful control (see HTML4-17.13.2).
@@ -95,8 +98,6 @@
     String customValidationMessage() const;
 
 private:
-    virtual const AtomicString& formControlName() const = 0;
-
     virtual void refFormAssociatedElement() = 0;
     virtual void derefFormAssociatedElement() = 0;
 

Modified: trunk/Source/WebCore/html/FormController.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/FormController.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/FormController.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -48,7 +48,7 @@
         String value;
         if (!elementWithState->saveFormControlState(value))
             continue;
-        stateVector.append(elementWithState->formControlName().string());
+        stateVector.append(elementWithState->name().string());
         stateVector.append(elementWithState->formControlType().string());
         stateVector.append(value);
     }

Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -241,17 +241,6 @@
     FormAssociatedElement::removedFrom(insertionPoint);
 }
 
-const AtomicString& HTMLFormControlElement::formControlName() const
-{
-    const AtomicString& name = getNameAttribute();
-    return name.isNull() ? emptyAtom : name;
-}
-
-void HTMLFormControlElement::setName(const AtomicString& value)
-{
-    setAttribute(nameAttr, value);
-}
-
 bool HTMLFormControlElement::wasChangedSinceLastFormControlChangeEvent() const
 {
     return m_wasChangedSinceLastFormControlChangeEvent;

Modified: trunk/Source/WebCore/html/HTMLFormControlElement.h (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLFormControlElement.h	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.h	2012-06-12 09:10:04 UTC (rev 120049)
@@ -77,9 +77,6 @@
 
     const AtomicString& type() const { return formControlType(); }
 
-    void setName(const AtomicString& name);
-
-    virtual const AtomicString& formControlName() const OVERRIDE;
     virtual const AtomicString& formControlType() const OVERRIDE = 0;
     virtual bool isEnabledFormControl() const { return !disabled(); }
     virtual bool isReadOnlyFormControl() const { return readOnly(); }

Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLInputElement.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -131,7 +131,7 @@
         document()->formController()->checkedRadioButtons().removeButton(this);
 }
 
-const AtomicString& HTMLInputElement::formControlName() const
+const AtomicString& HTMLInputElement::name() const
 {
     return m_name.isNull() ? emptyAtom : m_name;
 }

Modified: trunk/Source/WebCore/html/HTMLInputElement.h (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLInputElement.h	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLInputElement.h	2012-06-12 09:10:04 UTC (rev 120049)
@@ -254,6 +254,8 @@
     void setHeight(unsigned);
     void setWidth(unsigned);
 
+    virtual const AtomicString& name() const OVERRIDE;
+
 protected:
     HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
     void createShadowSubtree();
@@ -276,8 +278,6 @@
     virtual void aboutToUnload();
     virtual bool shouldUseInputMethod();
 
-    virtual const AtomicString& formControlName() const;
-
     virtual bool isTextFormControl() const { return isTextField(); }
 
     virtual bool canTriggerImplicitSubmission() const { return isTextField(); }

Modified: trunk/Source/WebCore/html/HTMLKeygenElement.idl (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLKeygenElement.idl	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLKeygenElement.idl	2012-06-12 09:10:04 UTC (rev 120049)
@@ -36,7 +36,7 @@
         attribute [Reflect] boolean disabled;
         readonly attribute HTMLFormElement form;
         attribute [Reflect] DOMString keytype;
-        attribute DOMString name;
+        attribute [Reflect] DOMString name;
 
         readonly attribute DOMString type;
 

Modified: trunk/Source/WebCore/html/HTMLObjectElement.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLObjectElement.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLObjectElement.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -501,12 +501,6 @@
     return true;
 }
 
-const AtomicString& HTMLObjectElement::formControlName() const
-{
-    const AtomicString& name = getNameAttribute();
-    return name.isNull() ? emptyAtom : name;
-}
-
 HTMLFormElement* HTMLObjectElement::virtualForm() const
 {
     return FormAssociatedElement::form();

Modified: trunk/Source/WebCore/html/HTMLObjectElement.h (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLObjectElement.h	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLObjectElement.h	2012-06-12 09:10:04 UTC (rev 120049)
@@ -101,8 +101,6 @@
     virtual void derefFormAssociatedElement() { deref(); }
     virtual HTMLFormElement* virtualForm() const;
 
-    virtual const AtomicString& formControlName() const;
-
 #if ENABLE(MICRODATA)
     virtual String itemValueText() const OVERRIDE;
     virtual void setItemValueText(const String&, ExceptionCode&) OVERRIDE;

Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLSelectElement.cpp	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp	2012-06-12 09:10:04 UTC (rev 120049)
@@ -964,7 +964,7 @@
 
 bool HTMLSelectElement::appendFormData(FormDataList& list, bool)
 {
-    const AtomicString& name = formControlName();
+    const AtomicString& name = this->name();
     if (name.isEmpty())
         return false;
 

Modified: trunk/Source/WebCore/html/HTMLSelectElement.idl (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLSelectElement.idl	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLSelectElement.idl	2012-06-12 09:10:04 UTC (rev 120049)
@@ -28,7 +28,7 @@
         attribute [Reflect] boolean disabled;
         readonly attribute HTMLFormElement form;
         attribute boolean multiple;
-        attribute [TreatNullAs=NullString] DOMString name;
+        attribute [Reflect] DOMString name;
         attribute [Reflect] boolean required;
         attribute long size;
 

Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.idl (120048 => 120049)


--- trunk/Source/WebCore/html/HTMLTextAreaElement.idl	2012-06-12 08:58:28 UTC (rev 120048)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.idl	2012-06-12 09:10:04 UTC (rev 120049)
@@ -28,7 +28,7 @@
         attribute [Reflect] boolean disabled;
         readonly attribute HTMLFormElement form;
         attribute long maxLength setter raises(DOMException);
-        attribute [TreatNullAs=NullString] DOMString name;
+        attribute [Reflect] DOMString name;
         attribute [Reflect] DOMString placeholder;
         attribute [Reflect] boolean readOnly;
         attribute [Reflect] boolean required;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to