Title: [218049] trunk/Source/WebInspectorUI
Revision
218049
Author
[email protected]
Date
2017-06-10 00:13:22 -0700 (Sat, 10 Jun 2017)

Log Message

Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
https://bugs.webkit.org/show_bug.cgi?id=173185

Reviewed by Joseph Pecoraro.

* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
(WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
Maintain a member variable flag such that event listeners are only removed if it is true.
It is only set to true once the event listeners are added.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (218048 => 218049)


--- trunk/Source/WebInspectorUI/ChangeLog	2017-06-10 05:24:39 UTC (rev 218048)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-06-10 07:13:22 UTC (rev 218049)
@@ -1,3 +1,17 @@
+2017-06-10  Devin Rousso  <[email protected]>
+
+        Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
+        https://bugs.webkit.org/show_bug.cgi?id=173185
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
+        (WebInspector.ResourceDetailsSidebarPanel):
+        (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
+        (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
+        Maintain a member variable flag such that event listeners are only removed if it is true.
+        It is only set to true once the event listeners are added.
+
 2017-06-09  Devin Rousso  <[email protected]>
 
         Web Inspector: REGRESSION(r217258): Misspelled variable names

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js (218048 => 218049)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js	2017-06-10 05:24:39 UTC (rev 218048)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js	2017-06-10 07:13:22 UTC (rev 218049)
@@ -32,6 +32,8 @@
         this.element.classList.add("resource");
 
         this._resource = null;
+        this._needsToApplyResourceEventListeners = false;
+        this._needsToRemoveResourceEventListeners = false;
     }
 
     // Public
@@ -79,7 +81,7 @@
         if (resource === this._resource)
             return;
 
-        if (this._resource) {
+        if (this._resource && this._needsToRemoveResourceEventListeners) {
             this._resource.removeEventListener(WebInspector.Resource.Event.URLDidChange, this._refreshURL, this);
             this._resource.removeEventListener(WebInspector.Resource.Event.MIMETypeDidChange, this._refreshMIMEType, this);
             this._resource.removeEventListener(WebInspector.Resource.Event.TypeDidChange, this._refreshResourceType, this);
@@ -90,6 +92,8 @@
             this._resource.removeEventListener(WebInspector.Resource.Event.SizeDidChange, this._refreshDecodedSize, this);
             this._resource.removeEventListener(WebInspector.Resource.Event.TransferSizeDidChange, this._refreshTransferSize, this);
             this._resource.removeEventListener(WebInspector.Resource.Event.InitiatedResourcesDidChange, this._refreshRelatedResourcesSection, this);
+
+            this._needsToRemoveResourceEventListeners = false;
         }
 
         this._resource = resource;
@@ -620,5 +624,7 @@
         this._resource.addEventListener(WebInspector.Resource.Event.SizeDidChange, this._refreshDecodedSize, this);
         this._resource.addEventListener(WebInspector.Resource.Event.TransferSizeDidChange, this._refreshTransferSize, this);
         this._resource.addEventListener(WebInspector.Resource.Event.InitiatedResourcesDidChange, this._refreshRelatedResourcesSection, this);
+
+        this._needsToRemoveResourceEventListeners = true;
     }
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to