mirror of
				https://github.com/NativeScript/NativeScript.git
				synced 2025-11-04 12:58:38 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import * as inspectorCommandTypes from './InspectorBackendCommands';
 | 
						|
const inspectorCommands: typeof inspectorCommandTypes = require('./InspectorBackendCommands');
 | 
						|
 | 
						|
import * as debuggerDomains from '.';
 | 
						|
 | 
						|
import { attachDOMInspectorEventCallbacks, attachDOMInspectorCommandCallbacks } from './devtools-elements';
 | 
						|
 | 
						|
@inspectorCommands.DomainDispatcher('DOM')
 | 
						|
export class DOMDomainDebugger implements inspectorCommandTypes.DOMDomain.DOMDomainDispatcher {
 | 
						|
	private _enabled: boolean;
 | 
						|
	public events: inspectorCommandTypes.DOMDomain.DOMFrontend;
 | 
						|
	public commands: any;
 | 
						|
 | 
						|
	constructor() {
 | 
						|
		this.events = new inspectorCommands.DOMDomain.DOMFrontend();
 | 
						|
 | 
						|
		this.commands = {};
 | 
						|
 | 
						|
		attachDOMInspectorEventCallbacks(this.events);
 | 
						|
		attachDOMInspectorCommandCallbacks(this.commands);
 | 
						|
 | 
						|
		// By default start enabled because we can miss the "enable event when
 | 
						|
		// running with `--debug-brk` -- the frontend will send it before we've been created
 | 
						|
		this.enable();
 | 
						|
	}
 | 
						|
 | 
						|
	get enabled(): boolean {
 | 
						|
		return this._enabled;
 | 
						|
	}
 | 
						|
 | 
						|
	enable(): void {
 | 
						|
		if (debuggerDomains.getDOM()) {
 | 
						|
			throw new Error('One DOMDomainDebugger may be enabled at a time.');
 | 
						|
		} else {
 | 
						|
			debuggerDomains.setDOM(this);
 | 
						|
		}
 | 
						|
		this._enabled = true;
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Disables network tracking, prevents network events from being sent to the client.
 | 
						|
	 */
 | 
						|
	disable(): void {
 | 
						|
		if (debuggerDomains.getDOM() === this) {
 | 
						|
			debuggerDomains.setDOM(null);
 | 
						|
		}
 | 
						|
		this._enabled = false;
 | 
						|
	}
 | 
						|
 | 
						|
	getDocument(): { root: inspectorCommandTypes.DOMDomain.Node } {
 | 
						|
		const domNode = this.commands.getDocument();
 | 
						|
 | 
						|
		return { root: domNode };
 | 
						|
	}
 | 
						|
 | 
						|
	removeNode(params: inspectorCommandTypes.DOMDomain.RemoveNodeMethodArguments): void {
 | 
						|
		this.commands.removeNode(params.nodeId);
 | 
						|
	}
 | 
						|
 | 
						|
	setAttributeValue(params: inspectorCommandTypes.DOMDomain.SetAttributeValueMethodArguments): void {
 | 
						|
		throw new Error('Method not implemented.');
 | 
						|
	}
 | 
						|
 | 
						|
	setAttributesAsText(params: inspectorCommandTypes.DOMDomain.SetAttributesAsTextMethodArguments): void {
 | 
						|
		this.commands.setAttributeAsText(params.nodeId, params.text, params.name);
 | 
						|
	}
 | 
						|
 | 
						|
	removeAttribute(params: inspectorCommandTypes.DOMDomain.RemoveAttributeMethodArguments): void {
 | 
						|
		throw new Error('Method not implemented.');
 | 
						|
	}
 | 
						|
 | 
						|
	performSearch(params: inspectorCommandTypes.DOMDomain.PerformSearchMethodArguments): { searchId: string; resultCount: number } {
 | 
						|
		return null;
 | 
						|
	}
 | 
						|
 | 
						|
	getSearchResults(params: inspectorCommandTypes.DOMDomain.GetSearchResultsMethodArguments): { nodeIds: inspectorCommandTypes.DOMDomain.NodeId[] } {
 | 
						|
		return null;
 | 
						|
	}
 | 
						|
 | 
						|
	discardSearchResults(params: inspectorCommandTypes.DOMDomain.DiscardSearchResultsMethodArguments): void {
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	highlightNode(params: inspectorCommandTypes.DOMDomain.HighlightNodeMethodArguments): void {
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	hideHighlight(): void {
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	resolveNode(params: inspectorCommandTypes.DOMDomain.ResolveNodeMethodArguments): { object: inspectorCommandTypes.RuntimeDomain.RemoteObject } {
 | 
						|
		return null;
 | 
						|
	}
 | 
						|
}
 |