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