mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 09:47:56 +08:00
Move and rename files. NOAUTOREVERT=true NOPRESUBMIT=true NOTREECHECKS=true Bug: 768828 TBR=darin@chromium.org NOTRY=true Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28 Reviewed-on: https://chromium-review.googlesource.com/1001153 Reviewed-by: Blink Reformat <blink-reformat@chromium.org> Commit-Queue: Blink Reformat <blink-reformat@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#549061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
142 lines
4.2 KiB
JavaScript
142 lines
4.2 KiB
JavaScript
// Copyright 2018 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
/**
|
|
* @implements {Common.Runnable}
|
|
*/
|
|
NodeMain.NodeMain = class extends Common.Object {
|
|
/**
|
|
* @override
|
|
*/
|
|
run() {
|
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.ConnectToNodeJSFromFrontend);
|
|
const target = SDK.targetManager.createTarget(
|
|
'main', Common.UIString('Main'), SDK.Target.Capability.Target, params => new SDK.MainConnection(params), null);
|
|
target.setInspectedURL('Node.js');
|
|
InspectorFrontendHost.connectionReady();
|
|
}
|
|
};
|
|
|
|
/**
|
|
* @implements {Protocol.TargetDispatcher}
|
|
*/
|
|
NodeMain.NodeChildTargetManager = class extends SDK.SDKModel {
|
|
/**
|
|
* @param {!SDK.Target} parentTarget
|
|
*/
|
|
constructor(parentTarget) {
|
|
super(parentTarget);
|
|
this._targetManager = parentTarget.targetManager();
|
|
this._parentTarget = parentTarget;
|
|
this._targetAgent = parentTarget.targetAgent();
|
|
/** @type {!Map<string, !SDK.ChildConnection>} */
|
|
this._childConnections = new Map();
|
|
|
|
parentTarget.registerTargetDispatcher(this);
|
|
this._targetAgent.setDiscoverTargets(true);
|
|
|
|
InspectorFrontendHost.setDevicesUpdatesEnabled(true);
|
|
InspectorFrontendHost.events.addEventListener(
|
|
InspectorFrontendHostAPI.Events.DevicesDiscoveryConfigChanged, this._devicesDiscoveryConfigChanged, this);
|
|
}
|
|
|
|
/**
|
|
* @param {!Common.Event} event
|
|
*/
|
|
_devicesDiscoveryConfigChanged(event) {
|
|
const config = /** @type {!Adb.Config} */ (event.data);
|
|
const locations = [];
|
|
for (const address of config.networkDiscoveryConfig) {
|
|
const parts = address.split(':');
|
|
const port = parseInt(parts[1], 10);
|
|
if (parts[0] && port)
|
|
locations.push({host: parts[0], port: port});
|
|
}
|
|
this._targetAgent.setRemoteLocations(locations);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
*/
|
|
dispose() {
|
|
InspectorFrontendHost.events.removeEventListener(
|
|
InspectorFrontendHostAPI.Events.DevicesDiscoveryConfigChanged, this._devicesDiscoveryConfigChanged, this);
|
|
|
|
for (const sessionId of this._childConnections.keys())
|
|
this.detachedFromTarget(sessionId, undefined);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {!Protocol.Target.TargetInfo} targetInfo
|
|
*/
|
|
targetCreated(targetInfo) {
|
|
if (targetInfo.type === 'node' && !targetInfo.attached)
|
|
this._targetAgent.attachToTarget(targetInfo.targetId);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {!Protocol.Target.TargetInfo} targetInfo
|
|
*/
|
|
targetInfoChanged(targetInfo) {
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {string} targetId
|
|
*/
|
|
targetDestroyed(targetId) {
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {string} sessionId
|
|
* @param {!Protocol.Target.TargetInfo} targetInfo
|
|
* @param {boolean} waitingForDebugger
|
|
*/
|
|
attachedToTarget(sessionId, targetInfo, waitingForDebugger) {
|
|
const target = this._targetManager.createTarget(
|
|
targetInfo.targetId, Common.UIString('Node.js: %s', targetInfo.url), SDK.Target.Capability.JS,
|
|
this._createChildConnection.bind(this, this._targetAgent, sessionId), this._parentTarget);
|
|
target.runtimeAgent().runIfWaitingForDebugger();
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {string} sessionId
|
|
* @param {string=} childTargetId
|
|
*/
|
|
detachedFromTarget(sessionId, childTargetId) {
|
|
this._childConnections.get(sessionId).onDisconnect.call(null, 'target terminated');
|
|
this._childConnections.delete(sessionId);
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {string} sessionId
|
|
* @param {string} message
|
|
* @param {string=} childTargetId
|
|
*/
|
|
receivedMessageFromTarget(sessionId, message, childTargetId) {
|
|
const connection = this._childConnections.get(sessionId);
|
|
if (connection)
|
|
connection.onMessage.call(null, message);
|
|
}
|
|
|
|
/**
|
|
* @param {!Protocol.TargetAgent} agent
|
|
* @param {string} sessionId
|
|
* @param {!Protocol.InspectorBackend.Connection.Params} params
|
|
* @return {!Protocol.InspectorBackend.Connection}
|
|
*/
|
|
_createChildConnection(agent, sessionId, params) {
|
|
const connection = new SDK.ChildConnection(agent, sessionId, params);
|
|
this._childConnections.set(sessionId, connection);
|
|
return connection;
|
|
}
|
|
};
|
|
|
|
SDK.SDKModel.register(NodeMain.NodeChildTargetManager, SDK.Target.Capability.Target, true);
|