Diff
Modified: trunk/LayoutTests/ChangeLog (141825 => 141826)
--- trunk/LayoutTests/ChangeLog 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/LayoutTests/ChangeLog 2013-02-04 23:55:06 UTC (rev 141826)
@@ -1,3 +1,19 @@
+2013-01-31 Kentaro Hara <[email protected]>
+
+ Implement WheelEvent::deltaMode
+ https://bugs.webkit.org/show_bug.cgi?id=108455
+
+ Reviewed by Adam Barth.
+
+ Per the spec, WheelEvent::deltaMode should return
+ DOM_DELTA_PIXEL or DOM_DELTA_LINE or DOM_DELTA_PAGE.
+
+ Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
+ https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
+
+ * fast/events/constructors/wheel-event-constructor-expected.txt:
+ * fast/events/constructors/wheel-event-constructor.html:
+
2013-02-04 Dima Gorbik <[email protected]>
WebVTT <i>, <b> and <u> elements should have default styles
Modified: trunk/LayoutTests/fast/events/constructors/wheel-event-constructor-expected.txt (141825 => 141826)
--- trunk/LayoutTests/fast/events/constructors/wheel-event-constructor-expected.txt 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/LayoutTests/fast/events/constructors/wheel-event-constructor-expected.txt 2013-02-04 23:55:06 UTC (rev 141826)
@@ -174,6 +174,31 @@
PASS new WheelEvent('eventType', { wheelDeltaY: {} }).wheelDeltaY is 0
PASS new WheelEvent('eventType', { wheelDeltaY: {moemoe: 12345} }).wheelDeltaY is 0
PASS new WheelEvent('eventType', { wheelDeltaY: {valueOf: function () { return 12345; }} }).wheelDeltaY is 12345
+PASS new WheelEvent('eventType', { deltaMode: 0 }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: 1 }).deltaMode is 1
+PASS new WheelEvent('eventType', { deltaMode: 4294967294 }).deltaMode is 4294967294
+PASS new WheelEvent('eventType', { deltaMode: 4294967295 }).deltaMode is 4294967295
+PASS new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_PIXEL }).deltaMode is WheelEvent.DOM_DELTA_PIXEL
+PASS new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_LINE }).deltaMode is WheelEvent.DOM_DELTA_LINE
+PASS new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_PAGE }).deltaMode is WheelEvent.DOM_DELTA_PAGE
+PASS new WheelEvent('eventType', { deltaMode: 9007199254740991 }).deltaMode is 4294967295
+PASS new WheelEvent('eventType', { deltaMode: 18446744073709551615 }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: 12345678901234567890 }).deltaMode is 3944679424
+PASS new WheelEvent('eventType', { deltaMode: -1 }).deltaMode is 4294967295
+PASS new WheelEvent('eventType', { deltaMode: 123.45 }).deltaMode is 123
+PASS new WheelEvent('eventType', { deltaMode: NaN }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: undefined }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: null }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: '' }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: '12345' }).deltaMode is 12345
+PASS new WheelEvent('eventType', { deltaMode: '12345a' }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: 'abc' }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: [] }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: [12345] }).deltaMode is 12345
+PASS new WheelEvent('eventType', { deltaMode: [12345, 67890] }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: {} }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: {moemoe: 12345} }).deltaMode is 0
+PASS new WheelEvent('eventType', { deltaMode: {valueOf: function () { return 12345; }} }).deltaMode is 12345
PASS new WheelEvent('eventType', { ctrlKey: false }).ctrlKey is false
PASS new WheelEvent('eventType', { ctrlKey: true }).ctrlKey is true
PASS new WheelEvent('eventType', { altKey: false }).altKey is false
@@ -220,22 +245,23 @@
PASS new WheelEvent('eventType', { relatedTarget: {valueOf: function () { return testDiv; } } }).relatedTarget == testDiv is false
PASS new WheelEvent('eventType', { get relatedTarget() { return 123; } }).relatedTarget is null
PASS new WheelEvent('eventType', { get relatedTarget() { throw 'WheelEvent Error'; } }) threw exception WheelEvent Error.
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).bubbles is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).cancelable is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).view is window
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).detail is 111
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).screenX is 222
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).screenY is 333
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).clientX is 444
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).clientY is 555
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).ctrlKey is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).shiftKey is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).altKey is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).metaKey is true
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).button is 666
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).relatedTarget is testDiv
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).wheelDeltaX is 777
-PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).wheelDeltaY is 888
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).bubbles is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).cancelable is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).view is window
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).detail is 111
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).screenX is 222
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).screenY is 333
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).clientX is 444
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).clientY is 555
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).ctrlKey is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).shiftKey is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).altKey is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).metaKey is true
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).button is 666
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).relatedTarget is testDiv
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).wheelDeltaX is 777
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).wheelDeltaY is 888
+PASS new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).deltaMode is WheelEvent.DOM_DELTA_PAGE
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/fast/events/constructors/wheel-event-constructor.html (141825 => 141826)
--- trunk/LayoutTests/fast/events/constructors/wheel-event-constructor.html 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/LayoutTests/fast/events/constructors/wheel-event-constructor.html 2013-02-04 23:55:06 UTC (rev 141826)
@@ -80,6 +80,40 @@
shouldBe("new WheelEvent('eventType', { " + attr + ": {valueOf: function () { return 12345; }} })." + attr, "12345");
});
+// deltaMode is passed.
+// numbers within the unsigned long range.
+shouldBe("new WheelEvent('eventType', { deltaMode: 0 }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: 1 }).deltaMode", "1");
+shouldBe("new WheelEvent('eventType', { deltaMode: 4294967294 }).deltaMode", "4294967294");
+shouldBe("new WheelEvent('eventType', { deltaMode: 4294967295 }).deltaMode", "4294967295");
+shouldBe("new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_PIXEL }).deltaMode", "WheelEvent.DOM_DELTA_PIXEL");
+shouldBe("new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_LINE }).deltaMode", "WheelEvent.DOM_DELTA_LINE");
+shouldBe("new WheelEvent('eventType', { deltaMode: WheelEvent.DOM_DELTA_PAGE }).deltaMode", "WheelEvent.DOM_DELTA_PAGE");
+
+// numbers out of the unsigned long range.
+// 2^{53}-1, the largest number that can be exactly represented by double.
+shouldBe("new WheelEvent('eventType', { deltaMode: 9007199254740991 }).deltaMode", "4294967295");
+// 2^{64}-1
+shouldBe("new WheelEvent('eventType', { deltaMode: 18446744073709551615 }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: 12345678901234567890 }).deltaMode", "3944679424");
+shouldBe("new WheelEvent('eventType', { deltaMode: -1 }).deltaMode", "4294967295");
+shouldBe("new WheelEvent('eventType', { deltaMode: 123.45 }).deltaMode", "123");
+shouldBe("new WheelEvent('eventType', { deltaMode: NaN }).deltaMode", "0");
+
+// Non-numeric values.
+shouldBe("new WheelEvent('eventType', { deltaMode: undefined }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: null }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: '' }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: '12345' }).deltaMode", "12345");
+shouldBe("new WheelEvent('eventType', { deltaMode: '12345a' }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: 'abc' }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: [] }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: [12345] }).deltaMode", "12345");
+shouldBe("new WheelEvent('eventType', { deltaMode: [12345, 67890] }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: {} }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: {moemoe: 12345} }).deltaMode", "0");
+shouldBe("new WheelEvent('eventType', { deltaMode: {valueOf: function () { return 12345; }} }).deltaMode", "12345");
+
// ctrlKey, altKey, shiftKey and metaKey are passed.
["ctrlKey", "altKey", "shiftKey", "metaKey"].forEach(function (attr) {
shouldBe("new WheelEvent('eventType', { " + attr + ": false })." + attr, "false");
@@ -141,22 +175,23 @@
shouldThrow("new WheelEvent('eventType', { get relatedTarget() { throw 'WheelEvent Error'; } })");
// All initializers are passed.
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).bubbles", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).cancelable", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).view", "window");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).detail", "111");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).screenX", "222");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).screenY", "333");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).clientX", "444");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).clientY", "555");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).ctrlKey", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).shiftKey", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).altKey", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).metaKey", "true");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).button", "666");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).relatedTarget", "testDiv");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).wheelDeltaX", "777");
-shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888 }).wheelDeltaY", "888");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).bubbles", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).cancelable", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).view", "window");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).detail", "111");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).screenX", "222");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).screenY", "333");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).clientX", "444");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).clientY", "555");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).ctrlKey", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).shiftKey", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).altKey", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).metaKey", "true");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).button", "666");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).relatedTarget", "testDiv");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).wheelDeltaX", "777");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).wheelDeltaY", "888");
+shouldBe("new WheelEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, screenX: 222, screenY: 333, clientX: 444, clientY: 555, ctrlKey: true, shiftKey: true, altKey: true, metaKey: true, button: 666, relatedTarget: testDiv, wheelDeltaX: 777, wheelDeltaY: 888, deltaMode: WheelEvent.DOM_DELTA_PAGE }).deltaMode", "WheelEvent.DOM_DELTA_PAGE");
</script>
<script src=""
</body>
Modified: trunk/Source/WebCore/ChangeLog (141825 => 141826)
--- trunk/Source/WebCore/ChangeLog 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebCore/ChangeLog 2013-02-04 23:55:06 UTC (rev 141826)
@@ -1,3 +1,32 @@
+2013-01-31 Kentaro Hara <[email protected]>
+
+ Implement WheelEvent::deltaMode
+ https://bugs.webkit.org/show_bug.cgi?id=108455
+
+ Reviewed by Adam Barth.
+
+ Per the spec, WheelEvent::deltaMode should return
+ DOM_DELTA_PIXEL or DOM_DELTA_LINE or DOM_DELTA_PAGE.
+
+ Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
+ https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-wheelevent
+
+ Test: fast/event/wheel-event-constructor.html
+
+ * dom/WheelEvent.cpp:
+ (WebCore::WheelEventInit::WheelEventInit):
+ (WebCore::WheelEvent::WheelEvent):
+ (WebCore::WheelEvent::initWheelEvent):
+ (WebCore::deltaMode):
+ * dom/WheelEvent.h:
+ (WheelEventInit):
+ (WebCore::WheelEvent::create):
+ (WebCore::WheelEvent::deltaMode):
+ (WheelEvent):
+ * dom/WheelEvent.idl:
+ * page/EventHandler.cpp:
+ (WebCore::wheelGranularityToScrollGranularity):
+
2013-02-04 Gustavo Noronha Silva <[email protected]>
[Soup] Remove duplicate setting of first party for cookies
Modified: trunk/Source/WebCore/dom/WheelEvent.cpp (141825 => 141826)
--- trunk/Source/WebCore/dom/WheelEvent.cpp 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebCore/dom/WheelEvent.cpp 2013-02-04 23:55:06 UTC (rev 141826)
@@ -34,11 +34,12 @@
WheelEventInit::WheelEventInit()
: wheelDeltaX(0)
, wheelDeltaY(0)
+ , deltaMode(WheelEvent::DOM_DELTA_PIXEL)
{
}
WheelEvent::WheelEvent()
- : m_deltaMode(DOMDeltaPixel)
+ : m_deltaMode(DOM_DELTA_PIXEL)
, m_directionInvertedFromDevice(false)
{
}
@@ -46,10 +47,11 @@
WheelEvent::WheelEvent(const AtomicString& type, const WheelEventInit& initializer)
: MouseEvent(type, initializer)
, m_wheelDelta(IntPoint(initializer.wheelDeltaX, initializer.wheelDeltaY))
+ , m_deltaMode(initializer.deltaMode)
{
}
-WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, DeltaMode deltaMode,
+WheelEvent::WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta, unsigned deltaMode,
PassRefPtr<AbstractView> view, const IntPoint& screenLocation, const IntPoint& pageLocation,
bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool directionInvertedFromDevice)
: MouseEvent(eventNames().mousewheelEvent,
@@ -85,7 +87,7 @@
m_wheelDelta = IntPoint(rawDeltaX * TickMultiplier, rawDeltaY * TickMultiplier);
m_rawDelta = IntPoint(rawDeltaX, rawDeltaY);
- m_deltaMode = DOMDeltaPixel;
+ m_deltaMode = DOM_DELTA_PIXEL;
m_directionInvertedFromDevice = false;
initCoordinates(IntPoint(pageX, pageY));
@@ -109,9 +111,9 @@
return false;
}
-inline static WheelEvent::DeltaMode deltaMode(const PlatformWheelEvent& event)
+inline static unsigned deltaMode(const PlatformWheelEvent& event)
{
- return event.granularity() == ScrollByPageWheelEvent ? WheelEvent::DOMDeltaPage : WheelEvent::DOMDeltaPixel;
+ return event.granularity() == ScrollByPageWheelEvent ? WheelEvent::DOM_DELTA_PAGE : WheelEvent::DOM_DELTA_PIXEL;
}
PassRefPtr<WheelEventDispatchMediator> WheelEventDispatchMediator::create(const PlatformWheelEvent& event, PassRefPtr<AbstractView> view)
Modified: trunk/Source/WebCore/dom/WheelEvent.h (141825 => 141826)
--- trunk/Source/WebCore/dom/WheelEvent.h 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebCore/dom/WheelEvent.h 2013-02-04 23:55:06 UTC (rev 141826)
@@ -35,13 +35,18 @@
int wheelDeltaX;
int wheelDeltaY;
+ unsigned deltaMode;
};
class WheelEvent : public MouseEvent {
public:
enum { TickMultiplier = 120 };
- enum DeltaMode { DOMDeltaPixel, DOMDeltaLine, DOMDeltaPage };
+ enum DeltaMode {
+ DOM_DELTA_PIXEL = 0,
+ DOM_DELTA_LINE,
+ DOM_DELTA_PAGE
+ };
static PassRefPtr<WheelEvent> create()
{
@@ -54,7 +59,7 @@
}
static PassRefPtr<WheelEvent> create(const FloatPoint& wheelTicks,
- const FloatPoint& rawDelta, DeltaMode deltaMode, PassRefPtr<AbstractView> view,
+ const FloatPoint& rawDelta, unsigned deltaMode, PassRefPtr<AbstractView> view,
const IntPoint& screenLocation, const IntPoint& pageLocation,
bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool directionInvertedFromDevice)
{
@@ -75,7 +80,7 @@
int wheelDeltaY() const { return m_wheelDelta.y(); }
int rawDeltaX() const { return m_rawDelta.x(); }
int rawDeltaY() const { return m_rawDelta.y(); }
- DeltaMode deltaMode() const { return m_deltaMode; }
+ unsigned deltaMode() const { return m_deltaMode; }
bool webkitDirectionInvertedFromDevice() const { return m_directionInvertedFromDevice; }
// Needed for Objective-C legacy support
@@ -88,13 +93,12 @@
WheelEvent();
WheelEvent(const AtomicString&, const WheelEventInit&);
WheelEvent(const FloatPoint& wheelTicks, const FloatPoint& rawDelta,
- DeltaMode, PassRefPtr<AbstractView>,
- const IntPoint& screenLocation, const IntPoint& pageLocation,
+ unsigned, PassRefPtr<AbstractView>, const IntPoint& screenLocation, const IntPoint& pageLocation,
bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool directionInvertedFromDevice);
IntPoint m_wheelDelta;
IntPoint m_rawDelta;
- DeltaMode m_deltaMode;
+ unsigned m_deltaMode;
bool m_directionInvertedFromDevice;
};
Modified: trunk/Source/WebCore/dom/WheelEvent.idl (141825 => 141826)
--- trunk/Source/WebCore/dom/WheelEvent.idl 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebCore/dom/WheelEvent.idl 2013-02-04 23:55:06 UTC (rev 141826)
@@ -22,8 +22,13 @@
ConstructorConditional=DOM4_EVENTS_CONSTRUCTOR,
ConstructorTemplate=Event
] interface WheelEvent : MouseEvent {
+ const unsigned long DOM_DELTA_PIXEL = 0x00;
+ const unsigned long DOM_DELTA_LINE = 0x01;
+ const unsigned long DOM_DELTA_PAGE = 0x02;
+
[InitializedByEventConstructor] readonly attribute long wheelDeltaX;
[InitializedByEventConstructor] readonly attribute long wheelDeltaY;
+ [InitializedByEventConstructor] readonly attribute unsigned long deltaMode;
readonly attribute long wheelDelta;
Modified: trunk/Source/WebCore/page/EventHandler.cpp (141825 => 141826)
--- trunk/Source/WebCore/page/EventHandler.cpp 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2013-02-04 23:55:06 UTC (rev 141826)
@@ -251,17 +251,18 @@
};
#endif
-static inline ScrollGranularity wheelGranularityToScrollGranularity(WheelEvent::DeltaMode deltaMode)
+static inline ScrollGranularity wheelGranularityToScrollGranularity(unsigned deltaMode)
{
switch (deltaMode) {
- case WheelEvent::DOMDeltaPage:
+ case WheelEvent::DOM_DELTA_PAGE:
return ScrollByPage;
- case WheelEvent::DOMDeltaLine:
+ case WheelEvent::DOM_DELTA_LINE:
return ScrollByLine;
- case WheelEvent::DOMDeltaPixel:
+ case WheelEvent::DOM_DELTA_PIXEL:
return ScrollByPixel;
+ default:
+ return ScrollByPixel;
}
- return ScrollByPixel;
}
static inline bool scrollNode(float delta, ScrollGranularity granularity, ScrollDirection positiveDirection, ScrollDirection negativeDirection, Node* node, Node** stopNode)
Modified: trunk/Source/WebKit/chromium/ChangeLog (141825 => 141826)
--- trunk/Source/WebKit/chromium/ChangeLog 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebKit/chromium/ChangeLog 2013-02-04 23:55:06 UTC (rev 141826)
@@ -1,3 +1,13 @@
+2013-01-31 Kentaro Hara <[email protected]>
+
+ Implement WheelEvent::deltaMode
+ https://bugs.webkit.org/show_bug.cgi?id=108455
+
+ Reviewed by Adam Barth.
+
+ * src/WebInputEventConversion.cpp:
+ (WebKit::WebMouseWheelEventBuilder::WebMouseWheelEventBuilder):
+
2013-02-04 Mark Pilgrim <[email protected]>
[Chromium] Move WorkerContextProxy to WebCore
Modified: trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp (141825 => 141826)
--- trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp 2013-02-04 23:54:12 UTC (rev 141825)
+++ trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp 2013-02-04 23:55:06 UTC (rev 141826)
@@ -517,7 +517,7 @@
// The 120 is from WheelEvent::initWheelEvent().
wheelTicksX = static_cast<float>(event.wheelDeltaX()) / 120;
wheelTicksY = static_cast<float>(event.wheelDeltaY()) / 120;
- scrollByPage = event.deltaMode() == WheelEvent::DOMDeltaPage;
+ scrollByPage = event.deltaMode() == WheelEvent::DOM_DELTA_PAGE;
}
WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event)