el.getAttribute('type') returns 'null' when setting el.type to null
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Jun 2012 08:31:25 +0000 (08:31 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Jun 2012 08:31:25 +0000 (08:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=89030

Patch by Edaena Salinas Jasso <edaena@apple.com> on 2012-06-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/dom/HTMLButtonElement/change-type.html

* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::setType): Changed parameter to be AtomicString to
address an unrelated review comment from bug 14439 for slightly better performance.
* html/HTMLButtonElement.h:
(HTMLButtonElement): Changed parameter to be AtomicString to address an unrelated
review comment from bug 14439 for slightly better performance.
* html/HTMLButtonElement.idl: Specified TreatNullAs NullString for the type attribute.

LayoutTests:

* fast/dom/HTMLButtonElement/change-type-expected.txt: Updated the expected output
so that it matches the null return type of getAttribute('type').
* fast/dom/HTMLButtonElement/change-type.html: Change test of getAttribute('type')
to be null instead of 'null'. Addressed and unrelated review comment from bug 14439
about how 'undefined' is specified in the shouldBe function.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/dom/HTMLButtonElement/change-type-expected.txt
LayoutTests/fast/dom/HTMLButtonElement/change-type.html
Source/WebCore/ChangeLog
Source/WebCore/html/HTMLButtonElement.cpp
Source/WebCore/html/HTMLButtonElement.h
Source/WebCore/html/HTMLButtonElement.idl

index e9ff717..96c1475 100644 (file)
@@ -1,3 +1,16 @@
+2012-06-14  Edaena Salinas Jasso  <edaena@apple.com>
+
+        el.getAttribute('type') returns 'null' when setting el.type to null
+        https://bugs.webkit.org/show_bug.cgi?id=89030
+
+        Reviewed by Alexey Proskuryakov.
+
+        * fast/dom/HTMLButtonElement/change-type-expected.txt: Updated the expected output
+        so that it matches the null return type of getAttribute('type').
+        * fast/dom/HTMLButtonElement/change-type.html: Change test of getAttribute('type')
+        to be null instead of 'null'. Addressed and unrelated review comment from bug 14439
+        about how 'undefined' is specified in the shouldBe function.
+
 2012-06-14  Alec Flett  <alecflett@chromium.org>
 
         IndexedDB: Creating a transaction from within a transaction callback should fail
index 78944a3..b70b9e1 100644 (file)
@@ -30,9 +30,9 @@ PASS btn.getAttribute('type') is 'button '
 PASS btn.type = ' b u t t o n '; btn.type is 'submit'
 PASS btn.getAttribute('type') is ' b u t t o n '
 PASS btn.type = null; btn.type is 'submit'
-PASS btn.getAttribute('type') is null + ''
+PASS btn.getAttribute('type') is null
 PASS btn.type = undefined; btn.type is 'submit'
-PASS btn.getAttribute('type') is undefined + ''
+PASS btn.getAttribute('type') is 'undefined'
 PASS btn.type = 'reset'; txt.value = 'hello'; btn.click(); txt.value is ''
 PASS didSubmit is false
 PASS btn.type = 'button'; txt.value = 'hello'; btn.click(); txt.value is 'hello'
index a082972..1a6cdf9 100644 (file)
@@ -58,10 +58,10 @@ function testTypeValue()
     shouldBe("btn.getAttribute('type')", "' b u t t o n '");
     
     shouldBe("btn.type = null; btn.type", "'submit'");
-    shouldBe("btn.getAttribute('type')", "null + ''");
+    shouldBe("btn.getAttribute('type')", "null");
     
     shouldBe("btn.type = undefined; btn.type", "'submit'");
-    shouldBe("btn.getAttribute('type')", "undefined + ''");
+    shouldBe("btn.getAttribute('type')", "'undefined'");
 }
 
 function testTypeBehavior()
index 5f99cb3..2e27585 100644 (file)
@@ -1,3 +1,20 @@
+2012-06-14  Edaena Salinas Jasso  <edaena@apple.com>
+
+        el.getAttribute('type') returns 'null' when setting el.type to null
+        https://bugs.webkit.org/show_bug.cgi?id=89030
+
+        Reviewed by Alexey Proskuryakov.
+
+        Test: fast/dom/HTMLButtonElement/change-type.html
+
+        * html/HTMLButtonElement.cpp:
+        (WebCore::HTMLButtonElement::setType): Changed parameter to be AtomicString to 
+        address an unrelated review comment from bug 14439 for slightly better performance.
+        * html/HTMLButtonElement.h:
+        (HTMLButtonElement): Changed parameter to be AtomicString to address an unrelated 
+        review comment from bug 14439 for slightly better performance.
+        * html/HTMLButtonElement.idl: Specified TreatNullAs NullString for the type attribute.
+
 2012-06-14  Alec Flett  <alecflett@chromium.org>
 
         IndexedDB: Creating a transaction from within a transaction callback should fail
index 510887c..d82a1a7 100644 (file)
@@ -53,7 +53,7 @@ PassRefPtr<HTMLButtonElement> HTMLButtonElement::create(const QualifiedName& tag
     return adoptRef(new HTMLButtonElement(tagName, document, form));
 }
 
-void HTMLButtonElement::setType(const String& type)
+void HTMLButtonElement::setType(const AtomicString& type)
 {
     setAttribute(typeAttr, type);
 }
index 676397a..7bf99b7 100644 (file)
@@ -32,7 +32,7 @@ class HTMLButtonElement : public HTMLFormControlElement {
 public:
     static PassRefPtr<HTMLButtonElement> create(const QualifiedName&, Document*, HTMLFormElement*);
 
-    void setType(const String&);
+    void setType(const AtomicString&);
     
     String value() const;
 
index 8a7da43..02e91ab 100644 (file)
@@ -30,7 +30,7 @@ module html {
         attribute [Reflect] boolean formNoValidate;
         attribute [Reflect] DOMString formTarget;
         attribute [Reflect] DOMString name;
-        attribute DOMString type;
+        attribute [TreatNullAs=NullString] DOMString type;
         attribute [Reflect] DOMString value;
 
         readonly attribute boolean willValidate;