Title: [139922] trunk/Source/WebCore
Revision
139922
Author
[email protected]
Date
2013-01-16 13:58:45 -0800 (Wed, 16 Jan 2013)

Log Message

Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
https://bugs.webkit.org/show_bug.cgi?id=107004

Reviewed by Adam Barth.

Monitor the usage of transitionEnd events as well as
webkitTransitionEnd events so we can know in the future how much the
prefixed version is used to remove it becomes irrelevant.

No new tests : no behavior changes, we're just adding monitoring.

* dom/EventTarget.cpp:
(WebCore):
(WebCore::EventTarget::fireEventListeners):
* page/FeatureObserver.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139921 => 139922)


--- trunk/Source/WebCore/ChangeLog	2013-01-16 21:52:08 UTC (rev 139921)
+++ trunk/Source/WebCore/ChangeLog	2013-01-16 21:58:45 UTC (rev 139922)
@@ -1,3 +1,21 @@
+2013-01-16  Alexis Menard  <[email protected]>
+
+        Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
+        https://bugs.webkit.org/show_bug.cgi?id=107004
+
+        Reviewed by Adam Barth.
+
+        Monitor the usage of transitionEnd events as well as
+        webkitTransitionEnd events so we can know in the future how much the
+        prefixed version is used to remove it becomes irrelevant.
+
+        No new tests : no behavior changes, we're just adding monitoring.
+
+        * dom/EventTarget.cpp:
+        (WebCore):
+        (WebCore::EventTarget::fireEventListeners):
+        * page/FeatureObserver.h:
+
 2013-01-16  Antti Koivisto  <[email protected]>
 
         Tighten RenderLayerModelObject subclass constructors to operate on ContainerNodes.

Modified: trunk/Source/WebCore/dom/EventTarget.cpp (139921 => 139922)


--- trunk/Source/WebCore/dom/EventTarget.cpp	2013-01-16 21:52:08 UTC (rev 139921)
+++ trunk/Source/WebCore/dom/EventTarget.cpp	2013-01-16 21:58:45 UTC (rev 139922)
@@ -203,7 +203,23 @@
         fireEventListeners(event, d, *listenerUnprefixedVector);
     else if (listenerPrefixedVector)
         fireEventListeners(createMatchingPrefixedEvent(event).get(), d, *listenerPrefixedVector);
-    
+
+    if (!prefixedTypeName.isEmpty()) {
+        ScriptExecutionContext* context = scriptExecutionContext();
+        if (context && context->isDocument()) {
+            Document* document = static_cast<Document*>(context);
+            if (document->domWindow()) {
+                if (listenerPrefixedVector)
+                    if (listenerUnprefixedVector)
+                        FeatureObserver::observe(document->domWindow(), FeatureObserver::PrefixedAndUnprefixedTransitionEndEvent);
+                    else
+                        FeatureObserver::observe(document->domWindow(), FeatureObserver::PrefixedTransitionEndEvent);
+                else if (listenerUnprefixedVector)
+                    FeatureObserver::observe(document->domWindow(), FeatureObserver::UnprefixedTransitionEndEvent);
+            }
+        }
+    }
+
     return !event->defaultPrevented();
 }
         

Modified: trunk/Source/WebCore/page/FeatureObserver.h (139921 => 139922)


--- trunk/Source/WebCore/page/FeatureObserver.h	2013-01-16 21:52:08 UTC (rev 139921)
+++ trunk/Source/WebCore/page/FeatureObserver.h	2013-01-16 21:58:45 UTC (rev 139922)
@@ -57,6 +57,9 @@
         ContentSecurityPolicy,
         ContentSecurityPolicyReportOnly,
         PrefixedContentSecurityPolicyReportOnly,
+        PrefixedTransitionEndEvent,
+        UnprefixedTransitionEndEvent,
+        PrefixedAndUnprefixedTransitionEndEvent,
         // Add new features above this line.
         NumberOfFeatures, // This enum value must be last.
     };
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to