REGRESSION (r181358 and r181507): Lots of sites think that we support touch events...
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Mar 2015 01:02:38 +0000 (01:02 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Mar 2015 01:02:38 +0000 (01:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=142888
<rdar://problem/20227304>

Reviewed by Beth Dakin.

* dom/Document.idl:
* dom/Element.idl:
* html/HTMLBodyElement.idl:
* html/HTMLFrameSetElement.idl:
* page/DOMWindow.idl:
Re-conditionalize a lot of event listeners; sites test ("ontouchstart" in window), which
is not covered by NotEnumerable, and so r181358 and r181507 broke a bunch of sites
(apple.com, blaze.com, anything using nicescroll.js, etc.) by causing them to think
that (Mac) Safari was touch-enabled.

* fast/dom/event-handler-attributes-expected.txt:
* fast/dom/event-handler-attributes.html:
* fast/events/event-attribute-expected.txt:
* platform/win/fast/events/event-attribute-expected.txt:
Revert some changes to these tests and their results.

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

LayoutTests/ChangeLog
LayoutTests/fast/dom/event-handler-attributes-expected.txt
LayoutTests/fast/dom/event-handler-attributes.html
LayoutTests/fast/events/event-attribute-expected.txt
LayoutTests/platform/win/fast/events/event-attribute-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/dom/Document.idl
Source/WebCore/dom/Element.idl
Source/WebCore/html/HTMLBodyElement.idl
Source/WebCore/html/HTMLFrameSetElement.idl
Source/WebCore/page/DOMWindow.idl

index b94ad26..0e99eaa 100644 (file)
@@ -1,3 +1,17 @@
+2015-03-26  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (r181358 and r181507): Lots of sites think that we support touch events on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=142888
+        <rdar://problem/20227304>
+
+        Reviewed by Beth Dakin.
+
+        * fast/dom/event-handler-attributes-expected.txt:
+        * fast/dom/event-handler-attributes.html:
+        * fast/events/event-attribute-expected.txt:
+        * platform/win/fast/events/event-attribute-expected.txt:
+        Revert some changes to these tests and their results.
+
 2015-03-26  Roger Fong  <roger_fong@apple.com>
 
         Apply blur effect to media control background.
index fece200..527af50 100644 (file)
@@ -17,8 +17,6 @@ PASS testScriptAttribute(window, "change") is "window"
 PASS testScriptAttribute(window, "click") is "window"
 PASS testScriptAttribute(window, "contextmenu") is "window"
 PASS testScriptAttribute(window, "dblclick") is "window"
-PASS testScriptAttribute(window, "devicemotion") is "window"
-PASS testScriptAttribute(window, "deviceorientation") is "window"
 PASS testScriptAttribute(window, "drag") is "window"
 PASS testScriptAttribute(window, "dragend") is "window"
 PASS testScriptAttribute(window, "dragenter") is "window"
@@ -31,9 +29,6 @@ PASS testScriptAttribute(window, "emptied") is "window"
 PASS testScriptAttribute(window, "ended") is "window"
 PASS testScriptAttribute(window, "error") is "window"
 PASS testScriptAttribute(window, "focus") is "window"
-PASS testScriptAttribute(window, "gesturechange") is "window"
-PASS testScriptAttribute(window, "gestureend") is "window"
-PASS testScriptAttribute(window, "gesturestart") is "window"
 PASS testScriptAttribute(window, "hashchange") is "window"
 PASS testScriptAttribute(window, "input") is "window"
 PASS testScriptAttribute(window, "invalid") is "window"
@@ -55,7 +50,6 @@ PASS testScriptAttribute(window, "mouseup") is "window"
 PASS testScriptAttribute(window, "mousewheel") is "window"
 PASS testScriptAttribute(window, "offline") is "window"
 PASS testScriptAttribute(window, "online") is "window"
-PASS testScriptAttribute(window, "orientationchange") is "window"
 PASS testScriptAttribute(window, "pagehide") is "window"
 PASS testScriptAttribute(window, "pageshow") is "window"
 PASS testScriptAttribute(window, "pause") is "window"
@@ -76,10 +70,6 @@ PASS testScriptAttribute(window, "storage") is "window"
 PASS testScriptAttribute(window, "submit") is "window"
 PASS testScriptAttribute(window, "suspend") is "window"
 PASS testScriptAttribute(window, "timeupdate") is "window"
-PASS testScriptAttribute(window, "touchcancel") is "window"
-PASS testScriptAttribute(window, "touchend") is "window"
-PASS testScriptAttribute(window, "touchmove") is "window"
-PASS testScriptAttribute(window, "touchstart") is "window"
 PASS testScriptAttribute(window, "transitionend") is "window"
 PASS testScriptAttribute(window, "unload") is "window"
 PASS testScriptAttribute(window, "volumechange") is "window"
@@ -87,24 +77,11 @@ PASS testScriptAttribute(window, "waiting") is "window"
 PASS testScriptAttribute(window, "webkitanimationend") is "window"
 PASS testScriptAttribute(window, "webkitanimationiteration") is "window"
 PASS testScriptAttribute(window, "webkitanimationstart") is "window"
-PASS testScriptAttribute(window, "webkitdeviceproximity") is "window"
-PASS testScriptAttribute(window, "webkitmouseforcecancelled") is "window"
-PASS testScriptAttribute(window, "webkitmouseforcechanged") is "window"
-PASS testScriptAttribute(window, "webkitmouseforceclick") is "window"
-PASS testScriptAttribute(window, "webkitmouseforcedown") is "window"
-PASS testScriptAttribute(window, "webkitmouseforceup") is "window"
-PASS testScriptAttribute(window, "webkitmouseforcewillbegin") is "window"
 PASS testScriptAttribute(window, "webkittransitionend") is "window"
-PASS testScriptAttribute(window, "webkitwillrevealbottom") is "window"
-PASS testScriptAttribute(window, "webkitwillrevealleft") is "window"
-PASS testScriptAttribute(window, "webkitwillrevealright") is "window"
-PASS testScriptAttribute(window, "webkitwillrevealtop") is "window"
 PASS testScriptAttribute(window, "wheel") is "window"
 
 Event names we expect not to be able to set on the window object
 
-PASS testScriptAttribute(window, "autocomplete") is "none"
-PASS testScriptAttribute(window, "autocompleteerror") is "none"
 PASS testScriptAttribute(window, "beforecopy") is "none"
 PASS testScriptAttribute(window, "beforecut") is "none"
 PASS testScriptAttribute(window, "beforeload") is "none"
@@ -115,21 +92,9 @@ PASS testScriptAttribute(window, "focusin") is "none"
 PASS testScriptAttribute(window, "focusout") is "none"
 PASS testScriptAttribute(window, "noneventname") is "none"
 PASS testScriptAttribute(window, "paste") is "none"
-PASS testScriptAttribute(window, "pointerlockchange") is "none"
-PASS testScriptAttribute(window, "pointerlockerror") is "none"
 PASS testScriptAttribute(window, "readystatechange") is "none"
-PASS testScriptAttribute(window, "securitypolicyviolation") is "none"
 PASS testScriptAttribute(window, "selectionchange") is "none"
 PASS testScriptAttribute(window, "selectstart") is "none"
-PASS testScriptAttribute(window, "webkitcurrentplaybacktargetiswirelesschanged") is "none"
-PASS testScriptAttribute(window, "webkitfullscreenchange") is "none"
-PASS testScriptAttribute(window, "webkitfullscreenerror") is "none"
-PASS testScriptAttribute(window, "webkitkeyadded") is "none"
-PASS testScriptAttribute(window, "webkitkeyerror") is "none"
-PASS testScriptAttribute(window, "webkitkeymessage") is "none"
-PASS testScriptAttribute(window, "webkitneedkey") is "none"
-PASS testScriptAttribute(window, "webkitplaybacktargetavailabilitychanged") is "none"
-PASS testScriptAttribute(window, "webkitpresentationmodechanged") is "none"
 
 Event names we expect to be able to set on the document
 
@@ -168,33 +133,14 @@ PASS testScriptAttribute(document, "mouseover") is "document"
 PASS testScriptAttribute(document, "mouseup") is "document"
 PASS testScriptAttribute(document, "mousewheel") is "document"
 PASS testScriptAttribute(document, "paste") is "document"
-PASS testScriptAttribute(document, "pointerlockchange") is "document"
-PASS testScriptAttribute(document, "pointerlockerror") is "document"
 PASS testScriptAttribute(document, "readystatechange") is "document"
 PASS testScriptAttribute(document, "reset") is "document"
 PASS testScriptAttribute(document, "scroll") is "document"
 PASS testScriptAttribute(document, "search") is "document"
-PASS testScriptAttribute(document, "securitypolicyviolation") is "document"
 PASS testScriptAttribute(document, "select") is "document"
 PASS testScriptAttribute(document, "selectionchange") is "document"
 PASS testScriptAttribute(document, "selectstart") is "document"
 PASS testScriptAttribute(document, "submit") is "document"
-PASS testScriptAttribute(document, "touchcancel") is "document"
-PASS testScriptAttribute(document, "touchend") is "document"
-PASS testScriptAttribute(document, "touchmove") is "document"
-PASS testScriptAttribute(document, "touchstart") is "document"
-PASS testScriptAttribute(document, "webkitmouseforcecancelled") is "document"
-PASS testScriptAttribute(document, "webkitmouseforcechanged") is "document"
-PASS testScriptAttribute(document, "webkitmouseforceclick") is "document"
-PASS testScriptAttribute(document, "webkitmouseforcedown") is "document"
-PASS testScriptAttribute(document, "webkitmouseforceup") is "document"
-PASS testScriptAttribute(document, "webkitmouseforcewillbegin") is "document"
-PASS testScriptAttribute(document, "webkitfullscreenchange") is "document"
-PASS testScriptAttribute(document, "webkitfullscreenerror") is "document"
-PASS testScriptAttribute(document, "webkitwillrevealbottom") is "document"
-PASS testScriptAttribute(document, "webkitwillrevealleft") is "document"
-PASS testScriptAttribute(document, "webkitwillrevealright") is "document"
-PASS testScriptAttribute(document, "webkitwillrevealtop") is "document"
 PASS testScriptAttribute(document, "wheel") is "document"
 
 Event names we expect not to be able to set on the document
@@ -202,22 +148,15 @@ Event names we expect not to be able to set on the document
 PASS testScriptAttribute(document, "animationend") is "none"
 PASS testScriptAttribute(document, "animationiteration") is "none"
 PASS testScriptAttribute(document, "animationstart") is "none"
-PASS testScriptAttribute(document, "autocomplete") is "none"
-PASS testScriptAttribute(document, "autocompleteerror") is "none"
 PASS testScriptAttribute(document, "beforeload") is "none"
 PASS testScriptAttribute(document, "beforeunload") is "none"
 PASS testScriptAttribute(document, "canplay") is "none"
 PASS testScriptAttribute(document, "canplaythrough") is "none"
-PASS testScriptAttribute(document, "devicemotion") is "none"
-PASS testScriptAttribute(document, "deviceorientation") is "none"
 PASS testScriptAttribute(document, "durationchange") is "none"
 PASS testScriptAttribute(document, "emptied") is "none"
 PASS testScriptAttribute(document, "ended") is "none"
 PASS testScriptAttribute(document, "focusin") is "none"
 PASS testScriptAttribute(document, "focusout") is "none"
-PASS testScriptAttribute(document, "gesturechange") is "none"
-PASS testScriptAttribute(document, "gestureend") is "none"
-PASS testScriptAttribute(document, "gesturestart") is "none"
 PASS testScriptAttribute(document, "hashchange") is "none"
 PASS testScriptAttribute(document, "loadeddata") is "none"
 PASS testScriptAttribute(document, "loadedmetadata") is "none"
@@ -226,7 +165,6 @@ PASS testScriptAttribute(document, "message") is "none"
 PASS testScriptAttribute(document, "noneventname") is "none"
 PASS testScriptAttribute(document, "offline") is "none"
 PASS testScriptAttribute(document, "online") is "none"
-PASS testScriptAttribute(document, "orientationchange") is "none"
 PASS testScriptAttribute(document, "pagehide") is "none"
 PASS testScriptAttribute(document, "pageshow") is "none"
 PASS testScriptAttribute(document, "pause") is "none"
@@ -249,14 +187,6 @@ PASS testScriptAttribute(document, "waiting") is "none"
 PASS testScriptAttribute(document, "webkitanimationend") is "none"
 PASS testScriptAttribute(document, "webkitanimationiteration") is "none"
 PASS testScriptAttribute(document, "webkitanimationstart") is "none"
-PASS testScriptAttribute(document, "webkitcurrentplaybacktargetiswirelesschanged") is "none"
-PASS testScriptAttribute(document, "webkitdeviceproximity") is "none"
-PASS testScriptAttribute(document, "webkitkeyadded") is "none"
-PASS testScriptAttribute(document, "webkitkeyerror") is "none"
-PASS testScriptAttribute(document, "webkitkeymessage") is "none"
-PASS testScriptAttribute(document, "webkitneedkey") is "none"
-PASS testScriptAttribute(document, "webkitplaybacktargetavailabilitychanged") is "none"
-PASS testScriptAttribute(document, "webkitpresentationmodechanged") is "none"
 PASS testScriptAttribute(document, "webkittransitionend") is "none"
 
 Event names we expect to be able to set on an element (tested on the <html> element)
@@ -265,8 +195,6 @@ PASS testElementAttribute(element, "abort") is "target"
 PASS testElementAttribute(element, "animationend") is "target"
 PASS testElementAttribute(element, "animationiteration") is "target"
 PASS testElementAttribute(element, "animationstart") is "target"
-PASS testElementAttribute(element, "autocomplete") is "target"
-PASS testElementAttribute(element, "autocompleteerror") is "target"
 PASS testElementAttribute(element, "beforecopy") is "target"
 PASS testElementAttribute(element, "beforecut") is "target"
 PASS testElementAttribute(element, "beforeload") is "target"
@@ -294,9 +222,6 @@ PASS testElementAttribute(element, "error") is "target"
 PASS testElementAttribute(element, "focus") is "target"
 PASS testElementAttribute(element, "focusin") is "target"
 PASS testElementAttribute(element, "focusout") is "target"
-PASS testElementAttribute(element, "gesturechange") is "target"
-PASS testElementAttribute(element, "gestureend") is "target"
-PASS testElementAttribute(element, "gesturestart") is "target"
 PASS testElementAttribute(element, "input") is "target"
 PASS testElementAttribute(element, "invalid") is "target"
 PASS testElementAttribute(element, "keydown") is "target"
@@ -331,61 +256,31 @@ PASS testElementAttribute(element, "stalled") is "target"
 PASS testElementAttribute(element, "submit") is "target"
 PASS testElementAttribute(element, "suspend") is "target"
 PASS testElementAttribute(element, "timeupdate") is "target"
-PASS testElementAttribute(element, "touchcancel") is "target"
-PASS testElementAttribute(element, "touchend") is "target"
-PASS testElementAttribute(element, "touchmove") is "target"
-PASS testElementAttribute(element, "touchstart") is "target"
 PASS testElementAttribute(element, "transitionend") is "target"
 PASS testElementAttribute(element, "volumechange") is "target"
 PASS testElementAttribute(element, "waiting") is "target"
 PASS testElementAttribute(element, "webkitanimationend") is "target"
 PASS testElementAttribute(element, "webkitanimationiteration") is "target"
 PASS testElementAttribute(element, "webkitanimationstart") is "target"
-PASS testElementAttribute(element, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(element, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(element, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(element, "webkitkeyadded") is "target"
-PASS testElementAttribute(element, "webkitkeyerror") is "target"
-PASS testElementAttribute(element, "webkitkeymessage") is "target"
-PASS testElementAttribute(element, "webkitmouseforcecancelled") is "target"
-PASS testElementAttribute(element, "webkitmouseforcechanged") is "target"
-PASS testElementAttribute(element, "webkitmouseforceclick") is "target"
-PASS testElementAttribute(element, "webkitmouseforcedown") is "target"
-PASS testElementAttribute(element, "webkitmouseforceup") is "target"
-PASS testElementAttribute(element, "webkitmouseforcewillbegin") is "target"
-PASS testElementAttribute(element, "webkitneedkey") is "target"
-PASS testElementAttribute(element, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(element, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(element, "webkittransitionend") is "target"
-PASS testElementAttribute(element, "webkitwillrevealbottom") is "target"
-PASS testElementAttribute(element, "webkitwillrevealleft") is "target"
-PASS testElementAttribute(element, "webkitwillrevealright") is "target"
-PASS testElementAttribute(element, "webkitwillrevealtop") is "target"
 PASS testElementAttribute(element, "wheel") is "target"
 
 Event names we expect not to be able to set on an element (tested on the <html> element)
 
 PASS testElementAttribute(element, "beforeunload") is "none"
-PASS testElementAttribute(element, "devicemotion") is "none"
-PASS testElementAttribute(element, "deviceorientation") is "none"
 PASS testElementAttribute(element, "hashchange") is "none"
 PASS testElementAttribute(element, "message") is "none"
 PASS testElementAttribute(element, "noneventname") is "none"
 PASS testElementAttribute(element, "offline") is "none"
 PASS testElementAttribute(element, "online") is "none"
-PASS testElementAttribute(element, "orientationchange") is "none"
 PASS testElementAttribute(element, "pagehide") is "none"
 PASS testElementAttribute(element, "pageshow") is "none"
-PASS testElementAttribute(element, "pointerlockchange") is "none"
-PASS testElementAttribute(element, "pointerlockerror") is "none"
 PASS testElementAttribute(element, "popstate") is "none"
 PASS testElementAttribute(element, "readystatechange") is "none"
 PASS testElementAttribute(element, "resize") is "none"
-PASS testElementAttribute(element, "securitypolicyviolation") is "none"
 PASS testElementAttribute(element, "selectionchange") is "none"
 PASS testElementAttribute(element, "storage") is "none"
 PASS testElementAttribute(element, "unload") is "none"
-PASS testElementAttribute(element, "webkitdeviceproximity") is "none"
 
 Event names we expect to be able to set on an element (tested on the <input> element)
 
@@ -393,8 +288,6 @@ PASS testElementAttribute(inputElement, "abort") is "target"
 PASS testElementAttribute(inputElement, "animationend") is "target"
 PASS testElementAttribute(inputElement, "animationiteration") is "target"
 PASS testElementAttribute(inputElement, "animationstart") is "target"
-PASS testElementAttribute(inputElement, "autocomplete") is "target"
-PASS testElementAttribute(inputElement, "autocompleteerror") is "target"
 PASS testElementAttribute(inputElement, "beforecopy") is "target"
 PASS testElementAttribute(inputElement, "beforecut") is "target"
 PASS testElementAttribute(inputElement, "beforeload") is "target"
@@ -422,9 +315,6 @@ PASS testElementAttribute(inputElement, "error") is "target"
 PASS testElementAttribute(inputElement, "focus") is "target"
 PASS testElementAttribute(inputElement, "focusin") is "target"
 PASS testElementAttribute(inputElement, "focusout") is "target"
-PASS testElementAttribute(inputElement, "gesturechange") is "target"
-PASS testElementAttribute(inputElement, "gestureend") is "target"
-PASS testElementAttribute(inputElement, "gesturestart") is "target"
 PASS testElementAttribute(inputElement, "input") is "target"
 PASS testElementAttribute(inputElement, "invalid") is "target"
 PASS testElementAttribute(inputElement, "keydown") is "target"
@@ -459,61 +349,31 @@ PASS testElementAttribute(inputElement, "stalled") is "target"
 PASS testElementAttribute(inputElement, "submit") is "target"
 PASS testElementAttribute(inputElement, "suspend") is "target"
 PASS testElementAttribute(inputElement, "timeupdate") is "target"
-PASS testElementAttribute(inputElement, "touchcancel") is "target"
-PASS testElementAttribute(inputElement, "touchend") is "target"
-PASS testElementAttribute(inputElement, "touchmove") is "target"
-PASS testElementAttribute(inputElement, "touchstart") is "target"
 PASS testElementAttribute(inputElement, "transitionend") is "target"
 PASS testElementAttribute(inputElement, "volumechange") is "target"
 PASS testElementAttribute(inputElement, "waiting") is "target"
 PASS testElementAttribute(inputElement, "webkitanimationend") is "target"
 PASS testElementAttribute(inputElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(inputElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(inputElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(inputElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(inputElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(inputElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(inputElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(inputElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforcecancelled") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforcechanged") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforceclick") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforcedown") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforceup") is "target"
-PASS testElementAttribute(inputElement, "webkitmouseforcewillbegin") is "target"
-PASS testElementAttribute(inputElement, "webkitneedkey") is "target"
-PASS testElementAttribute(inputElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(inputElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(inputElement, "webkittransitionend") is "target"
-PASS testElementAttribute(inputElement, "webkitwillrevealbottom") is "target"
-PASS testElementAttribute(inputElement, "webkitwillrevealleft") is "target"
-PASS testElementAttribute(inputElement, "webkitwillrevealright") is "target"
-PASS testElementAttribute(inputElement, "webkitwillrevealtop") is "target"
 PASS testElementAttribute(inputElement, "wheel") is "target"
 
 Event names we expect not to be able to set on an element (tested on the <input> element)
 
 PASS testElementAttribute(inputElement, "beforeunload") is "none"
-PASS testElementAttribute(inputElement, "devicemotion") is "none"
-PASS testElementAttribute(inputElement, "deviceorientation") is "none"
 PASS testElementAttribute(inputElement, "hashchange") is "none"
 PASS testElementAttribute(inputElement, "message") is "none"
 PASS testElementAttribute(inputElement, "noneventname") is "none"
 PASS testElementAttribute(inputElement, "offline") is "none"
 PASS testElementAttribute(inputElement, "online") is "none"
-PASS testElementAttribute(inputElement, "orientationchange") is "none"
 PASS testElementAttribute(inputElement, "pagehide") is "none"
 PASS testElementAttribute(inputElement, "pageshow") is "none"
-PASS testElementAttribute(inputElement, "pointerlockchange") is "none"
-PASS testElementAttribute(inputElement, "pointerlockerror") is "none"
 PASS testElementAttribute(inputElement, "popstate") is "none"
 PASS testElementAttribute(inputElement, "readystatechange") is "none"
 PASS testElementAttribute(inputElement, "resize") is "none"
-PASS testElementAttribute(inputElement, "securitypolicyviolation") is "none"
 PASS testElementAttribute(inputElement, "selectionchange") is "none"
 PASS testElementAttribute(inputElement, "storage") is "none"
 PASS testElementAttribute(inputElement, "unload") is "none"
-PASS testElementAttribute(inputElement, "webkitdeviceproximity") is "none"
 
 Event names we expect to be able to set on an element (tested on the <audio> element)
 
@@ -521,8 +381,6 @@ PASS testElementAttribute(audioElement, "abort") is "target"
 PASS testElementAttribute(audioElement, "animationend") is "target"
 PASS testElementAttribute(audioElement, "animationiteration") is "target"
 PASS testElementAttribute(audioElement, "animationstart") is "target"
-PASS testElementAttribute(audioElement, "autocomplete") is "target"
-PASS testElementAttribute(audioElement, "autocompleteerror") is "target"
 PASS testElementAttribute(audioElement, "beforecopy") is "target"
 PASS testElementAttribute(audioElement, "beforecut") is "target"
 PASS testElementAttribute(audioElement, "beforeload") is "target"
@@ -550,9 +408,6 @@ PASS testElementAttribute(audioElement, "error") is "target"
 PASS testElementAttribute(audioElement, "focus") is "target"
 PASS testElementAttribute(audioElement, "focusin") is "target"
 PASS testElementAttribute(audioElement, "focusout") is "target"
-PASS testElementAttribute(audioElement, "gesturechange") is "target"
-PASS testElementAttribute(audioElement, "gestureend") is "target"
-PASS testElementAttribute(audioElement, "gesturestart") is "target"
 PASS testElementAttribute(audioElement, "input") is "target"
 PASS testElementAttribute(audioElement, "invalid") is "target"
 PASS testElementAttribute(audioElement, "keydown") is "target"
@@ -587,61 +442,31 @@ PASS testElementAttribute(audioElement, "stalled") is "target"
 PASS testElementAttribute(audioElement, "submit") is "target"
 PASS testElementAttribute(audioElement, "suspend") is "target"
 PASS testElementAttribute(audioElement, "timeupdate") is "target"
-PASS testElementAttribute(audioElement, "touchcancel") is "target"
-PASS testElementAttribute(audioElement, "touchend") is "target"
-PASS testElementAttribute(audioElement, "touchmove") is "target"
-PASS testElementAttribute(audioElement, "touchstart") is "target"
 PASS testElementAttribute(audioElement, "transitionend") is "target"
 PASS testElementAttribute(audioElement, "volumechange") is "target"
 PASS testElementAttribute(audioElement, "waiting") is "target"
 PASS testElementAttribute(audioElement, "webkitanimationend") is "target"
 PASS testElementAttribute(audioElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(audioElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(audioElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(audioElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(audioElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(audioElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(audioElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(audioElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforcecancelled") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforcechanged") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforceclick") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforcedown") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforceup") is "target"
-PASS testElementAttribute(audioElement, "webkitmouseforcewillbegin") is "target"
-PASS testElementAttribute(audioElement, "webkitneedkey") is "target"
-PASS testElementAttribute(audioElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(audioElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(audioElement, "webkittransitionend") is "target"
-PASS testElementAttribute(audioElement, "webkitwillrevealbottom") is "target"
-PASS testElementAttribute(audioElement, "webkitwillrevealleft") is "target"
-PASS testElementAttribute(audioElement, "webkitwillrevealright") is "target"
-PASS testElementAttribute(audioElement, "webkitwillrevealtop") is "target"
 PASS testElementAttribute(audioElement, "wheel") is "target"
 
 Event names we expect not to be able to set on an element (tested on the <audio> element)
 
 PASS testElementAttribute(audioElement, "beforeunload") is "none"
-PASS testElementAttribute(audioElement, "devicemotion") is "none"
-PASS testElementAttribute(audioElement, "deviceorientation") is "none"
 PASS testElementAttribute(audioElement, "hashchange") is "none"
 PASS testElementAttribute(audioElement, "message") is "none"
 PASS testElementAttribute(audioElement, "noneventname") is "none"
 PASS testElementAttribute(audioElement, "offline") is "none"
 PASS testElementAttribute(audioElement, "online") is "none"
-PASS testElementAttribute(audioElement, "orientationchange") is "none"
 PASS testElementAttribute(audioElement, "pagehide") is "none"
 PASS testElementAttribute(audioElement, "pageshow") is "none"
-PASS testElementAttribute(audioElement, "pointerlockchange") is "none"
-PASS testElementAttribute(audioElement, "pointerlockerror") is "none"
 PASS testElementAttribute(audioElement, "popstate") is "none"
 PASS testElementAttribute(audioElement, "readystatechange") is "none"
 PASS testElementAttribute(audioElement, "resize") is "none"
-PASS testElementAttribute(audioElement, "securitypolicyviolation") is "none"
 PASS testElementAttribute(audioElement, "selectionchange") is "none"
 PASS testElementAttribute(audioElement, "storage") is "none"
 PASS testElementAttribute(audioElement, "unload") is "none"
-PASS testElementAttribute(audioElement, "webkitdeviceproximity") is "none"
 
 Event names we expect to be able to set on an element (tested on the <video> element)
 
@@ -649,8 +474,6 @@ PASS testElementAttribute(videoElement, "abort") is "target"
 PASS testElementAttribute(videoElement, "animationend") is "target"
 PASS testElementAttribute(videoElement, "animationiteration") is "target"
 PASS testElementAttribute(videoElement, "animationstart") is "target"
-PASS testElementAttribute(videoElement, "autocomplete") is "target"
-PASS testElementAttribute(videoElement, "autocompleteerror") is "target"
 PASS testElementAttribute(videoElement, "beforecopy") is "target"
 PASS testElementAttribute(videoElement, "beforecut") is "target"
 PASS testElementAttribute(videoElement, "beforeload") is "target"
@@ -678,9 +501,6 @@ PASS testElementAttribute(videoElement, "error") is "target"
 PASS testElementAttribute(videoElement, "focus") is "target"
 PASS testElementAttribute(videoElement, "focusin") is "target"
 PASS testElementAttribute(videoElement, "focusout") is "target"
-PASS testElementAttribute(videoElement, "gesturechange") is "target"
-PASS testElementAttribute(videoElement, "gestureend") is "target"
-PASS testElementAttribute(videoElement, "gesturestart") is "target"
 PASS testElementAttribute(videoElement, "input") is "target"
 PASS testElementAttribute(videoElement, "invalid") is "target"
 PASS testElementAttribute(videoElement, "keydown") is "target"
@@ -715,61 +535,31 @@ PASS testElementAttribute(videoElement, "stalled") is "target"
 PASS testElementAttribute(videoElement, "submit") is "target"
 PASS testElementAttribute(videoElement, "suspend") is "target"
 PASS testElementAttribute(videoElement, "timeupdate") is "target"
-PASS testElementAttribute(videoElement, "touchcancel") is "target"
-PASS testElementAttribute(videoElement, "touchend") is "target"
-PASS testElementAttribute(videoElement, "touchmove") is "target"
-PASS testElementAttribute(videoElement, "touchstart") is "target"
 PASS testElementAttribute(videoElement, "transitionend") is "target"
 PASS testElementAttribute(videoElement, "volumechange") is "target"
 PASS testElementAttribute(videoElement, "waiting") is "target"
 PASS testElementAttribute(videoElement, "webkitanimationend") is "target"
 PASS testElementAttribute(videoElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(videoElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(videoElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(videoElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(videoElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(videoElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(videoElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(videoElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforcecancelled") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforcechanged") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforceclick") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforcedown") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforceup") is "target"
-PASS testElementAttribute(videoElement, "webkitmouseforcewillbegin") is "target"
-PASS testElementAttribute(videoElement, "webkitneedkey") is "target"
-PASS testElementAttribute(videoElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(videoElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(videoElement, "webkittransitionend") is "target"
-PASS testElementAttribute(videoElement, "webkitwillrevealbottom") is "target"
-PASS testElementAttribute(videoElement, "webkitwillrevealleft") is "target"
-PASS testElementAttribute(videoElement, "webkitwillrevealright") is "target"
-PASS testElementAttribute(videoElement, "webkitwillrevealtop") is "target"
 PASS testElementAttribute(videoElement, "wheel") is "target"
 
 Event names we expect not to be able to set on an element (tested on the <video> element)
 
 PASS testElementAttribute(videoElement, "beforeunload") is "none"
-PASS testElementAttribute(videoElement, "devicemotion") is "none"
-PASS testElementAttribute(videoElement, "deviceorientation") is "none"
 PASS testElementAttribute(videoElement, "hashchange") is "none"
 PASS testElementAttribute(videoElement, "message") is "none"
 PASS testElementAttribute(videoElement, "noneventname") is "none"
 PASS testElementAttribute(videoElement, "offline") is "none"
 PASS testElementAttribute(videoElement, "online") is "none"
-PASS testElementAttribute(videoElement, "orientationchange") is "none"
 PASS testElementAttribute(videoElement, "pagehide") is "none"
 PASS testElementAttribute(videoElement, "pageshow") is "none"
-PASS testElementAttribute(videoElement, "pointerlockchange") is "none"
-PASS testElementAttribute(videoElement, "pointerlockerror") is "none"
 PASS testElementAttribute(videoElement, "popstate") is "none"
 PASS testElementAttribute(videoElement, "readystatechange") is "none"
 PASS testElementAttribute(videoElement, "resize") is "none"
-PASS testElementAttribute(videoElement, "securitypolicyviolation") is "none"
 PASS testElementAttribute(videoElement, "selectionchange") is "none"
 PASS testElementAttribute(videoElement, "storage") is "none"
 PASS testElementAttribute(videoElement, "unload") is "none"
-PASS testElementAttribute(videoElement, "webkitdeviceproximity") is "none"
 
 Event names we expect to be forwarded from <body> element to window object)
 
@@ -784,23 +574,12 @@ PASS testElementAttribute(bodyElement, "load") is "window"
 PASS testElementAttribute(bodyElement, "message") is "window"
 PASS testElementAttribute(bodyElement, "offline") is "window"
 PASS testElementAttribute(bodyElement, "online") is "window"
-PASS testElementAttribute(bodyElement, "orientationchange") is "window"
 PASS testElementAttribute(bodyElement, "pagehide") is "window"
 PASS testElementAttribute(bodyElement, "pageshow") is "window"
 PASS testElementAttribute(bodyElement, "popstate") is "window"
 PASS testElementAttribute(bodyElement, "resize") is "window"
 PASS testElementAttribute(bodyElement, "storage") is "window"
 PASS testElementAttribute(bodyElement, "unload") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforcecancelled") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforcechanged") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforceclick") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforcedown") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforceup") is "window"
-PASS testElementAttribute(bodyElement, "webkitmouseforcewillbegin") is "window"
-PASS testElementAttribute(bodyElement, "webkitwillrevealbottom") is "window"
-PASS testElementAttribute(bodyElement, "webkitwillrevealleft") is "window"
-PASS testElementAttribute(bodyElement, "webkitwillrevealright") is "window"
-PASS testElementAttribute(bodyElement, "webkitwillrevealtop") is "window"
 
 Event names we expect to be forwarded from <body> element to document)
 
@@ -812,8 +591,6 @@ PASS testElementAttribute(bodyElement, "abort") is "target"
 PASS testElementAttribute(bodyElement, "animationend") is "target"
 PASS testElementAttribute(bodyElement, "animationiteration") is "target"
 PASS testElementAttribute(bodyElement, "animationstart") is "target"
-PASS testElementAttribute(bodyElement, "autocomplete") is "target"
-PASS testElementAttribute(bodyElement, "autocompleteerror") is "target"
 PASS testElementAttribute(bodyElement, "beforecopy") is "target"
 PASS testElementAttribute(bodyElement, "beforecut") is "target"
 PASS testElementAttribute(bodyElement, "beforeload") is "target"
@@ -836,9 +613,6 @@ PASS testElementAttribute(bodyElement, "drop") is "target"
 PASS testElementAttribute(bodyElement, "durationchange") is "target"
 PASS testElementAttribute(bodyElement, "emptied") is "target"
 PASS testElementAttribute(bodyElement, "ended") is "target"
-PASS testElementAttribute(bodyElement, "gesturechange") is "target"
-PASS testElementAttribute(bodyElement, "gestureend") is "target"
-PASS testElementAttribute(bodyElement, "gesturestart") is "target"
 PASS testElementAttribute(bodyElement, "input") is "target"
 PASS testElementAttribute(bodyElement, "invalid") is "target"
 PASS testElementAttribute(bodyElement, "keydown") is "target"
@@ -872,38 +646,19 @@ PASS testElementAttribute(bodyElement, "stalled") is "target"
 PASS testElementAttribute(bodyElement, "submit") is "target"
 PASS testElementAttribute(bodyElement, "suspend") is "target"
 PASS testElementAttribute(bodyElement, "timeupdate") is "target"
-PASS testElementAttribute(bodyElement, "touchcancel") is "target"
-PASS testElementAttribute(bodyElement, "touchend") is "target"
-PASS testElementAttribute(bodyElement, "touchmove") is "target"
-PASS testElementAttribute(bodyElement, "touchstart") is "target"
 PASS testElementAttribute(bodyElement, "transitionend") is "target"
 PASS testElementAttribute(bodyElement, "volumechange") is "target"
 PASS testElementAttribute(bodyElement, "waiting") is "target"
 PASS testElementAttribute(bodyElement, "webkitanimationend") is "target"
 PASS testElementAttribute(bodyElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(bodyElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(bodyElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(bodyElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(bodyElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(bodyElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(bodyElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(bodyElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(bodyElement, "webkitneedkey") is "target"
-PASS testElementAttribute(bodyElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(bodyElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(bodyElement, "webkittransitionend") is "target"
 PASS testElementAttribute(bodyElement, "wheel") is "target"
 
 Event names we expect to not be able to set on <body> element
 
-PASS testElementAttribute(bodyElement, "devicemotion") is "none"
-PASS testElementAttribute(bodyElement, "deviceorientation") is "none"
 PASS testElementAttribute(bodyElement, "noneventname") is "none"
-PASS testElementAttribute(bodyElement, "pointerlockchange") is "none"
-PASS testElementAttribute(bodyElement, "pointerlockerror") is "none"
 PASS testElementAttribute(bodyElement, "readystatechange") is "none"
-PASS testElementAttribute(bodyElement, "securitypolicyviolation") is "none"
-PASS testElementAttribute(bodyElement, "webkitdeviceproximity") is "none"
 
 Event names we expect to be forwarded from <frameset> element to window object)
 
@@ -918,23 +673,12 @@ PASS testElementAttribute(framesetElement, "load") is "window"
 PASS testElementAttribute(framesetElement, "message") is "window"
 PASS testElementAttribute(framesetElement, "offline") is "window"
 PASS testElementAttribute(framesetElement, "online") is "window"
-PASS testElementAttribute(framesetElement, "orientationchange") is "window"
 PASS testElementAttribute(framesetElement, "pagehide") is "window"
 PASS testElementAttribute(framesetElement, "pageshow") is "window"
 PASS testElementAttribute(framesetElement, "popstate") is "window"
 PASS testElementAttribute(framesetElement, "resize") is "window"
 PASS testElementAttribute(framesetElement, "storage") is "window"
 PASS testElementAttribute(framesetElement, "unload") is "window"
-FAIL testElementAttribute(framesetElement, "webkitmouseforcecancelled") should be window. Was script: target; content: window.
-FAIL testElementAttribute(framesetElement, "webkitmouseforcechanged") should be window. Was script: target; content: window.
-FAIL testElementAttribute(framesetElement, "webkitmouseforceclick") should be window. Was script: target; content: window.
-FAIL testElementAttribute(framesetElement, "webkitmouseforcedown") should be window. Was script: target; content: window.
-FAIL testElementAttribute(framesetElement, "webkitmouseforceup") should be window. Was script: target; content: window.
-FAIL testElementAttribute(framesetElement, "webkitmouseforcewillbegin") should be window. Was script: target; content: window.
-PASS testElementAttribute(framesetElement, "webkitwillrevealbottom") is "window"
-PASS testElementAttribute(framesetElement, "webkitwillrevealleft") is "window"
-PASS testElementAttribute(framesetElement, "webkitwillrevealright") is "window"
-PASS testElementAttribute(framesetElement, "webkitwillrevealtop") is "window"
 
 Event names we expect to be forwarded from <frameset> element to document)
 
@@ -946,8 +690,6 @@ PASS testElementAttribute(framesetElement, "abort") is "target"
 PASS testElementAttribute(framesetElement, "animationend") is "target"
 PASS testElementAttribute(framesetElement, "animationiteration") is "target"
 PASS testElementAttribute(framesetElement, "animationstart") is "target"
-PASS testElementAttribute(framesetElement, "autocomplete") is "target"
-PASS testElementAttribute(framesetElement, "autocompleteerror") is "target"
 PASS testElementAttribute(framesetElement, "beforecopy") is "target"
 PASS testElementAttribute(framesetElement, "beforecut") is "target"
 PASS testElementAttribute(framesetElement, "beforeload") is "target"
@@ -970,9 +712,6 @@ PASS testElementAttribute(framesetElement, "drop") is "target"
 PASS testElementAttribute(framesetElement, "durationchange") is "target"
 PASS testElementAttribute(framesetElement, "emptied") is "target"
 PASS testElementAttribute(framesetElement, "ended") is "target"
-PASS testElementAttribute(framesetElement, "gesturechange") is "target"
-PASS testElementAttribute(framesetElement, "gestureend") is "target"
-PASS testElementAttribute(framesetElement, "gesturestart") is "target"
 PASS testElementAttribute(framesetElement, "input") is "target"
 PASS testElementAttribute(framesetElement, "invalid") is "target"
 PASS testElementAttribute(framesetElement, "keydown") is "target"
@@ -1006,38 +745,19 @@ PASS testElementAttribute(framesetElement, "stalled") is "target"
 PASS testElementAttribute(framesetElement, "submit") is "target"
 PASS testElementAttribute(framesetElement, "suspend") is "target"
 PASS testElementAttribute(framesetElement, "timeupdate") is "target"
-PASS testElementAttribute(framesetElement, "touchcancel") is "target"
-PASS testElementAttribute(framesetElement, "touchend") is "target"
-PASS testElementAttribute(framesetElement, "touchmove") is "target"
-PASS testElementAttribute(framesetElement, "touchstart") is "target"
 PASS testElementAttribute(framesetElement, "transitionend") is "target"
 PASS testElementAttribute(framesetElement, "volumechange") is "target"
 PASS testElementAttribute(framesetElement, "waiting") is "target"
 PASS testElementAttribute(framesetElement, "webkitanimationend") is "target"
 PASS testElementAttribute(framesetElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(framesetElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(framesetElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(framesetElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(framesetElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(framesetElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(framesetElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(framesetElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(framesetElement, "webkitneedkey") is "target"
-PASS testElementAttribute(framesetElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(framesetElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(framesetElement, "webkittransitionend") is "target"
 PASS testElementAttribute(framesetElement, "wheel") is "target"
 
 Event names we expect to not be able to set on <frameset> element
 
-PASS testElementAttribute(framesetElement, "devicemotion") is "none"
-PASS testElementAttribute(framesetElement, "deviceorientation") is "none"
 PASS testElementAttribute(framesetElement, "noneventname") is "none"
-PASS testElementAttribute(framesetElement, "pointerlockchange") is "none"
-PASS testElementAttribute(framesetElement, "pointerlockerror") is "none"
 PASS testElementAttribute(framesetElement, "readystatechange") is "none"
-PASS testElementAttribute(framesetElement, "securitypolicyviolation") is "none"
-PASS testElementAttribute(framesetElement, "webkitdeviceproximity") is "none"
 
 Event names we expect to be able to set on an element (tested on the SVG <rect> element)
 
@@ -1045,8 +765,6 @@ PASS testElementAttribute(rectElement, "abort") is "target"
 PASS testElementAttribute(rectElement, "animationend") is "target"
 PASS testElementAttribute(rectElement, "animationiteration") is "target"
 PASS testElementAttribute(rectElement, "animationstart") is "target"
-PASS testElementAttribute(rectElement, "autocomplete") is "target"
-PASS testElementAttribute(rectElement, "autocompleteerror") is "target"
 PASS testElementAttribute(rectElement, "beforecopy") is "target"
 PASS testElementAttribute(rectElement, "beforecut") is "target"
 PASS testElementAttribute(rectElement, "beforeload") is "target"
@@ -1074,9 +792,6 @@ PASS testElementAttribute(rectElement, "error") is "target"
 PASS testElementAttribute(rectElement, "focus") is "target"
 PASS testElementAttribute(rectElement, "focusin") is "target"
 PASS testElementAttribute(rectElement, "focusout") is "target"
-PASS testElementAttribute(rectElement, "gesturechange") is "target"
-PASS testElementAttribute(rectElement, "gestureend") is "target"
-PASS testElementAttribute(rectElement, "gesturestart") is "target"
 PASS testElementAttribute(rectElement, "input") is "target"
 PASS testElementAttribute(rectElement, "invalid") is "target"
 PASS testElementAttribute(rectElement, "keydown") is "target"
@@ -1111,61 +826,31 @@ PASS testElementAttribute(rectElement, "stalled") is "target"
 PASS testElementAttribute(rectElement, "submit") is "target"
 PASS testElementAttribute(rectElement, "suspend") is "target"
 PASS testElementAttribute(rectElement, "timeupdate") is "target"
-PASS testElementAttribute(rectElement, "touchcancel") is "target"
-PASS testElementAttribute(rectElement, "touchend") is "target"
-PASS testElementAttribute(rectElement, "touchmove") is "target"
-PASS testElementAttribute(rectElement, "touchstart") is "target"
 PASS testElementAttribute(rectElement, "transitionend") is "target"
 PASS testElementAttribute(rectElement, "volumechange") is "target"
 PASS testElementAttribute(rectElement, "waiting") is "target"
 PASS testElementAttribute(rectElement, "webkitanimationend") is "target"
 PASS testElementAttribute(rectElement, "webkitanimationiteration") is "target"
 PASS testElementAttribute(rectElement, "webkitanimationstart") is "target"
-PASS testElementAttribute(rectElement, "webkitcurrentplaybacktargetiswirelesschanged") is "target"
-PASS testElementAttribute(rectElement, "webkitfullscreenchange") is "target"
-PASS testElementAttribute(rectElement, "webkitfullscreenerror") is "target"
-PASS testElementAttribute(rectElement, "webkitkeyadded") is "target"
-PASS testElementAttribute(rectElement, "webkitkeyerror") is "target"
-PASS testElementAttribute(rectElement, "webkitkeymessage") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforcecancelled") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforcechanged") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforceclick") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforcedown") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforceup") is "target"
-PASS testElementAttribute(rectElement, "webkitmouseforcewillbegin") is "target"
-PASS testElementAttribute(rectElement, "webkitneedkey") is "target"
-PASS testElementAttribute(rectElement, "webkitplaybacktargetavailabilitychanged") is "target"
-PASS testElementAttribute(rectElement, "webkitpresentationmodechanged") is "target"
 PASS testElementAttribute(rectElement, "webkittransitionend") is "target"
-PASS testElementAttribute(rectElement, "webkitwillrevealbottom") is "target"
-PASS testElementAttribute(rectElement, "webkitwillrevealleft") is "target"
-PASS testElementAttribute(rectElement, "webkitwillrevealright") is "target"
-PASS testElementAttribute(rectElement, "webkitwillrevealtop") is "target"
 PASS testElementAttribute(rectElement, "wheel") is "target"
 
 Event names we expect not to be able to set on an element (tested on the SVG <rect> element)
 
 PASS testElementAttribute(rectElement, "beforeunload") is "none"
-PASS testElementAttribute(rectElement, "devicemotion") is "none"
-PASS testElementAttribute(rectElement, "deviceorientation") is "none"
 PASS testElementAttribute(rectElement, "hashchange") is "none"
 PASS testElementAttribute(rectElement, "message") is "none"
 PASS testElementAttribute(rectElement, "noneventname") is "none"
 PASS testElementAttribute(rectElement, "offline") is "none"
 PASS testElementAttribute(rectElement, "online") is "none"
-PASS testElementAttribute(rectElement, "orientationchange") is "none"
 PASS testElementAttribute(rectElement, "pagehide") is "none"
 PASS testElementAttribute(rectElement, "pageshow") is "none"
-PASS testElementAttribute(rectElement, "pointerlockchange") is "none"
-PASS testElementAttribute(rectElement, "pointerlockerror") is "none"
 PASS testElementAttribute(rectElement, "popstate") is "none"
 PASS testElementAttribute(rectElement, "readystatechange") is "none"
 PASS testElementAttribute(rectElement, "resize") is "none"
-PASS testElementAttribute(rectElement, "securitypolicyviolation") is "none"
 PASS testElementAttribute(rectElement, "selectionchange") is "none"
 PASS testElementAttribute(rectElement, "storage") is "none"
 PASS testElementAttribute(rectElement, "unload") is "none"
-PASS testElementAttribute(rectElement, "webkitdeviceproximity") is "none"
 
 Event names on a non-HTML element
 
@@ -1173,8 +858,6 @@ FAIL testElementAttribute(nonHTMLElement, "abort") should be none. Was script: t
 FAIL testElementAttribute(nonHTMLElement, "animationend") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "animationiteration") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "animationstart") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "autocomplete") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "autocompleteerror") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "beforecopy") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "beforecut") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "beforeload") should be none. Was script: target; content: none.
@@ -1189,8 +872,6 @@ FAIL testElementAttribute(nonHTMLElement, "contextmenu") should be none. Was scr
 FAIL testElementAttribute(nonHTMLElement, "copy") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "cut") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "dblclick") should be none. Was script: target; content: none.
-PASS testElementAttribute(nonHTMLElement, "devicemotion") is "none"
-PASS testElementAttribute(nonHTMLElement, "deviceorientation") is "none"
 FAIL testElementAttribute(nonHTMLElement, "drag") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "dragend") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "dragenter") should be none. Was script: target; content: none.
@@ -1205,9 +886,6 @@ FAIL testElementAttribute(nonHTMLElement, "error") should be none. Was script: t
 FAIL testElementAttribute(nonHTMLElement, "focus") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "focusin") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "focusout") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "gesturechange") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "gestureend") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "gesturestart") should be none. Was script: target; content: none.
 PASS testElementAttribute(nonHTMLElement, "hashchange") is "none"
 FAIL testElementAttribute(nonHTMLElement, "input") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "invalid") should be none. Was script: target; content: none.
@@ -1230,15 +908,12 @@ FAIL testElementAttribute(nonHTMLElement, "mousewheel") should be none. Was scri
 PASS testElementAttribute(nonHTMLElement, "noneventname") is "none"
 PASS testElementAttribute(nonHTMLElement, "offline") is "none"
 PASS testElementAttribute(nonHTMLElement, "online") is "none"
-PASS testElementAttribute(nonHTMLElement, "orientationchange") is "none"
 PASS testElementAttribute(nonHTMLElement, "pagehide") is "none"
 PASS testElementAttribute(nonHTMLElement, "pageshow") is "none"
 FAIL testElementAttribute(nonHTMLElement, "paste") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "pause") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "play") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "playing") should be none. Was script: target; content: none.
-PASS testElementAttribute(nonHTMLElement, "pointerlockchange") is "none"
-PASS testElementAttribute(nonHTMLElement, "pointerlockerror") is "none"
 PASS testElementAttribute(nonHTMLElement, "popstate") is "none"
 FAIL testElementAttribute(nonHTMLElement, "progress") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "ratechange") should be none. Was script: target; content: none.
@@ -1247,7 +922,6 @@ FAIL testElementAttribute(nonHTMLElement, "reset") should be none. Was script: t
 PASS testElementAttribute(nonHTMLElement, "resize") is "none"
 FAIL testElementAttribute(nonHTMLElement, "scroll") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "search") should be none. Was script: target; content: none.
-PASS testElementAttribute(nonHTMLElement, "securitypolicyviolation") is "none"
 FAIL testElementAttribute(nonHTMLElement, "seeked") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "seeking") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "select") should be none. Was script: target; content: none.
@@ -1258,10 +932,6 @@ PASS testElementAttribute(nonHTMLElement, "storage") is "none"
 FAIL testElementAttribute(nonHTMLElement, "submit") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "suspend") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "timeupdate") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "touchcancel") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "touchend") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "touchmove") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "touchstart") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "transitionend") should be none. Was script: target; content: none.
 PASS testElementAttribute(nonHTMLElement, "unload") is "none"
 FAIL testElementAttribute(nonHTMLElement, "volumechange") should be none. Was script: target; content: none.
@@ -1269,27 +939,7 @@ FAIL testElementAttribute(nonHTMLElement, "waiting") should be none. Was script:
 FAIL testElementAttribute(nonHTMLElement, "webkitanimationend") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "webkitanimationiteration") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "webkitanimationstart") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitcurrentplaybacktargetiswirelesschanged") should be none. Was script: target; content: none.
-PASS testElementAttribute(nonHTMLElement, "webkitdeviceproximity") is "none"
-FAIL testElementAttribute(nonHTMLElement, "webkitfullscreenchange") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitfullscreenerror") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitkeyadded") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitkeyerror") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitkeymessage") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforcecancelled") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforcechanged") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforceclick") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforcedown") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforceup") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitmouseforcewillbegin") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitneedkey") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitplaybacktargetavailabilitychanged") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitpresentationmodechanged") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "webkittransitionend") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitwillrevealbottom") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitwillrevealleft") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitwillrevealright") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "webkitwillrevealtop") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "wheel") should be none. Was script: target; content: none.
 
 PASS successfullyParsed is true
index 63357bc..10f83db 100644 (file)
@@ -25,8 +25,6 @@ const windowEvents = [
     "click",
     "contextmenu",
     "dblclick",
-    "devicemotion",
-    "deviceorientation",
     "drag",
     "dragend",
     "dragenter",
@@ -39,9 +37,6 @@ const windowEvents = [
     "ended",
     "error",
     "focus",
-    "gesturechange",
-    "gestureend",
-    "gesturestart",
     "hashchange",
     "input",
     "invalid",
@@ -63,7 +58,6 @@ const windowEvents = [
     "mousewheel",
     "offline",
     "online",
-    "orientationchange",
     "pagehide",
     "pageshow",
     "pause",
@@ -84,10 +78,6 @@ const windowEvents = [
     "submit",
     "suspend",
     "timeupdate",
-    "touchcancel",
-    "touchend",
-    "touchmove",
-    "touchstart",
     "transitionend",
     "unload",
     "volumechange",
@@ -95,18 +85,7 @@ const windowEvents = [
     "webkitanimationend",
     "webkitanimationiteration",
     "webkitanimationstart",
-    "webkitdeviceproximity",
-    "webkitmouseforcecancelled",
-    "webkitmouseforcechanged",
-    "webkitmouseforceclick",
-    "webkitmouseforcedown",
-    "webkitmouseforceup",
-    "webkitmouseforcewillbegin",
     "webkittransitionend",
-    "webkitwillrevealbottom",
-    "webkitwillrevealleft",
-    "webkitwillrevealright",
-    "webkitwillrevealtop",
     "wheel",
 ];
 
@@ -146,33 +125,14 @@ const documentEvents = [
     "mouseup",
     "mousewheel",
     "paste",
-    "pointerlockchange",
-    "pointerlockerror",
     "readystatechange",
     "reset",
     "scroll",
     "search",
-    "securitypolicyviolation",
     "select",
     "selectionchange",
     "selectstart",
     "submit",
-    "touchcancel",
-    "touchend",
-    "touchmove",
-    "touchstart",
-    "webkitmouseforcecancelled",
-    "webkitmouseforcechanged",
-    "webkitmouseforceclick",
-    "webkitmouseforcedown",
-    "webkitmouseforceup",
-    "webkitmouseforcewillbegin",
-    "webkitfullscreenchange",
-    "webkitfullscreenerror",
-    "webkitwillrevealbottom",
-    "webkitwillrevealleft",
-    "webkitwillrevealright",
-    "webkitwillrevealtop",
     "wheel",
 ];
 
@@ -181,8 +141,6 @@ const elementEvents = [
     "animationend",
     "animationiteration",
     "animationstart",
-    "autocomplete",
-    "autocompleteerror",
     "beforecopy",
     "beforecut",
     "beforeload",
@@ -210,9 +168,6 @@ const elementEvents = [
     "focus",
     "focusin",
     "focusout",
-    "gesturechange",
-    "gestureend",
-    "gesturestart",
     "input",
     "invalid",
     "keydown",
@@ -247,36 +202,13 @@ const elementEvents = [
     "submit",
     "suspend",
     "timeupdate",
-    "touchcancel",
-    "touchend",
-    "touchmove",
-    "touchstart",
     "transitionend",
     "volumechange",
     "waiting",
     "webkitanimationend",
     "webkitanimationiteration",
     "webkitanimationstart",
-    "webkitcurrentplaybacktargetiswirelesschanged",
-    "webkitfullscreenchange",
-    "webkitfullscreenerror",
-    "webkitkeyadded",
-    "webkitkeyerror",
-    "webkitkeymessage",
-    "webkitmouseforcecancelled",
-    "webkitmouseforcechanged",
-    "webkitmouseforceclick",
-    "webkitmouseforcedown",
-    "webkitmouseforceup",
-    "webkitmouseforcewillbegin",
-    "webkitneedkey",
-    "webkitplaybacktargetavailabilitychanged",
-    "webkitpresentationmodechanged",
     "webkittransitionend",
-    "webkitwillrevealbottom",
-    "webkitwillrevealleft",
-    "webkitwillrevealright",
-    "webkitwillrevealtop",
     "wheel",
 ];
 
@@ -292,23 +224,12 @@ const bodyElementWindowForwardedEvents = [
     "message",
     "offline",
     "online",
-    "orientationchange",
     "pagehide",
     "pageshow",
     "popstate",
     "resize",
     "storage",
     "unload",
-    "webkitmouseforcecancelled",
-    "webkitmouseforcechanged",
-    "webkitmouseforceclick",
-    "webkitmouseforcedown",
-    "webkitmouseforceup",
-    "webkitmouseforcewillbegin",
-    "webkitwillrevealbottom",
-    "webkitwillrevealleft",
-    "webkitwillrevealright",
-    "webkitwillrevealtop",
 ];
 
 const bodyElementDocumentForwardedEvents = [
@@ -613,6 +534,74 @@ loader/appcache/DOMApplicationCache.idl:    attribute EventListener onupdateread
 loader/appcache/DOMApplicationCache.idl:    attribute EventListener oncached;
 loader/appcache/DOMApplicationCache.idl:    attribute EventListener onobsolete;
 
+page/DOMWindow.idl:    [NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondevicemotion;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondeviceorientation;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturechange;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongestureend;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=PROXIMITY_EVENTS] attribute EventHandler onwebkitdeviceproximity;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+page/DOMWindow.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+dom/Document.idl:    [NotEnumerable, Conditional=CSP_NEXT] attribute EventHandler onsecuritypolicyviolation;
+dom/Document.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+dom/Document.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+dom/Document.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+dom/Document.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+dom/Document.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+dom/Document.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+dom/Document.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+dom/Document.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+dom/Document.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+dom/Document.idl:    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange;
+dom/Document.idl:    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror;
+dom/Document.idl:    [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockchange;
+dom/Document.idl:    [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockerror;
+dom/Element.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+dom/Element.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+dom/Element.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+dom/Element.idl:    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+dom/Element.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+dom/Element.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+dom/Element.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+dom/Element.idl:    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+dom/Element.idl:    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+dom/Element.idl:    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyadded;
+dom/Element.idl:    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyerror;
+dom/Element.idl:    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeymessage;
+dom/Element.idl:    [NotEnumerable, Conditional=ENCRYPTED_MEDIA|ENCRYPTED_MEDIA_V2] attribute EventHandler onwebkitneedkey;
+dom/Element.idl:    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange;
+dom/Element.idl:    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror;
+dom/Element.idl:    [NotEnumerable, Conditional=REQUEST_AUTOCOMPLETE] attribute EventHandler onautocomplete;
+dom/Element.idl:    [NotEnumerable, Conditional=REQUEST_AUTOCOMPLETE] attribute EventHandler onautocompleteerror;
+dom/Element.idl:    [NotEnumerable, Conditional=VIDEO_PRESENTATION_MODE] attribute EventHandler onwebkitpresentationmodechanged;
+dom/Element.idl:    [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitcurrentplaybacktargetiswirelesschanged;
+dom/Element.idl:    [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitplaybacktargetavailabilitychanged;
+
 page/EventSource.idl:    attribute EventListener onopen;
 page/EventSource.idl:    attribute EventListener onmessage;
 page/EventSource.idl:    attribute EventListener onerror;
index 031c43e..4d5ea39 100644 (file)
@@ -37,10 +37,10 @@ PASS /*img*/ typeof (element["onsubmit"]) is "function"
 PASS /*img*/ typeof (element["onerror"]) is "function"
 PASS /*img*/ typeof (element["oninput"]) is "function"
 PASS /*img*/ typeof (element["oninvalid"]) is "function"
-PASS /*img*/ typeof (element["ontouchstart"]) is "function"
-PASS /*img*/ typeof (element["ontouchmove"]) is "function"
-PASS /*img*/ typeof (element["ontouchend"]) is "function"
-PASS /*img*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*img*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*img*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*img*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*img*/ typeof (element["onabort"]) is "function"
@@ -81,10 +81,10 @@ PASS /*script*/ typeof (element["onsubmit"]) is "function"
 PASS /*script*/ typeof (element["onerror"]) is "function"
 PASS /*script*/ typeof (element["oninput"]) is "function"
 PASS /*script*/ typeof (element["oninvalid"]) is "function"
-PASS /*script*/ typeof (element["ontouchstart"]) is "function"
-PASS /*script*/ typeof (element["ontouchmove"]) is "function"
-PASS /*script*/ typeof (element["ontouchend"]) is "function"
-PASS /*script*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*script*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*script*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*script*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*script*/ typeof (element["onabort"]) is "function"
@@ -125,10 +125,10 @@ PASS /*video*/ typeof (element["onsubmit"]) is "function"
 PASS /*video*/ typeof (element["onerror"]) is "function"
 PASS /*video*/ typeof (element["oninput"]) is "function"
 PASS /*video*/ typeof (element["oninvalid"]) is "function"
-PASS /*video*/ typeof (element["ontouchstart"]) is "function"
-PASS /*video*/ typeof (element["ontouchmove"]) is "function"
-PASS /*video*/ typeof (element["ontouchend"]) is "function"
-PASS /*video*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*video*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*video*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*video*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*video*/ typeof (element["onabort"]) is "function"
@@ -169,10 +169,10 @@ PASS /*div*/ typeof (element["onsubmit"]) is "function"
 PASS /*div*/ typeof (element["onerror"]) is "function"
 PASS /*div*/ typeof (element["oninput"]) is "function"
 PASS /*div*/ typeof (element["oninvalid"]) is "function"
-PASS /*div*/ typeof (element["ontouchstart"]) is "function"
-PASS /*div*/ typeof (element["ontouchmove"]) is "function"
-PASS /*div*/ typeof (element["ontouchend"]) is "function"
-PASS /*div*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*div*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*div*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*div*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*div*/ typeof (element["onabort"]) is "function"
@@ -213,10 +213,10 @@ PASS /*form*/ typeof (element["onsubmit"]) is "function"
 PASS /*form*/ typeof (element["onerror"]) is "function"
 PASS /*form*/ typeof (element["oninput"]) is "function"
 PASS /*form*/ typeof (element["oninvalid"]) is "function"
-PASS /*form*/ typeof (element["ontouchstart"]) is "function"
-PASS /*form*/ typeof (element["ontouchmove"]) is "function"
-PASS /*form*/ typeof (element["ontouchend"]) is "function"
-PASS /*form*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*form*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*form*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*form*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*form*/ typeof (element["onabort"]) is "function"
@@ -257,10 +257,10 @@ PASS /*input*/ typeof (element["onsubmit"]) is "function"
 PASS /*input*/ typeof (element["onerror"]) is "function"
 PASS /*input*/ typeof (element["oninput"]) is "function"
 PASS /*input*/ typeof (element["oninvalid"]) is "function"
-PASS /*input*/ typeof (element["ontouchstart"]) is "function"
-PASS /*input*/ typeof (element["ontouchmove"]) is "function"
-PASS /*input*/ typeof (element["ontouchend"]) is "function"
-PASS /*input*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*input*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*input*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*input*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*input*/ typeof (element["onabort"]) is "function"
index 031c43e..4d5ea39 100644 (file)
@@ -37,10 +37,10 @@ PASS /*img*/ typeof (element["onsubmit"]) is "function"
 PASS /*img*/ typeof (element["onerror"]) is "function"
 PASS /*img*/ typeof (element["oninput"]) is "function"
 PASS /*img*/ typeof (element["oninvalid"]) is "function"
-PASS /*img*/ typeof (element["ontouchstart"]) is "function"
-PASS /*img*/ typeof (element["ontouchmove"]) is "function"
-PASS /*img*/ typeof (element["ontouchend"]) is "function"
-PASS /*img*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*img*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*img*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*img*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*img*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*img*/ typeof (element["onabort"]) is "function"
@@ -81,10 +81,10 @@ PASS /*script*/ typeof (element["onsubmit"]) is "function"
 PASS /*script*/ typeof (element["onerror"]) is "function"
 PASS /*script*/ typeof (element["oninput"]) is "function"
 PASS /*script*/ typeof (element["oninvalid"]) is "function"
-PASS /*script*/ typeof (element["ontouchstart"]) is "function"
-PASS /*script*/ typeof (element["ontouchmove"]) is "function"
-PASS /*script*/ typeof (element["ontouchend"]) is "function"
-PASS /*script*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*script*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*script*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*script*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*script*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*script*/ typeof (element["onabort"]) is "function"
@@ -125,10 +125,10 @@ PASS /*video*/ typeof (element["onsubmit"]) is "function"
 PASS /*video*/ typeof (element["onerror"]) is "function"
 PASS /*video*/ typeof (element["oninput"]) is "function"
 PASS /*video*/ typeof (element["oninvalid"]) is "function"
-PASS /*video*/ typeof (element["ontouchstart"]) is "function"
-PASS /*video*/ typeof (element["ontouchmove"]) is "function"
-PASS /*video*/ typeof (element["ontouchend"]) is "function"
-PASS /*video*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*video*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*video*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*video*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*video*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*video*/ typeof (element["onabort"]) is "function"
@@ -169,10 +169,10 @@ PASS /*div*/ typeof (element["onsubmit"]) is "function"
 PASS /*div*/ typeof (element["onerror"]) is "function"
 PASS /*div*/ typeof (element["oninput"]) is "function"
 PASS /*div*/ typeof (element["oninvalid"]) is "function"
-PASS /*div*/ typeof (element["ontouchstart"]) is "function"
-PASS /*div*/ typeof (element["ontouchmove"]) is "function"
-PASS /*div*/ typeof (element["ontouchend"]) is "function"
-PASS /*div*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*div*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*div*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*div*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*div*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*div*/ typeof (element["onabort"]) is "function"
@@ -213,10 +213,10 @@ PASS /*form*/ typeof (element["onsubmit"]) is "function"
 PASS /*form*/ typeof (element["onerror"]) is "function"
 PASS /*form*/ typeof (element["oninput"]) is "function"
 PASS /*form*/ typeof (element["oninvalid"]) is "function"
-PASS /*form*/ typeof (element["ontouchstart"]) is "function"
-PASS /*form*/ typeof (element["ontouchmove"]) is "function"
-PASS /*form*/ typeof (element["ontouchend"]) is "function"
-PASS /*form*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*form*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*form*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*form*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*form*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*form*/ typeof (element["onabort"]) is "function"
@@ -257,10 +257,10 @@ PASS /*input*/ typeof (element["onsubmit"]) is "function"
 PASS /*input*/ typeof (element["onerror"]) is "function"
 PASS /*input*/ typeof (element["oninput"]) is "function"
 PASS /*input*/ typeof (element["oninvalid"]) is "function"
-PASS /*input*/ typeof (element["ontouchstart"]) is "function"
-PASS /*input*/ typeof (element["ontouchmove"]) is "function"
-PASS /*input*/ typeof (element["ontouchend"]) is "function"
-PASS /*input*/ typeof (element["ontouchcancel"]) is "function"
+FAIL /*input*/ typeof (element["ontouchstart"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchmove"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchend"]) should be function. Was undefined.
+FAIL /*input*/ typeof (element["ontouchcancel"]) should be function. Was undefined.
 PASS /*input*/ typeof (element["onwebkitfullscreenchange"]) is "function"
 PASS /*input*/ typeof (element["onwebkitfullscreenerror"]) is "function"
 PASS /*input*/ typeof (element["onabort"]) is "function"
index 6879d4c..554e8e3 100644 (file)
@@ -1,3 +1,21 @@
+2015-03-26  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (r181358 and r181507): Lots of sites think that we support touch events on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=142888
+        <rdar://problem/20227304>
+
+        Reviewed by Beth Dakin.
+
+        * dom/Document.idl:
+        * dom/Element.idl:
+        * html/HTMLBodyElement.idl:
+        * html/HTMLFrameSetElement.idl:
+        * page/DOMWindow.idl:
+        Re-conditionalize a lot of event listeners; sites test ("ontouchstart" in window), which
+        is not covered by NotEnumerable, and so r181358 and r181507 broke a bunch of sites
+        (apple.com, blaze.com, anything using nicescroll.js, etc.) by causing them to think
+        that (Mac) Safari was touch-enabled.
+
 2015-03-26  Geoffrey Garen  <ggaren@apple.com>
 
         "lineNo" does not match WebKit coding style guidelines
index 87dd3ad..db3bd89 100644 (file)
     [NotEnumerable] attribute EventHandler onmouseup;
     [NotEnumerable] attribute EventHandler onmousewheel;
     [NotEnumerable] attribute EventHandler onpaste;
-    [NotEnumerable] attribute EventHandler onpointerlockchange;
-    [NotEnumerable] attribute EventHandler onpointerlockerror;
     [NotEnumerable] attribute EventHandler onreadystatechange;
     [NotEnumerable] attribute EventHandler onreset;
     [NotEnumerable] attribute EventHandler onscroll;
     [NotEnumerable] attribute EventHandler onsearch;
-    [NotEnumerable] attribute EventHandler onsecuritypolicyviolation;
     [NotEnumerable] attribute EventHandler onselect;
     [NotEnumerable] attribute EventHandler onselectionchange;
     [NotEnumerable] attribute EventHandler onselectstart;
     [NotEnumerable] attribute EventHandler onsubmit;
-    [NotEnumerable] attribute EventHandler ontouchcancel;
-    [NotEnumerable] attribute EventHandler ontouchend;
-    [NotEnumerable] attribute EventHandler ontouchmove;
-    [NotEnumerable] attribute EventHandler ontouchstart;
-    [NotEnumerable] attribute EventHandler onwebkitfullscreenchange;
-    [NotEnumerable] attribute EventHandler onwebkitfullscreenerror;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcecancelled;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcechanged;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceclick;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcedown;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceup;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcewillbegin;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealbottom;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealleft;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealright;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealtop;
     [NotEnumerable] attribute EventHandler onwheel;
 
+    [NotEnumerable, Conditional=CSP_NEXT] attribute EventHandler onsecuritypolicyviolation;
+
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+
+    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange;
+    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror;
+
+    [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockchange;
+    [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockerror;
+
 #if defined(ENABLE_IOS_TOUCH_EVENTS) && ENABLE_IOS_TOUCH_EVENTS
 #include <WebKitAdditions/DocumentIOS.idl>
 #elif defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS
index 0428710..317eea5 100644 (file)
     [NotEnumerable] attribute EventHandler onanimationend;
     [NotEnumerable] attribute EventHandler onanimationiteration;
     [NotEnumerable] attribute EventHandler onanimationstart;
-    [NotEnumerable] attribute EventHandler onautocomplete;
-    [NotEnumerable] attribute EventHandler onautocompleteerror;
     [NotEnumerable] attribute EventHandler onbeforecopy;
     [NotEnumerable] attribute EventHandler onbeforecut;
     [NotEnumerable] attribute EventHandler onbeforeload;
     [NotEnumerable] attribute EventHandler onsubmit;
     [NotEnumerable] attribute EventHandler onsuspend;
     [NotEnumerable] attribute EventHandler ontimeupdate;
-    [NotEnumerable] attribute EventHandler ontouchcancel;
-    [NotEnumerable] attribute EventHandler ontouchend;
-    [NotEnumerable] attribute EventHandler ontouchmove;
-    [NotEnumerable] attribute EventHandler ontouchstart;
     [NotEnumerable] attribute EventHandler ontransitionend;
     [NotEnumerable] attribute EventHandler onvolumechange;
     [NotEnumerable] attribute EventHandler onwaiting;
     [NotEnumerable] attribute EventHandler onwebkitanimationend;
     [NotEnumerable] attribute EventHandler onwebkitanimationiteration;
     [NotEnumerable] attribute EventHandler onwebkitanimationstart;
-    [NotEnumerable] attribute EventHandler onwebkitcurrentplaybacktargetiswirelesschanged;
-    [NotEnumerable] attribute EventHandler onwebkitfullscreenchange;
-    [NotEnumerable] attribute EventHandler onwebkitfullscreenerror;
-    [NotEnumerable] attribute EventHandler onwebkitkeyadded;
-    [NotEnumerable] attribute EventHandler onwebkitkeyerror;
-    [NotEnumerable] attribute EventHandler onwebkitkeymessage;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcecancelled;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcechanged;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceclick;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcedown;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcewillbegin;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceup;
-    [NotEnumerable] attribute EventHandler onwebkitneedkey;
-    [NotEnumerable] attribute EventHandler onwebkitplaybacktargetavailabilitychanged;
-    [NotEnumerable] attribute EventHandler onwebkitpresentationmodechanged;
     [NotEnumerable] attribute EventHandler onwebkittransitionend;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealbottom;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealleft;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealright;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealtop;
     [NotEnumerable] attribute EventHandler onwheel;
+
+    // Some sites use the existence of event handler properties for feature detection,
+    // so they actually need to be conditional, not just non-enumerable.
+
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+
+    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyadded;
+    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeyerror;
+    [NotEnumerable, Conditional=ENCRYPTED_MEDIA] attribute EventHandler onwebkitkeymessage;
+
+    [NotEnumerable, Conditional=ENCRYPTED_MEDIA|ENCRYPTED_MEDIA_V2] attribute EventHandler onwebkitneedkey;
+
+    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange;
+    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror;
+
+    [NotEnumerable, Conditional=REQUEST_AUTOCOMPLETE] attribute EventHandler onautocomplete;
+    [NotEnumerable, Conditional=REQUEST_AUTOCOMPLETE] attribute EventHandler onautocompleteerror;
+
+    [NotEnumerable, Conditional=VIDEO_PRESENTATION_MODE] attribute EventHandler onwebkitpresentationmodechanged;
+
+    [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitcurrentplaybacktargetiswirelesschanged;
+    [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitplaybacktargetavailabilitychanged;
 };
 
 Element implements ChildNode;
index 5b673f2..5971335 100644 (file)
@@ -37,7 +37,6 @@ interface HTMLBodyElement : HTMLElement {
     [NotEnumerable, WindowEventHandler] attribute EventHandler onmessage;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onoffline;
     [NotEnumerable, WindowEventHandler] attribute EventHandler ononline;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onorientationchange;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpagehide;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpageshow;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpopstate;
@@ -45,16 +44,20 @@ interface HTMLBodyElement : HTMLElement {
     [NotEnumerable, WindowEventHandler] attribute EventHandler onscroll;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onstorage;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onunload;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforcecancelled;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforcechanged;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforceclick;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforcedown;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforcewillbegin;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitmouseforceup;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealbottom;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealleft;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealright;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealtop;
+
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+    [NotEnumerable, WindowEventHandler, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+
+    [NotEnumerable, WindowEventHandler, Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
+
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
 
     [NotEnumerable, DocumentEventHandler] attribute EventHandler onselectionchange;
 };
index b993d49..c7d30b6 100644 (file)
@@ -35,7 +35,6 @@
     [NotEnumerable, WindowEventHandler] attribute EventHandler onmessage;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onoffline;
     [NotEnumerable, WindowEventHandler] attribute EventHandler ononline;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onorientationchange;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpagehide;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpageshow;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onpopstate;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onscroll;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onstorage;
     [NotEnumerable, WindowEventHandler] attribute EventHandler onunload;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealbottom;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealleft;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealright;
-    [NotEnumerable, WindowEventHandler] attribute EventHandler onwebkitwillrevealtop;
+
+    [NotEnumerable, WindowEventHandler, Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
+
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+    [NotEnumerable, WindowEventHandler, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
 };
 
index bba8f79..2a0b2fa 100644 (file)
     [NotEnumerable] attribute EventHandler onclick;
     [NotEnumerable] attribute EventHandler oncontextmenu;
     [NotEnumerable] attribute EventHandler ondblclick;
-    [NotEnumerable] attribute EventHandler ondevicemotion;
-    [NotEnumerable] attribute EventHandler ondeviceorientation;
     [NotEnumerable] attribute EventHandler ondrag;
     [NotEnumerable] attribute EventHandler ondragend;
     [NotEnumerable] attribute EventHandler ondragenter;
     [NotEnumerable] attribute EventHandler onended;
     [NotEnumerable] attribute EventHandler onerror;
     [NotEnumerable] attribute EventHandler onfocus;
-    [NotEnumerable] attribute EventHandler ongesturechange;
-    [NotEnumerable] attribute EventHandler ongestureend;
-    [NotEnumerable] attribute EventHandler ongesturestart;
     [NotEnumerable] attribute EventHandler onhashchange;
     [NotEnumerable] attribute EventHandler oninput;
     [NotEnumerable] attribute EventHandler oninvalid;
     [NotEnumerable] attribute EventHandler onmousewheel;
     [NotEnumerable] attribute EventHandler onoffline;
     [NotEnumerable] attribute EventHandler ononline;
-    [NotEnumerable] attribute EventHandler onorientationchange;
     [NotEnumerable] attribute EventHandler onpagehide;
     [NotEnumerable] attribute EventHandler onpageshow;
     [NotEnumerable] attribute EventHandler onpause;
     [NotEnumerable] attribute EventHandler onsubmit;
     [NotEnumerable] attribute EventHandler onsuspend;
     [NotEnumerable] attribute EventHandler ontimeupdate;
-    [NotEnumerable] attribute EventHandler ontouchcancel;
-    [NotEnumerable] attribute EventHandler ontouchend;
-    [NotEnumerable] attribute EventHandler ontouchmove;
-    [NotEnumerable] attribute EventHandler ontouchstart;
     [NotEnumerable] attribute EventHandler ontransitionend;
     [NotEnumerable] attribute EventHandler onunload;
     [NotEnumerable] attribute EventHandler onvolumechange;
     [NotEnumerable] attribute EventHandler onwebkitanimationend;
     [NotEnumerable] attribute EventHandler onwebkitanimationiteration;
     [NotEnumerable] attribute EventHandler onwebkitanimationstart;
-    [NotEnumerable] attribute EventHandler onwebkitdeviceproximity;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcecancelled;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcechanged;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceclick;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcedown;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforceup;
-    [NotEnumerable] attribute EventHandler onwebkitmouseforcewillbegin;
     [NotEnumerable] attribute EventHandler onwebkittransitionend;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealbottom;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealleft;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealright;
-    [NotEnumerable] attribute EventHandler onwebkitwillrevealtop;
     [NotEnumerable] attribute EventHandler onwheel;
 
+    // Some sites use the existence of event handler properties for feature detection,
+    // so they actually need to be conditional, not just non-enumerable.
+
+    [NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondevicemotion;
+    [NotEnumerable, Conditional=DEVICE_ORIENTATION] attribute EventHandler ondeviceorientation;
+
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchcancel;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
+    [NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
+
+    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturechange;
+    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongestureend;
+    [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart;
+
+    [NotEnumerable, Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
+
+    [NotEnumerable, Conditional=PROXIMITY_EVENTS] attribute EventHandler onwebkitdeviceproximity;
+
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
+    [NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
+
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcedown;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceup;
+    [NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcewillbegin;
+
     // EventTarget interface
     [Custom] void addEventListener(DOMString type, EventListener listener, optional boolean useCapture);
     [Custom] void removeEventListener(DOMString type, EventListener listener, optional boolean useCapture);