Title: [118125] trunk
Revision
118125
Author
[email protected]
Date
2012-05-22 22:40:20 -0700 (Tue, 22 May 2012)

Log Message

Remove an assertion since an event's target might be a shadow root if a text node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=87072

Reviewed by Dimitri Glazkov.

Source/WebCore:

Tests: fast/dom/shadow/shadow-dom-event-dispatching.html

* dom/ComposedShadowTreeWalker.cpp:
(WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):

LayoutTests:

* fast/dom/shadow/shadow-dom-event-dispatching.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (118124 => 118125)


--- trunk/LayoutTests/ChangeLog	2012-05-23 05:25:36 UTC (rev 118124)
+++ trunk/LayoutTests/ChangeLog	2012-05-23 05:40:20 UTC (rev 118125)
@@ -1,3 +1,12 @@
+2012-05-22  Hayato Ito  <[email protected]>
+
+        Remove an assertion since an event's target might be a shadow root if a text node is clicked.
+        https://bugs.webkit.org/show_bug.cgi?id=87072
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/dom/shadow/shadow-dom-event-dispatching.html:
+
 2012-05-22  Dongwoo Im  <[email protected]>
 
         [EFL] Implements the registerProtocolHandler method and option.

Modified: trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching-expected.txt (118124 => 118125)


--- trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching-expected.txt	2012-05-23 05:25:36 UTC (rev 118124)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching-expected.txt	2012-05-23 05:40:20 UTC (rev 118125)
@@ -258,6 +258,24 @@
 
   mouseover
      @top (target: top) (related: shadow-host)
+
+
+Composed Shadow Tree will be:
+DIV	 id=sandbox
+	DIV	 id=top
+		DIV	 id=shadow-host
+			#text	
+
+
+Moving mouse from a direct child text node of the shadow root to top
+
+  mouseout
+     @shadow-root (target: shadow-root) (related: top)
+     @shadow-host (target: shadow-host) (related: top)
+     @top (target: shadow-host) (related: top)
+
+  mouseover
+     @top (target: top) (related: shadow-host)
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching.html (118124 => 118125)


--- trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching.html	2012-05-23 05:25:36 UTC (rev 118124)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-dom-event-dispatching.html	2012-05-23 05:40:20 UTC (rev 118125)
@@ -11,16 +11,17 @@
 <script>
 description("Tests to ensure that event dispatching behaves as the Shadow DOM spec describes.");
 
+var defaultPaddingSize = 40;
+
 function moveMouseOver(element)
 {
     if (!window.eventSender || !window.internals)
         return;
 
-    var defaultPaddingSize = 20;
     var x = element.offsetLeft + element.offsetWidth / 2;
     var y;
     if (element.hasChildNodes() || window.internals.shadowRoot(element))
-        y = element.offsetTop + defaultPaddingSize;
+        y = element.offsetTop + defaultPaddingSize / 2;
     else
         y = element.offsetTop + element.offsetHeight / 2;
     eventSender.mouseMoveTo(x, y);
@@ -88,10 +89,11 @@
         node.addEventListener('mouseover', recordEvent, false);
         node.addEventListener('mouseout', recordEvent, false);
         if (node.tagName == 'DIV' || node.tagName == 'DETAILS' || node.tagName == 'SUMMARY')
-            node.setAttribute('style', 'padding-top: 40px;');
+            node.setAttribute('style', 'padding-top: ' + defaultPaddingSize + 'px;');
     }
 }
 
+// FIXME: More meaningful function names instead of sequence numbers.
 function prepareDOMTree1(parent)
 {
     parent.appendChild(
@@ -174,6 +176,20 @@
     debug('\n\nComposed Shadow Tree will be:\n' + dumpComposedShadowTree(parent));
 }
 
+function prepareDOMTree5(parent)
+{
+    parent.appendChild(
+        createDOM('div', {'id': 'top'},
+                  createDOM('div', {'id': 'shadow-host'},
+                            createShadowRoot())));
+    var shadowRoot = getNodeInShadowTreeStack('shadow-host/');
+    shadowRoot.id = 'shadow-root';
+    shadowRoot.innerHTML = 'Text Nodes';
+    addEventListeners(['top', 'shadow-host', 'shadow-host/']);
+    parent.offsetLeft;
+    debug('\n\nComposed Shadow Tree will be:\n' + dumpComposedShadowTree(parent));
+}
+
 function debugDispatchedEvent(eventType)
 {
     debug('\n  ' + eventType);
@@ -187,12 +203,9 @@
     clearEventRecords();
     debug('\n' + 'Moving mouse from ' + oldElementId + ' to ' + newElementId);
     moveMouseOver(getNodeInShadowTreeStack(oldElementId));
-    // debugDispatchedEvent('mouseout');
-    // debugDispatchedEvent('mouseover');
 
     clearEventRecords();
     moveMouseOver(getNodeInShadowTreeStack(newElementId));
-    // isInnermostActiveElement(newElementId);
 
     debugDispatchedEvent('mouseout');
     debugDispatchedEvent('mouseover');
@@ -232,7 +245,22 @@
 
     sandbox.innerHTML = '';
     prepareDOMTree4(sandbox);
+
     moveMouse('shadow-host/svg-in-shadow-tree', 'top');
+
+    sandbox.innerHTML = '';
+    prepareDOMTree5(sandbox);
+
+    // Calculates the position of the text node in the shadow root.
+    var host = document.getElementById('shadow-host');
+    var x = host.offsetLeft + 5;
+    var y = host.offsetTop + defaultPaddingSize + 5;
+    debug('\n' + 'Moving mouse from a direct child text node of the shadow root to top');
+    eventSender.mouseMoveTo(x, y);
+    clearEventRecords();
+    moveMouseOver(document.getElementById('top'));
+    debugDispatchedEvent('mouseout');
+    debugDispatchedEvent('mouseover');
 }
 
 test();

Modified: trunk/Source/WebCore/ChangeLog (118124 => 118125)


--- trunk/Source/WebCore/ChangeLog	2012-05-23 05:25:36 UTC (rev 118124)
+++ trunk/Source/WebCore/ChangeLog	2012-05-23 05:40:20 UTC (rev 118125)
@@ -1,3 +1,15 @@
+2012-05-22  Hayato Ito  <[email protected]>
+
+        Remove an assertion since an event's target might be a shadow root if a text node is clicked.
+        https://bugs.webkit.org/show_bug.cgi?id=87072
+
+        Reviewed by Dimitri Glazkov.
+
+        Tests: fast/dom/shadow/shadow-dom-event-dispatching.html
+
+        * dom/ComposedShadowTreeWalker.cpp:
+        (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
+
 2012-05-22  Dongwoo Im  <[email protected]>
 
         [EFL] Implements the registerProtocolHandler method and option.

Modified: trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp (118124 => 118125)


--- trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp	2012-05-23 05:25:36 UTC (rev 118124)
+++ trunk/Source/WebCore/dom/ComposedShadowTreeWalker.cpp	2012-05-23 05:40:20 UTC (rev 118125)
@@ -52,7 +52,8 @@
     : m_node(node)
     , m_policy(policy)
 {
-    assertPostcondition();
+    // FIXME: Refactor ComposedShadowTreeWalker so that we can assert node here.
+    // https://bugs.webkit.org/show_bug.cgi?id=87004
 }
 
 ComposedShadowTreeWalker ComposedShadowTreeWalker::fromFirstChild(const Node* node, Policy policy)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to