[Forms] The "output" element should have labels.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 14 Mar 2012 06:35:49 +0000 (06:35 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 14 Mar 2012 06:35:49 +0000 (06:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=80466

Patch by Yosifumi Inoue <yosin@chromium.org> on 2012-03-13
Reviewed by Kent Tamura.

Source/WebCore:

This patch enables functionality of "labels" attribute for
HTMLOutputElement implemented in LabelableElement which use
isLabelable predicate whether an element can have label or not.

Update existing tests in fast/forms/label/ directory to cover
the "output" element with the "labels" attribute.

* html/HTMLOutputElement.h: Implement virtual method isLabelable.

LayoutTests:

This patch updates expectation for functioning the "labels"
attribute of the "output" elements which was not working
so far.

* fast/forms/label/labelable-elements-expected.txt:
* fast/forms/label/labels-add-htmlFor-label-expected.txt:
* fast/forms/label/labels-add-parent-label-expected.txt:
* fast/forms/label/labels-change-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-multiple-sibling-labels-expected.txt:
* fast/forms/label/labels-parent-and-sibling-labels-expected.txt:
* fast/forms/label/labels-remove-htmlFor-attribute-expected.txt:
* fast/forms/label/labels-remove-htmlFor-label-expected.txt:
* fast/forms/label/labels-remove-parent-label-expected.txt:
* fast/forms/label/labels-set-htmlFor-attribute-expected.txt:
* platform/chromium/fast/forms/label/labelable-elements-expected.txt:
* platform/mac/fast/forms/label/labelable-elements-expected.txt

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

15 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/forms/label/labelable-elements-expected.txt
LayoutTests/fast/forms/label/labels-add-htmlFor-label-expected.txt
LayoutTests/fast/forms/label/labels-add-parent-label-expected.txt
LayoutTests/fast/forms/label/labels-change-htmlFor-attribute-expected.txt
LayoutTests/fast/forms/label/labels-multiple-sibling-labels-expected.txt
LayoutTests/fast/forms/label/labels-parent-and-sibling-labels-expected.txt
LayoutTests/fast/forms/label/labels-remove-htmlFor-attribute-expected.txt
LayoutTests/fast/forms/label/labels-remove-htmlFor-label-expected.txt
LayoutTests/fast/forms/label/labels-remove-parent-label-expected.txt
LayoutTests/fast/forms/label/labels-set-htmlFor-attribute-expected.txt
LayoutTests/platform/chromium/fast/forms/label/labelable-elements-expected.txt
LayoutTests/platform/mac/fast/forms/label/labelable-elements-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/html/HTMLOutputElement.h

index b4365e4..de681a1 100644 (file)
@@ -1,3 +1,27 @@
+2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
+
+        [Forms] The "output" element should have labels.
+        https://bugs.webkit.org/show_bug.cgi?id=80466
+
+        Reviewed by Kent Tamura.
+
+        This patch updates expectation for functioning the "labels"
+        attribute of the "output" elements which was not working
+        so far.
+
+        * fast/forms/label/labelable-elements-expected.txt:
+        * fast/forms/label/labels-add-htmlFor-label-expected.txt:
+        * fast/forms/label/labels-add-parent-label-expected.txt:
+        * fast/forms/label/labels-change-htmlFor-attribute-expected.txt:
+        * fast/forms/label/labels-multiple-sibling-labels-expected.txt:
+        * fast/forms/label/labels-parent-and-sibling-labels-expected.txt:
+        * fast/forms/label/labels-remove-htmlFor-attribute-expected.txt:
+        * fast/forms/label/labels-remove-htmlFor-label-expected.txt:
+        * fast/forms/label/labels-remove-parent-label-expected.txt:
+        * fast/forms/label/labels-set-htmlFor-attribute-expected.txt:
+        * platform/chromium/fast/forms/label/labelable-elements-expected.txt:
+        * platform/mac/fast/forms/label/labelable-elements-expected.txt
+
 2012-03-13  Hajime Morrita  <morrita@chromium.org>
 
         Unreviewed, marking some tests flaky.
index 8fc2cc5..bd921fa 100644 (file)
@@ -45,7 +45,7 @@ PASS element.labels is undefined.
 PASS element.labels is not null
 
 Labelable: output [object HTMLOutputElement]
-FAIL element.labels.length should be 1. Threw exception TypeError: Cannot read property 'length' of null
+PASS element.labels.length is 1
 
 Labelable: progress [object HTMLProgressElement]
 PASS element.labels.length is 1
index 1ae0269..8b200b1 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 1
 Check meter
 PASS element.labels.length is 0
 PASS element.labels.length is 1
+Check output
+PASS element.labels.length is 0
+PASS element.labels.length is 1
 Check progress
 PASS element.labels.length is 0
 PASS element.labels.length is 1
index f00b004..d063e15 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 1
 Check meter
 PASS element.labels.length is 0
 PASS element.labels.length is 1
+Check output
+PASS element.labels.length is 0
+PASS element.labels.length is 1
 Check progress
 PASS element.labels.length is 0
 PASS element.labels.length is 1
index 1976873..bdbf977 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 1
 Check meter
 PASS element.labels.length is 0
 PASS element.labels.length is 1
+Check output
+PASS element.labels.length is 0
+PASS element.labels.length is 1
 Check progress
 PASS element.labels.length is 0
 PASS element.labels.length is 1
index 9a59fe2..2f13a29 100644 (file)
@@ -11,6 +11,8 @@ Check keygen
 PASS element.labels.length is 2
 Check meter
 PASS element.labels.length is 2
+Check output
+PASS element.labels.length is 2
 Check progress
 PASS element.labels.length is 2
 Check select
index b9c45f0..226ddb7 100644 (file)
@@ -11,6 +11,8 @@ Check keygen
 PASS element.labels.length is 2
 Check meter
 PASS element.labels.length is 2
+Check output
+PASS element.labels.length is 2
 Check progress
 PASS element.labels.length is 2
 Check select
index 1b31a21..3c138d5 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 0
 Check meter
 PASS element.labels.length is 1
 PASS element.labels.length is 0
+Check output
+PASS element.labels.length is 1
+PASS element.labels.length is 0
 Check progress
 PASS element.labels.length is 1
 PASS element.labels.length is 0
index 3eb6a3a..0806331 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 0
 Check meter
 PASS element.labels.length is 1
 PASS element.labels.length is 0
+Check output
+PASS element.labels.length is 1
+PASS element.labels.length is 0
 Check progress
 PASS element.labels.length is 1
 PASS element.labels.length is 0
index 3f6192f..493b1c2 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 0
 Check meter
 PASS element.labels.length is 1
 PASS element.labels.length is 0
+Check output
+PASS element.labels.length is 1
+PASS element.labels.length is 0
 Check progress
 PASS element.labels.length is 1
 PASS element.labels.length is 0
index 1976873..bdbf977 100644 (file)
@@ -15,6 +15,9 @@ PASS element.labels.length is 1
 Check meter
 PASS element.labels.length is 0
 PASS element.labels.length is 1
+Check output
+PASS element.labels.length is 0
+PASS element.labels.length is 1
 Check progress
 PASS element.labels.length is 0
 PASS element.labels.length is 1
index 8fc2cc5..bd921fa 100644 (file)
@@ -45,7 +45,7 @@ PASS element.labels is undefined.
 PASS element.labels is not null
 
 Labelable: output [object HTMLOutputElement]
-FAIL element.labels.length should be 1. Threw exception TypeError: Cannot read property 'length' of null
+PASS element.labels.length is 1
 
 Labelable: progress [object HTMLProgressElement]
 PASS element.labels.length is 1
index 5329006..72943af 100644 (file)
@@ -45,7 +45,7 @@ PASS element.labels is undefined.
 PASS element.labels is not null
 
 Labelable: output [object HTMLOutputElement]
-FAIL element.labels.length should be 1. Threw exception TypeError: 'null' is not an object (evaluating 'element.labels.length')
+PASS element.labels.length is 1
 
 Labelable: progress [object HTMLProgressElement]
 PASS element.labels.length is 1
index 085dbbf..7355e5a 100644 (file)
@@ -1,3 +1,19 @@
+2012-03-13  Yosifumi Inoue  <yosin@chromium.org>
+
+        [Forms] The "output" element should have labels.
+        https://bugs.webkit.org/show_bug.cgi?id=80466
+
+        Reviewed by Kent Tamura.
+
+        This patch enables functionality of "labels" attribute for
+        HTMLOutputElement implemented in LabelableElement which use
+        isLabelable predicate whether an element can have label or not.
+
+        Update existing tests in fast/forms/label/ directory to cover
+        the "output" element with the "labels" attribute.
+
+        * html/HTMLOutputElement.h: Implement virtual method isLabelable.
+
 2012-03-13  Luke Macpherson   <macpherson@chromium.org>
 
         Move opacity clamping into RenderStyle setter.
index 4a94e4e..9cb6d05 100644 (file)
@@ -58,6 +58,7 @@ private:
     virtual void parseAttribute(Attribute*) OVERRIDE;
     virtual const AtomicString& formControlType() const;
     virtual bool isEnumeratable() const { return true; }
+    virtual bool isLabelable() const OVERRIDE { return true; }
     virtual bool supportsFocus() const;
     virtual void childrenChanged(bool createdByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
     virtual void reset();