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

Unified Diff: Source/devtools/front_end/extensions/ExtensionServer.js

Issue 400633003: DevTools: introduce multitarget model listeners (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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
« no previous file with comments | « Source/devtools/front_end/elements/ElementsPanel.js ('k') | Source/devtools/front_end/main/Main.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/extensions/ExtensionServer.js
diff --git a/Source/devtools/front_end/extensions/ExtensionServer.js b/Source/devtools/front_end/extensions/ExtensionServer.js
index 1932c7989b655d203bb5707eaf5118753b1d4df1..712e1da580c67bca993aeca0d20393189da664d7 100644
--- a/Source/devtools/front_end/extensions/ExtensionServer.js
+++ b/Source/devtools/front_end/extensions/ExtensionServer.js
@@ -666,14 +666,12 @@ WebInspector.ExtensionServer.prototype = {
_initExtensions: function()
{
- this._registerAutosubscriptionHandler(WebInspector.extensionAPI.Events.ConsoleMessageAdded,
- WebInspector.multitargetConsoleModel, WebInspector.ConsoleModel.Events.MessageAdded, this._notifyConsoleMessageAdded);
- this._registerAutosubscriptionHandler(WebInspector.extensionAPI.Events.NetworkRequestFinished,
- WebInspector.networkManager, WebInspector.NetworkManager.EventTypes.RequestFinished, this._notifyRequestFinished);
+ this._registerAutosubscriptionTargetManagerHandler(WebInspector.extensionAPI.Events.ConsoleMessageAdded,
+ WebInspector.ConsoleModel, WebInspector.ConsoleModel.Events.MessageAdded, this._notifyConsoleMessageAdded);
this._registerAutosubscriptionHandler(WebInspector.extensionAPI.Events.ResourceAdded,
- WebInspector.workspace,
- WebInspector.Workspace.Events.UISourceCodeAdded,
- this._notifyResourceAdded);
+ WebInspector.workspace, WebInspector.Workspace.Events.UISourceCodeAdded, this._notifyResourceAdded);
+ this._registerAutosubscriptionTargetManagerHandler(WebInspector.extensionAPI.Events.NetworkRequestFinished,
+ WebInspector.NetworkManager, WebInspector.NetworkManager.EventTypes.RequestFinished, this._notifyRequestFinished);
/**
* @this {WebInspector.ExtensionServer}
@@ -871,6 +869,12 @@ WebInspector.ExtensionServer.prototype = {
this._subscriptionStopHandlers[eventTopic] = onUnsubscribeLast;
},
+ /**
+ * @param {string} eventTopic
+ * @param {!Object} eventTarget
+ * @param {string} frontendEventType
+ * @param {function(!WebInspector.Event)} handler
+ */
_registerAutosubscriptionHandler: function(eventTopic, eventTarget, frontendEventType, handler)
{
this._registerSubscriptionHandler(eventTopic,
@@ -878,6 +882,19 @@ WebInspector.ExtensionServer.prototype = {
eventTarget.removeEventListener.bind(eventTarget, frontendEventType, handler, this));
},
+ /**
+ * @param {string} eventTopic
+ * @param {!Function} modelClass
+ * @param {string} frontendEventType
+ * @param {function(!WebInspector.Event)} handler
+ */
+ _registerAutosubscriptionTargetManagerHandler: function(eventTopic, modelClass, frontendEventType, handler)
+ {
+ this._registerSubscriptionHandler(eventTopic,
+ WebInspector.targetManager.addModelListener.bind(WebInspector.targetManager, modelClass, frontendEventType, handler, this),
+ WebInspector.targetManager.removeModelListener.bind(WebInspector.targetManager, modelClass, frontendEventType, handler, this));
+ },
+
_registerResourceContentCommittedHandler: function(handler)
{
/**
« no previous file with comments | « Source/devtools/front_end/elements/ElementsPanel.js ('k') | Source/devtools/front_end/main/Main.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698