Commit f7ba8a52 authored by Pavel Feldman's avatar Pavel Feldman Committed by Commit Bot

DevTools: split ChildTargetManager into Browser and Node versions.

Change-Id: If11cfc47b3ad2f242ca3bd1a0d7690321bfad386
Reviewed-on: https://chromium-review.googlesource.com/902952
Commit-Queue: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534566}
parent 11945156
......@@ -23,7 +23,9 @@
TestRunner.evaluateInPage('loadIframe()');
function step2() {
NetworkTestRunner.makeSimpleXHR('GET', 'resources/resource.php', true, step3);
NetworkTestRunner.makeSimpleXHR('GET', 'resources/resource.php', true, () => {
TestRunner.deprecatedRunAfterPendingDispatches(step3);
});
}
function step3() {
......
......@@ -689,14 +689,20 @@ Main.Main.NodeIndicator = class {
element.addEventListener('click', () => InspectorFrontendHost.openNodeFrontend(), false);
this._button = new UI.ToolbarItem(element);
this._button.setTitle(Common.UIString('Open dedicated DevTools for Node.js'));
SDK.targetManager.addEventListener(SDK.TargetManager.Events.AvailableNodeTargetsChanged, this._update, this);
SDK.targetManager.addEventListener(
SDK.TargetManager.Events.AvailableTargetsChanged,
event => this._update(/** @type {!Array<!Protocol.Target.TargetInfo>} */ (event.data)));
this._button.setVisible(false);
this._update();
this._update([]);
}
_update() {
this._element.classList.toggle('inactive', !SDK.targetManager.availableNodeTargetsCount());
if (SDK.targetManager.availableNodeTargetsCount())
/**
* @param {!Array<!Protocol.Target.TargetInfo>} targetInfos
*/
_update(targetInfos) {
var hasNode = !!targetInfos.find(target => target.type === 'node' && !target.attached);
this._element.classList.toggle('inactive', !hasNode);
if (hasNode)
this._button.setVisible(true);
}
......
......@@ -204,3 +204,36 @@ SDK.StubConnection = class {
return Promise.resolve();
}
};
/**
* @implements {Protocol.InspectorBackend.Connection}
*/
SDK.ChildConnection = class {
/**
* @param {!Protocol.TargetAgent} agent
* @param {string} sessionId
* @param {!Protocol.InspectorBackend.Connection.Params} params
*/
constructor(agent, sessionId, params) {
this._agent = agent;
this._sessionId = sessionId;
this.onMessage = params.onMessage;
this.onDisconnect = params.onDisconnect;
}
/**
* @override
* @param {string} message
*/
sendMessage(message) {
this._agent.sendMessageToTarget(message, this._sessionId);
}
/**
* @override
* @return {!Promise}
*/
disconnect() {
throw 'Not implemented';
}
};
......@@ -116,8 +116,6 @@ Sources.SourcesPanel = class extends UI.Panel {
SDK.targetManager.addModelListener(
SDK.DebuggerModel, SDK.DebuggerModel.Events.GlobalObjectCleared,
event => this._debuggerResumed(/** @type {!SDK.DebuggerModel} */ (event.data)));
SDK.targetManager.addEventListener(
SDK.TargetManager.Events.AvailableNodeTargetsChanged, this._availableNodeTargetsChanged, this);
Extensions.extensionServer.addEventListener(
Extensions.ExtensionServer.Events.SidebarPaneAdded, this._extensionSidebarPaneAdded, this);
SDK.targetManager.observeTargets(this);
......@@ -168,10 +166,6 @@ Sources.SourcesPanel = class extends UI.Panel {
targetRemoved(target) {
}
_availableNodeTargetsChanged() {
this._showThreadsIfNeeded();
}
_showThreadsIfNeeded() {
if (Sources.ThreadsSidebarPane.shouldBeShown() && !this._threadsSidebarPane) {
this._threadsSidebarPane = /** @type {!UI.View} */ (UI.viewManager.view('sources.threads'));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment