Title: [197875] trunk
Revision
197875
Author
[email protected]
Date
2016-03-09 12:55:28 -0800 (Wed, 09 Mar 2016)

Log Message

focus() / blur() should be on HTMLElement / SVGElement, not Element
https://bugs.webkit.org/show_bug.cgi?id=155216

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline now that more checks are passing.

* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

focus() / blur() should be on HTMLElement / SVGElement, not Element:
- https://html.spec.whatwg.org/multipage/dom.html#htmlelement
- https://www.w3.org/TR/SVG2/types.html#InterfaceSVGElement

Chrome and Firefox match the specification.

Note that after this change, focus() / blur() is no longer exposed
on MathMLElement. This matches the MathML specification and is
consistent with Firefox and Chrome.

* dom/Element.idl:
* html/HTMLElement.idl:
* svg/SVGElement.idl:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (197874 => 197875)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2016-03-09 20:55:28 UTC (rev 197875)
@@ -1,5 +1,16 @@
 2016-03-09  Chris Dumez  <[email protected]>
 
+        focus() / blur() should be on HTMLElement / SVGElement, not Element
+        https://bugs.webkit.org/show_bug.cgi?id=155216
+
+        Reviewed by Darin Adler.
+
+        Rebaseline now that more checks are passing.
+
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+
+2016-03-09  Chris Dumez  <[email protected]>
+
         Move attributes to the instance for most interfaces that have "Error" in their name
         https://bugs.webkit.org/show_bug.cgi?id=155231
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (197874 => 197875)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2016-03-09 20:55:28 UTC (rev 197875)
@@ -869,8 +869,8 @@
 PASS HTMLElement interface: attribute hidden 
 PASS HTMLElement interface: operation click() 
 PASS HTMLElement interface: attribute tabIndex 
-FAIL HTMLElement interface: operation focus() assert_own_property: interface prototype object missing non-static operation expected property "focus" missing
-FAIL HTMLElement interface: operation blur() assert_own_property: interface prototype object missing non-static operation expected property "blur" missing
+PASS HTMLElement interface: operation focus() 
+PASS HTMLElement interface: operation blur() 
 PASS HTMLElement interface: attribute accessKey 
 FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false
 PASS HTMLElement interface: attribute draggable 

Modified: trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt (197874 => 197875)


--- trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt	2016-03-09 20:55:28 UTC (rev 197875)
@@ -869,8 +869,8 @@
 PASS HTMLElement interface: attribute hidden 
 PASS HTMLElement interface: operation click() 
 PASS HTMLElement interface: attribute tabIndex 
-FAIL HTMLElement interface: operation focus() assert_own_property: interface prototype object missing non-static operation expected property "focus" missing
-FAIL HTMLElement interface: operation blur() assert_own_property: interface prototype object missing non-static operation expected property "blur" missing
+PASS HTMLElement interface: operation focus() 
+PASS HTMLElement interface: operation blur() 
 PASS HTMLElement interface: attribute accessKey 
 FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false
 PASS HTMLElement interface: attribute draggable 

Modified: trunk/Source/WebCore/ChangeLog (197874 => 197875)


--- trunk/Source/WebCore/ChangeLog	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/Source/WebCore/ChangeLog	2016-03-09 20:55:28 UTC (rev 197875)
@@ -1,5 +1,26 @@
 2016-03-09  Chris Dumez  <[email protected]>
 
+        focus() / blur() should be on HTMLElement / SVGElement, not Element
+        https://bugs.webkit.org/show_bug.cgi?id=155216
+
+        Reviewed by Darin Adler.
+
+        focus() / blur() should be on HTMLElement / SVGElement, not Element:
+        - https://html.spec.whatwg.org/multipage/dom.html#htmlelement
+        - https://www.w3.org/TR/SVG2/types.html#InterfaceSVGElement
+
+        Chrome and Firefox match the specification.
+
+        Note that after this change, focus() / blur() is no longer exposed
+        on MathMLElement. This matches the MathML specification and is
+        consistent with Firefox and Chrome.
+
+        * dom/Element.idl:
+        * html/HTMLElement.idl:
+        * svg/SVGElement.idl:
+
+2016-03-09  Chris Dumez  <[email protected]>
+
         Move attributes to the instance for most interfaces that have "Error" in their name
         https://bugs.webkit.org/show_bug.cgi?id=155231
 

Modified: trunk/Source/WebCore/dom/Element.idl (197874 => 197875)


--- trunk/Source/WebCore/dom/Element.idl	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/Source/WebCore/dom/Element.idl	2016-03-09 20:55:28 UTC (rev 197875)
@@ -105,8 +105,11 @@
 
     [ImplementedAs=bindingsOffsetParent] readonly attribute Element offsetParent;
 
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C || defined(LANGUAGE_GOBJECT) && LANGUAGE_GOBJECT
     void focus();
     void blur();
+#endif
+
     void scrollIntoView(optional boolean alignWithTop);
 
     // WebKit extensions
@@ -123,8 +126,8 @@
 #endif
     [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString innerHTML;
     [TreatNullAs=EmptyString, SetterRaisesException] attribute DOMString outerHTML;
-             
 
+
     [Reflect=class] attribute DOMString className;
     [PutForwards=value] readonly attribute DOMTokenList classList;
 

Modified: trunk/Source/WebCore/html/HTMLElement.idl (197874 => 197875)


--- trunk/Source/WebCore/html/HTMLElement.idl	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/Source/WebCore/html/HTMLElement.idl	2016-03-09 20:55:28 UTC (rev 197875)
@@ -69,5 +69,10 @@
 #endif
 
     void click();
+
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+    void focus();
+    void blur();
+#endif
 };
 

Modified: trunk/Source/WebCore/svg/SVGElement.idl (197874 => 197875)


--- trunk/Source/WebCore/svg/SVGElement.idl	2016-03-09 20:37:36 UTC (rev 197874)
+++ trunk/Source/WebCore/svg/SVGElement.idl	2016-03-09 20:55:28 UTC (rev 197875)
@@ -39,5 +39,10 @@
     attribute long tabIndex;
 
     CSSValue getPresentationAttribute([Default=Undefined] optional DOMString name);
+
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+    void focus();
+    void blur();
+#endif
 };
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to