Changeset 195442 in webkit


Ignore:
Timestamp:
Jan 21, 2016 9:54:31 PM (8 years ago)
Author:
Nikita Vasilyev
Message:

REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
https://bugs.webkit.org/show_bug.cgi?id=153269
<rdar://problem/24253106>

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Bring back object.hasOwnProperty("_listeners") check.

  • UserInterface/Base/Object.js:

(WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
(WebInspector.Object.prototype.dispatchEventToListeners):
(WebInspector.Object):
Check !object._listeners before !object.hasOwnProperty("_listeners")
because !object._listeners is more common case thus we can exit earlier
most of the time.

LayoutTests:

  • inspector/unit-tests/object-expected.txt: Added.
  • inspector/unit-tests/object.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r195439 r195442  
     12016-01-21  Nikita Vasilyev  <nvasilyev@apple.com>
     2
     3        REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
     4        https://bugs.webkit.org/show_bug.cgi?id=153269
     5        <rdar://problem/24253106>
     6
     7        Reviewed by Timothy Hatcher.
     8
     9        * inspector/unit-tests/object-expected.txt: Added.
     10        * inspector/unit-tests/object.html: Added.
     11
    1122016-01-21  Yusuke Suzuki  <utatane.tea@gmail.com>
    213
  • trunk/Source/WebInspectorUI/ChangeLog

    r195432 r195442  
     12016-01-21  Nikita Vasilyev  <nvasilyev@apple.com>
     2
     3        REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
     4        https://bugs.webkit.org/show_bug.cgi?id=153269
     5        <rdar://problem/24253106>
     6
     7        Reviewed by Timothy Hatcher.
     8
     9        Bring back object.hasOwnProperty("_listeners") check.
     10
     11        * UserInterface/Base/Object.js:
     12        (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
     13        (WebInspector.Object.prototype.dispatchEventToListeners):
     14        (WebInspector.Object):
     15        Check !object._listeners before !object.hasOwnProperty("_listeners")
     16        because !object._listeners is more common case thus we can exit earlier
     17        most of the time.
     18
    1192016-01-21  Devin Rousso  <dcrousso+webkit@gmail.com>
    220
  • trunk/Source/WebInspectorUI/UserInterface/Base/Object.js

    r195343 r195442  
    140140        function dispatch(object)
    141141        {
    142             if (!object || !object._listeners || event._stoppedPropagation)
     142            if (!object || event._stoppedPropagation)
    143143                return;
    144144
    145             console.assert(object._listeners instanceof Map);
    146 
    147             let listenersTable = object._listeners.get(eventType);
     145            let listenerTypesMap = object._listeners;
     146            if (!listenerTypesMap || !object.hasOwnProperty("_listeners"))
     147                return;
     148
     149            console.assert(listenerTypesMap instanceof Map);
     150
     151            let listenersTable = listenerTypesMap.get(eventType);
    148152            if (!listenersTable)
    149153                return;
Note: See TracChangeset for help on using the changeset viewer.