Title: [118303] trunk
Revision
118303
Author
[email protected]
Date
2012-05-23 18:57:45 -0700 (Wed, 23 May 2012)

Log Message

[Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87218

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::handleWheelEvent re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html
       fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

* fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt: Added.
* fast/dom/shadow/wheel-event-in-shadow-dom.html: Added.
* fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt: Added.
* fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (118302 => 118303)


--- trunk/LayoutTests/ChangeLog	2012-05-24 01:56:41 UTC (rev 118302)
+++ trunk/LayoutTests/ChangeLog	2012-05-24 01:57:45 UTC (rev 118303)
@@ -1,3 +1,15 @@
+2012-05-23  Shinya Kawanaka  <[email protected]>
+
+        [Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
+        https://bugs.webkit.org/show_bug.cgi?id=87218
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt: Added.
+        * fast/dom/shadow/wheel-event-in-shadow-dom.html: Added.
+        * fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt: Added.
+        * fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html: Added.
+
 2012-05-23  Hayato Ito  <[email protected]>
 
         Adjust a target node of a mouse event correctly when a distributed text node is clicked.

Added: trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt (0 => 118303)


--- trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt	2012-05-24 01:57:45 UTC (rev 118303)
@@ -0,0 +1,5 @@
+PASS: mousewheel event is fired.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom.html (0 => 118303)


--- trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom.html	                        (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/wheel-event-in-shadow-dom.html	2012-05-24 01:57:45 UTC (rev 118303)
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script src=""
+<script src=""
+</head>
+<body>
+
+<div id="host"></div>
+<pre id="console"></pre>
+
+<script>
+function createBox(name) {
+    var div = document.createElement('div');
+    div.style.width = '100px';
+    div.style.height = '100px';
+
+    div.addEventListener('mousewheel', function(e) {
+        debug('PASS: mousewheel event is fired.');
+    });
+
+    return div;
+}
+
+var shadowRoot = new WebKitShadowRoot(host);
+var shadowDiv = createBox('shadow');
+shadowRoot.appendChild(shadowDiv);
+
+mouseMoveToElem(shadowDiv);
+eventSender.mouseScrollBy(0, 1);
+
+var successfullyParsed = true;
+</script>
+
+<script src=""
+</body>
+</html>

Added: trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt (0 => 118303)


--- trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt	2012-05-24 01:57:45 UTC (rev 118303)
@@ -0,0 +1,5 @@
+PASS: mousewheel event is fired.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html (0 => 118303)


--- trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html	                        (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html	2012-05-24 01:57:45 UTC (rev 118303)
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+<script src=""
+<script src=""
+</head>
+<body>
+
+<div id="host"></div>
+<pre id="console"></pre>
+
+<script>
+function createInput(name) {
+    var div = document.createElement('input');
+    div.style.width = '100px';
+    div.style.height = '100px';
+
+    div.addEventListener('mousewheel', function(e) {
+        debug('PASS: mousewheel event is fired.');
+    });
+
+    return div;
+}
+
+var shadowRoot = new WebKitShadowRoot(host);
+var shadowDiv = createInput('shadow');
+shadowRoot.appendChild(shadowDiv);
+
+mouseMoveToElem(shadowDiv);
+eventSender.mouseScrollBy(0, 1);
+
+var successfullyParsed = true;
+</script>
+
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (118302 => 118303)


--- trunk/Source/WebCore/ChangeLog	2012-05-24 01:56:41 UTC (rev 118302)
+++ trunk/Source/WebCore/ChangeLog	2012-05-24 01:57:45 UTC (rev 118303)
@@ -1,3 +1,19 @@
+2012-05-23  Shinya Kawanaka  <[email protected]>
+
+        [Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
+        https://bugs.webkit.org/show_bug.cgi?id=87218
+
+        Reviewed by Dimitri Glazkov.
+
+        EventHander::handleWheelEvent re-targets an event to a shadow ancestor node,
+        however it should be done by adjusting event target. So we don't need to have it.
+
+        Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html
+               fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleWheelEvent):
+
 2012-05-23  Huang Dongsung  <[email protected]>
 
         Remove an unused setter in CachedResource.h.

Modified: trunk/Source/WebCore/page/EventHandler.cpp (118302 => 118303)


--- trunk/Source/WebCore/page/EventHandler.cpp	2012-05-24 01:56:41 UTC (rev 118302)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2012-05-24 01:57:45 UTC (rev 118303)
@@ -2347,7 +2347,6 @@
                 return true;
         }
 
-        node = node->shadowAncestorNode();
         if (node && !node->dispatchWheelEvent(event))
             return true;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to