REGRESSION (198056): Unable to use edit buttons on WordPress
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 May 2016 17:47:01 +0000 (17:47 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 May 2016 17:47:01 +0000 (17:47 +0000)
https://bugs.webkit.org/show_bug.cgi?id=157475

Reviewed by Antti Koivisto.

Source/WebCore:

Renamed Event.prototype.deepPath() to composedPath() per discussions on
https://github.com/whatwg/dom/issues/242 as the old name was not Web compatible.

Test: fast/shadow-dom/Extensions-to-Event-Interface.html

* dom/Event.cpp:
(WebCore::Event::composedPath): Renamed from deepPath.
* dom/Event.h:
* dom/Event.idl:

LayoutTests:

Updated the tests.

* fast/shadow-dom/Extensions-to-Event-Interface-expected.txt:
* fast/shadow-dom/Extensions-to-Event-Interface.html:
* fast/shadow-dom/resources/event-path-test-helpers.js:
(dispatchEventWithLog):

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

LayoutTests/ChangeLog
LayoutTests/fast/shadow-dom/Extensions-to-Event-Interface-expected.txt
LayoutTests/fast/shadow-dom/Extensions-to-Event-Interface.html
LayoutTests/fast/shadow-dom/resources/event-path-test-helpers.js
Source/WebCore/ChangeLog
Source/WebCore/dom/Event.cpp
Source/WebCore/dom/Event.h
Source/WebCore/dom/Event.idl

index 6311739..4484c30 100644 (file)
@@ -1,3 +1,17 @@
+2016-05-09  Ryosuke Niwa  <rniwa@webkit.org>
+
+        REGRESSION (198056): Unable to use edit buttons on WordPress
+        https://bugs.webkit.org/show_bug.cgi?id=157475
+
+        Reviewed by Antti Koivisto.
+
+        Updated the tests.
+
+        * fast/shadow-dom/Extensions-to-Event-Interface-expected.txt:
+        * fast/shadow-dom/Extensions-to-Event-Interface.html:
+        * fast/shadow-dom/resources/event-path-test-helpers.js:
+        (dispatchEventWithLog):
+
 2016-05-09  Ryan Haddad  <ryanhaddad@apple.com>
 
         Removing timeout and adding failure expectation for storage/indexeddb/intversion-open-in-upgradeneeded.html
index 9f02128..db083e2 100644 (file)
@@ -1,7 +1,7 @@
 
-PASS deepPath() must exist on Event 
-PASS deepPath() must return an empty array when the event has not been dispatched 
-PASS deepPath() must return an empty array when the event is no longer dispatched 
+PASS composedPath() must exist on Event 
+PASS composedPath() must return an empty array when the event has not been dispatched 
+PASS composedPath() must return an empty array when the event is no longer dispatched 
 PASS scoped must exist on Event 
 PASS scoped on EventInit must default to false 
 PASS scoped on EventInit must set the scoped flag 
@@ -20,6 +20,6 @@ PASS The event must not propagate out of open mode shadow tree of the target but
 PASS The event must not propagate out of closed mode shadow tree of the target but must propagate out of inner shadow trees when the scoped flag is set 
 PASS The event must propagate out of open mode shadow tree in which the relative target and the relative related target are the same 
 PASS The event must propagate out of closed mode shadow tree in which the relative target and the relative related target are the same 
-PASS deepPath() must contain and only contain the unclosed nodes of target in open mode shadow trees 
-PASS deepPath() must contain and only contain the unclosed nodes of target in closed mode shadow trees 
+PASS composedPath() must contain and only contain the unclosed nodes of target in open mode shadow trees 
+PASS composedPath() must contain and only contain the unclosed nodes of target in closed mode shadow trees 
 
index 7575b67..aa56099 100644 (file)
@@ -3,7 +3,7 @@
 <head>
 <title>Shadow DOM: Extensions to Event Interface</title>
 <meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
-<meta name="assert" content="Event interface must have deepPath() as a method">
+<meta name="assert" content="Event interface must have composedPath() as a method">
 <link rel="help" href="http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-event-interface">
 <script src="../../resources/testharness.js"></script>
 <script src="../../resources/testharnessreport.js"></script>
 <script>
 
 test(function () {
-    assert_true('deepPath' in Event.prototype);
-    assert_true('deepPath' in new Event('my-event'));
-}, 'deepPath() must exist on Event');
+    assert_true('composedPath' in Event.prototype);
+    assert_true('composedPath' in new Event('my-event'));
+}, 'composedPath() must exist on Event');
 
 test(function () {
     var event = new Event('my-event');
-    assert_array_equals(event.deepPath(), []);
-}, 'deepPath() must return an empty array when the event has not been dispatched');
+    assert_array_equals(event.composedPath(), []);
+}, 'composedPath() must return an empty array when the event has not been dispatched');
 
 test(function () {
     var event = new Event('my-event');
     document.body.dispatchEvent(event);
-    assert_array_equals(event.deepPath(), []);
-}, 'deepPath() must return an empty array when the event is no longer dispatched');
+    assert_array_equals(event.composedPath(), []);
+}, 'composedPath() must return an empty array when the event is no longer dispatched');
 
 test(function () {
     assert_true('scoped' in Event.prototype);
@@ -87,7 +87,7 @@ function testUnscopedEvent(mode) {
         assert_array_equals(log.pathAtTargets[0], expectedPath);
         assert_array_equals(log.pathAtTargets[1], expectedPath);
         assert_array_equals(log.pathAtTargets[2], mode == 'open' ? expectedPath : ['A1', 'A-SR', 'A'],
-            'deepPath must only contain unclosed nodes of the current target.');
+            'composedPath must only contain unclosed nodes of the current target.');
     }, 'The event must propagate out of ' + mode + ' mode shadow boundaries when the scoped flag is unset');
 }
 
@@ -274,7 +274,7 @@ function testUnscopedEventWithScopedRelatedTargetThroughSlot(mode) {
         assert_array_equals(log.pathAtTargets[7], mode == 'open' ? expectedPath : pathExposedToA1);
         assert_array_equals(log.pathAtTargets[8], mode == 'open' ? expectedPath : pathExposedToB);
         assert_array_equals(log.relatedTargets, expectedRelatedTarget);
-    }, 'deepPath() must contain and only contain the unclosed nodes of target in ' + mode + ' mode shadow trees');
+    }, 'composedPath() must contain and only contain the unclosed nodes of target in ' + mode + ' mode shadow trees');
 }
 
 testUnscopedEventWithScopedRelatedTargetThroughSlot('open');
index a1c494a..091bcd0 100644 (file)
@@ -15,10 +15,10 @@ function dispatchEventWithLog(shadow, target, event) {
                 eventPath.push(this.label);
                 relatedTargets.push(event.relatedTarget ? event.relatedTarget.label : null);
 
-                if (!event.deepPath) // Don't fail all tests just for the lack of deepPath.
+                if (!event.composedPath) // Don't fail all tests just for the lack of composedPath.
                     return;
 
-                pathAtTargets.push(event.deepPath().map(function (node) { return node.label; }));
+                pathAtTargets.push(event.composedPath().map(function (node) { return node.label; }));
             }).bind(node));
         }
     }
index c84b15d..fa3a92e 100644 (file)
@@ -1,3 +1,20 @@
+2016-05-09  Ryosuke Niwa  <rniwa@webkit.org>
+
+        REGRESSION (198056): Unable to use edit buttons on WordPress
+        https://bugs.webkit.org/show_bug.cgi?id=157475
+
+        Reviewed by Antti Koivisto.
+
+        Renamed Event.prototype.deepPath() to composedPath() per discussions on
+        https://github.com/whatwg/dom/issues/242 as the old name was not Web compatible.
+
+        Test: fast/shadow-dom/Extensions-to-Event-Interface.html
+
+        * dom/Event.cpp:
+        (WebCore::Event::composedPath): Renamed from deepPath.
+        * dom/Event.h:
+        * dom/Event.idl:
+
 2016-05-09  Alex Christensen  <achristensen@webkit.org>
 
         Don't use DiskCache for media resource loads
index 7a07c82..bbda622 100644 (file)
@@ -187,7 +187,7 @@ void Event::setTarget(RefPtr<EventTarget>&& target)
         receivedTarget();
 }
 
-Vector<EventTarget*> Event::deepPath() const
+Vector<EventTarget*> Event::composedPath() const
 {
     if (!m_eventPath)
         return Vector<EventTarget*>();
index 4ce9268..15c335d 100644 (file)
@@ -124,7 +124,7 @@ public:
 
     void setEventPath(const EventPath& path) { m_eventPath = &path; }
     void clearEventPath() { m_eventPath = nullptr; }
-    Vector<EventTarget*> deepPath() const;
+    Vector<EventTarget*> composedPath() const;
 
     void stopPropagation() { m_propagationStopped = true; }
     void stopImmediatePropagation() { m_immediatePropagationStopped = true; }
index b5f7a67..0cd882e 100644 (file)
@@ -61,7 +61,7 @@
     [InitializedByEventConstructor, Conditional=SHADOW_DOM, EnabledAtRuntime=ShadowDOM] readonly attribute boolean relatedTargetScoped;
     readonly attribute DOMTimeStamp     timeStamp;
 
-    [Conditional=SHADOW_DOM, EnabledAtRuntime=ShadowDOM] sequence<Node> deepPath();
+    [Conditional=SHADOW_DOM, EnabledAtRuntime=ShadowDOM] sequence<Node> composedPath();
 
     void               stopPropagation();
     void               preventDefault();