Changeset 139922 in webkit


Ignore:
Timestamp:
Jan 16, 2013 1:58:45 PM (11 years ago)
Author:
alexis@webkit.org
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:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r139920 r139922  
     12013-01-16  Alexis Menard  <alexis@webkit.org>
     2
     3        Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
     4        https://bugs.webkit.org/show_bug.cgi?id=107004
     5
     6        Reviewed by Adam Barth.
     7
     8        Monitor the usage of transitionEnd events as well as
     9        webkitTransitionEnd events so we can know in the future how much the
     10        prefixed version is used to remove it becomes irrelevant.
     11
     12        No new tests : no behavior changes, we're just adding monitoring.
     13
     14        * dom/EventTarget.cpp:
     15        (WebCore):
     16        (WebCore::EventTarget::fireEventListeners):
     17        * page/FeatureObserver.h:
     18
    1192013-01-16  Antti Koivisto  <antti@apple.com>
    220
  • trunk/Source/WebCore/dom/EventTarget.cpp

    r139762 r139922  
    204204    else if (listenerPrefixedVector)
    205205        fireEventListeners(createMatchingPrefixedEvent(event).get(), d, *listenerPrefixedVector);
    206    
     206
     207    if (!prefixedTypeName.isEmpty()) {
     208        ScriptExecutionContext* context = scriptExecutionContext();
     209        if (context && context->isDocument()) {
     210            Document* document = static_cast<Document*>(context);
     211            if (document->domWindow()) {
     212                if (listenerPrefixedVector)
     213                    if (listenerUnprefixedVector)
     214                        FeatureObserver::observe(document->domWindow(), FeatureObserver::PrefixedAndUnprefixedTransitionEndEvent);
     215                    else
     216                        FeatureObserver::observe(document->domWindow(), FeatureObserver::PrefixedTransitionEndEvent);
     217                else if (listenerUnprefixedVector)
     218                    FeatureObserver::observe(document->domWindow(), FeatureObserver::UnprefixedTransitionEndEvent);
     219            }
     220        }
     221    }
     222
    207223    return !event->defaultPrevented();
    208224}
  • trunk/Source/WebCore/page/FeatureObserver.h

    r133325 r139922  
    5858        ContentSecurityPolicyReportOnly,
    5959        PrefixedContentSecurityPolicyReportOnly,
     60        PrefixedTransitionEndEvent,
     61        UnprefixedTransitionEndEvent,
     62        PrefixedAndUnprefixedTransitionEndEvent,
    6063        // Add new features above this line.
    6164        NumberOfFeatures, // This enum value must be last.
Note: See TracChangeset for help on using the changeset viewer.