Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js

Issue 1879293002: Modify devtools to show passive event listeners. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js b/third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js
index efbf6506b8c3be2959cd58228fbec1310eac71ed..0ae03f13af4728824a8e6e9c0228c3f2cff22abf 100644
--- a/third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js
+++ b/third_party/WebKit/Source/devtools/front_end/elements/EventListenersWidget.js
@@ -38,12 +38,22 @@ WebInspector.EventListenersWidget = function()
this._showForAncestorsSetting = WebInspector.settings.createSetting("showEventListenersForAncestors", true);
this._showForAncestorsSetting.addChangeListener(this.update.bind(this));
+
+ this._dispatchFilterBySetting = WebInspector.settings.createSetting("eventListenerDispatchFilterType", WebInspector.EventListenersWidget.DispatchFilterBy.All);
+ this._dispatchFilterBySetting.addChangeListener(this.update.bind(this));
+
this._showFrameworkListenersSetting = WebInspector.settings.createSetting("showFrameowkrListeners", true);
this._showFrameworkListenersSetting.addChangeListener(this._showFrameworkListenersChanged.bind(this));
this._eventListenersView = new WebInspector.EventListenersView(this.element);
WebInspector.context.addFlavorChangeListener(WebInspector.DOMNode, this.update, this);
}
+WebInspector.EventListenersWidget.DispatchFilterBy = {
+ All : "All",
+ Blocking : "Blocking",
+ Passive : "Passive"
+}
+
/**
* @return {!WebInspector.ElementsSidebarViewWrapperPane}
*/
@@ -55,6 +65,24 @@ WebInspector.EventListenersWidget.createSidebarWrapper = function()
refreshButton.addEventListener("click", widget.update.bind(widget));
result.toolbar().appendToolbarItem(refreshButton);
result.toolbar().appendToolbarItem(new WebInspector.ToolbarCheckbox(WebInspector.UIString("Ancestors"), WebInspector.UIString("Show listeners on the ancestors"), widget._showForAncestorsSetting));
+ var dispatchFilter = new WebInspector.ToolbarComboBox(widget._onDispatchFilterTypeChanged.bind(widget));
+
+ /**
+ * @param {string} name
+ * @param {string} value
+ */
+ function addDispatchFilterOption(name, value)
+ {
+ var option = dispatchFilter.createOption(name, "", value);
+ if (value === widget._dispatchFilterBySetting.get())
+ dispatchFilter.select(option);
+ }
+ addDispatchFilterOption(WebInspector.UIString("All"), WebInspector.EventListenersWidget.DispatchFilterBy.All);
+ addDispatchFilterOption(WebInspector.UIString("Passive"), WebInspector.EventListenersWidget.DispatchFilterBy.Passive);
+ addDispatchFilterOption(WebInspector.UIString("Blocking"), WebInspector.EventListenersWidget.DispatchFilterBy.Blocking);
+ dispatchFilter.setMaxWidth(200);
+ result.toolbar().appendToolbarItem(dispatchFilter);
+
result.toolbar().appendToolbarItem(new WebInspector.ToolbarCheckbox(WebInspector.UIString("Framework listeners"), WebInspector.UIString("Resolve event listeners bound with framework"), widget._showFrameworkListenersSetting));
return result;
}
@@ -95,10 +123,20 @@ WebInspector.EventListenersWidget.prototype = {
return Promise.all(promises).then(this._eventListenersView.addObjects.bind(this._eventListenersView)).then(this._showFrameworkListenersChanged.bind(this));
},
+ /**
+ * @param {!Event} event
+ */
+ _onDispatchFilterTypeChanged: function(event)
+ {
+ this._dispatchFilterBySetting.set(event.target.value);
+ },
_showFrameworkListenersChanged: function()
{
- this._eventListenersView.showFrameworkListeners(this._showFrameworkListenersSetting.get());
+ var dispatchFilter = this._dispatchFilterBySetting.get();
+ var showPassive = dispatchFilter == WebInspector.EventListenersWidget.DispatchFilterBy.All || dispatchFilter == WebInspector.EventListenersWidget.DispatchFilterBy.Passive;
+ var showBlocking = dispatchFilter == WebInspector.EventListenersWidget.DispatchFilterBy.All || dispatchFilter == WebInspector.EventListenersWidget.DispatchFilterBy.Blocking;
+ this._eventListenersView.showFrameworkListeners(this._showFrameworkListenersSetting.get(), showPassive, showBlocking);
},
/**

Powered by Google App Engine
This is Rietveld 408576698