OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The Chromium Authors. All rights reserved. | 2 * Copyright 2014 The Chromium Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 /** | 7 /** |
8 * @constructor | 8 * @constructor |
9 * @extends {Protocol.Agents} | 9 * @extends {Protocol.Agents} |
10 * @param {!InspectorBackendClass.Connection} connection | 10 * @param {!InspectorBackendClass.Connection} connection |
11 * @param {function(!WebInspector.Target)=} callback | 11 * @param {function(!WebInspector.Target)=} callback |
12 */ | 12 */ |
13 WebInspector.Target = function(connection, callback) | 13 WebInspector.Target = function(connection, callback) |
14 { | 14 { |
15 Protocol.Agents.call(this, connection.agentsMap()); | 15 Protocol.Agents.call(this, connection.agentsMap()); |
16 this._connection = connection; | 16 this._connection = connection; |
17 this.isMainFrontend = false; | 17 this.isMainFrontend = false; |
18 | 18 |
19 this.pageAgent().canScreencast(this._initializeCapability.bind(this, "canScr
eencast", null)); | 19 this.pageAgent().canScreencast(this._initializeCapability.bind(this, "canScr
eencast", null)); |
20 this.workerAgent().canInspectWorkers(this._initializeCapability.bind(this, "
isMainFrontend", this._loadedWithCapabilities.bind(this, callback))); | 20 this.workerAgent().canInspectWorkers(this._initializeCapability.bind(this, "
isMainFrontend", this._loadedWithCapabilities.bind(this, callback))); |
21 } | 21 } |
22 | 22 |
23 WebInspector.Target.prototype = { | 23 WebInspector.Target.prototype = { |
24 | 24 |
25 _initializeCapability: function(name, callback, error, result) | 25 _initializeCapability: function(name, callback, error, result) |
26 { | 26 { |
27 this[name] = result; | 27 this[name] = result; |
28 Capabilities[name] = result; | 28 if (!Capabilities[name]) |
| 29 Capabilities[name] = result; |
29 if (callback) | 30 if (callback) |
30 callback(); | 31 callback(); |
31 }, | 32 }, |
32 | 33 |
33 /** | 34 /** |
34 * @param {function(!WebInspector.Target)=} callback | 35 * @param {function(!WebInspector.Target)=} callback |
35 */ | 36 */ |
36 _loadedWithCapabilities: function(callback) | 37 _loadedWithCapabilities: function(callback) |
37 { | 38 { |
38 this.consoleModel = new WebInspector.ConsoleModel(this); | 39 this.consoleModel = new WebInspector.ConsoleModel(this); |
39 //This and similar lines are needed for compatibility | 40 //This and similar lines are needed for compatibility |
40 WebInspector.console = this.consoleModel; | 41 if (!WebInspector.console) |
| 42 WebInspector.console = this.consoleModel; |
| 43 |
41 this.networkManager = new WebInspector.NetworkManager(this); | 44 this.networkManager = new WebInspector.NetworkManager(this); |
42 WebInspector.networkManager = this.networkManager; | 45 if (!WebInspector.networkManager) |
| 46 WebInspector.networkManager = this.networkManager; |
| 47 |
43 this.resourceTreeModel = new WebInspector.ResourceTreeModel(this); | 48 this.resourceTreeModel = new WebInspector.ResourceTreeModel(this); |
44 WebInspector.resourceTreeModel = this.resourceTreeModel; | 49 if (!WebInspector.resourceTreeModel) |
| 50 WebInspector.resourceTreeModel = this.resourceTreeModel; |
| 51 |
45 this.debuggerModel = new WebInspector.DebuggerModel(this); | 52 this.debuggerModel = new WebInspector.DebuggerModel(this); |
46 WebInspector.debuggerModel = this.debuggerModel; | 53 if (!WebInspector.debuggerModel) |
| 54 WebInspector.debuggerModel = this.debuggerModel; |
| 55 |
47 this.runtimeModel = new WebInspector.RuntimeModel(this); | 56 this.runtimeModel = new WebInspector.RuntimeModel(this); |
48 WebInspector.runtimeModel = this.runtimeModel; | 57 if (!WebInspector.runtimeModel) |
| 58 WebInspector.runtimeModel = this.runtimeModel; |
49 | 59 |
50 //we can't name it domAgent, because it clashes with function, WebInspec
tor.DOMAgent should be renamed to DOMModel | 60 //we can't name it domAgent, because it clashes with function, WebInspec
tor.DOMAgent should be renamed to DOMModel |
51 this.domModel = new WebInspector.DOMAgent(); | 61 this.domModel = new WebInspector.DOMAgent(); |
52 WebInspector.domAgent = this.domModel; | 62 if (!WebInspector.domAgent) |
| 63 WebInspector.domAgent = this.domModel; |
| 64 |
53 this.workerManager = new WebInspector.WorkerManager(this.isMainFrontend)
; | 65 this.workerManager = new WebInspector.WorkerManager(this.isMainFrontend)
; |
54 WebInspector.workerManager = this.workerManager; | 66 if (!WebInspector.workerManager) |
| 67 WebInspector.workerManager = this.workerManager; |
55 | 68 |
56 if (callback) | 69 if (callback) |
57 callback(this); | 70 callback(this); |
58 }, | 71 }, |
59 | 72 |
60 /** | 73 /** |
61 * @override | 74 * @override |
62 * @param {string} domain | 75 * @param {string} domain |
63 * @param {!Object} dispatcher | 76 * @param {!Object} dispatcher |
64 */ | 77 */ |
(...skipping 28 matching lines...) Expand all Loading... |
93 * @param {!InspectorBackendClass.Connection} connection | 106 * @param {!InspectorBackendClass.Connection} connection |
94 * @param {function(!WebInspector.Target)=} callback | 107 * @param {function(!WebInspector.Target)=} callback |
95 */ | 108 */ |
96 createTarget: function(connection, callback) | 109 createTarget: function(connection, callback) |
97 { | 110 { |
98 var newTarget = new WebInspector.Target(connection, callback); | 111 var newTarget = new WebInspector.Target(connection, callback); |
99 this._targets.push(newTarget); | 112 this._targets.push(newTarget); |
100 } | 113 } |
101 | 114 |
102 } | 115 } |
OLD | NEW |