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;
}
};