| Index: chrome/ext/background.js |
| =================================================================== |
| --- a/chrome/ext/background.js |
| +++ b/chrome/ext/background.js |
| @@ -591,4 +591,41 @@ |
| }); |
| }); |
| }; |
| + |
| + |
| + /* Devtools panel */ |
| + |
| + var Panel = function(inspectedTabId, port) |
| + { |
| + this.inspectedTabId = inspectedTabId; |
| + this._port = port; |
| + }; |
| + Panel.prototype = { |
| + sendMessage: function(message) |
| + { |
| + this._port.postMessage(message); |
| + }, |
| + get onRemoved() |
| + { |
| + return this._port.onDisconnect; |
| + } |
| + }; |
| + |
| + ext.devtools = { |
| + onCreated: new ext._EventTarget() |
| + }; |
| + |
| + // If this code should ever be removed, note that we still have to |
| + // ensure that there is at least one listener for the onConnect event. |
| + // Otherwise we can't connect a port later, in order to detect when |
| + // the extension is reloaded,disabled or uninstalled. |
| + chrome.runtime.onConnect.addListener(function(port) |
| + { |
| + var match = port.name.match(/^devtools-(\d+)$/); |
| + if (match) |
| + { |
| + var panel = new Panel(parseInt(match[1], 10), port); |
|
kzar
2016/01/31 13:33:51
Nit: Maybe should use let instead of var for these
Sebastian Noack
2016/02/02 10:39:51
I'd rather keep things conistent. (Except for one
|
| + ext.devtools.onCreated._dispatch(panel); |
| + } |
| + }); |
| })(); |