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;