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

Unified Diff: third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js

Issue 2234193002: DevTools: migrate some of the sources panel sidebar panes to view management, allow view toolbars. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments addressed Created 4 years, 4 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/sources/EventListenerBreakpointsSidebarPane.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js b/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
index 5876d0b129b0c8d1bababc667df1a8b8dd27c4fa..1323224fe3e48537e6368ef528c19c7e3cc266b1 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/EventListenerBreakpointsSidebarPane.js
@@ -4,12 +4,12 @@
/**
* @constructor
- * @extends {WebInspector.SimpleView}
+ * @extends {WebInspector.VBox}
* @implements {WebInspector.TargetManager.Observer}
*/
WebInspector.EventListenerBreakpointsSidebarPane = function()
{
- WebInspector.SimpleView.call(this, WebInspector.UIString("Event Listener Breakpoints"));
+ WebInspector.VBox.call(this);
this.registerRequiredCSS("components/breakpointsList.css");
this._eventListenerBreakpointsSetting = WebInspector.settings.createLocalSetting("eventListenerBreakpoints", []);
@@ -43,6 +43,9 @@ WebInspector.EventListenerBreakpointsSidebarPane = function()
this._createCategory(WebInspector.UIString("XHR"), ["readystatechange", "load", "loadstart", "loadend", "abort", "error", "progress", "timeout"], false, ["XMLHttpRequest", "XMLHttpRequestUpload"]);
WebInspector.targetManager.observeTargets(this, WebInspector.Target.Capability.DOM);
+ WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerPaused, this._update, this);
+ WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerResumed, this._update, this);
+ WebInspector.context.addFlavorChangeListener(WebInspector.Target, this._update, this);
}
WebInspector.EventListenerBreakpointsSidebarPane.categoryListener = "listener:";
@@ -146,6 +149,32 @@ WebInspector.EventListenerBreakpointsSidebarPane.prototype = {
this._categoryItems.push(categoryItem);
},
+ _update: function()
+ {
+ var target = WebInspector.context.flavor(WebInspector.Target);
+ var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
+ var details = debuggerModel ? debuggerModel.debuggerPausedDetails() : null;
+
+ if (!details || details.reason !== WebInspector.DebuggerModel.BreakReason.EventListener) {
+ if (this._highlightedElement) {
+ this._highlightedElement.classList.remove("breakpoint-hit");
+ delete this._highlightedElement;
+ }
+ return;
+ }
+ var eventName = details.auxData["eventName"];
+ var targetName = details.auxData["targetName"];
+ var breakpointItem = this._findBreakpointItem(eventName, targetName);
+ if (!breakpointItem || !breakpointItem.checkbox.checked)
+ breakpointItem = this._findBreakpointItem(eventName, WebInspector.EventListenerBreakpointsSidebarPane.eventTargetAny);
+ if (!breakpointItem)
+ return;
+ WebInspector.viewManager.revealViewWithWidget(this);
+ breakpointItem.parent.element.expand();
+ breakpointItem.element.listItemElement.classList.add("breakpoint-hit");
+ this._highlightedElement = breakpointItem.element.listItemElement;
+ },
+
/**
* @param {!Array.<string>} array
* @return {!Array.<string>}
@@ -292,31 +321,6 @@ WebInspector.EventListenerBreakpointsSidebarPane.prototype = {
return null;
},
- /**
- * @param {string} eventName
- * @param {string=} targetName
- */
- highlightBreakpoint: function(eventName, targetName)
- {
- var breakpointItem = this._findBreakpointItem(eventName, targetName);
- if (!breakpointItem || !breakpointItem.checkbox.checked)
- breakpointItem = this._findBreakpointItem(eventName, WebInspector.EventListenerBreakpointsSidebarPane.eventTargetAny);
- if (!breakpointItem)
- return;
- this.revealView();
- breakpointItem.parent.element.expand();
- breakpointItem.element.listItemElement.classList.add("breakpoint-hit");
- this._highlightedElement = breakpointItem.element.listItemElement;
- },
-
- clearBreakpointHighlight: function()
- {
- if (this._highlightedElement) {
- this._highlightedElement.classList.remove("breakpoint-hit");
- delete this._highlightedElement;
- }
- },
-
_saveBreakpoints: function()
{
var breakpoints = [];
@@ -344,5 +348,5 @@ WebInspector.EventListenerBreakpointsSidebarPane.prototype = {
}
},
- __proto__: WebInspector.SimpleView.prototype
+ __proto__: WebInspector.VBox.prototype
}

Powered by Google App Engine
This is Rietveld 408576698