blob: b11d8a175d862c068c66f3eb590dd4a7800ca4b9 [file] [log] [blame]
// Copyright 2022 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.
import type {Chrome} from '../../extension-api/ExtensionAPI.js';
import * as Platform from '../core/platform/platform.js';
import type * as SDK from '../core/sdk/sdk.js';
import type * as Bindings from '../models/bindings/bindings.js';
const {urlString} = Platform.DevToolsPath;
export class TestPlugin implements Bindings.DebuggerLanguagePlugins.DebuggerLanguagePlugin {
constructor(name: string) {
this.name = name;
}
name: string;
handleScript(_script: SDK.Script.Script): boolean {
return false;
}
createPageResourceLoadInitiator(): SDK.PageResourceLoader.PageResourceLoadInitiator {
const extensionId = 'chrome-extension-id';
return {
target: null,
frameId: null,
extensionId,
initiatorUrl: urlString`${extensionId}`,
};
}
async evaluate(
_expression: string, _context: Chrome.DevTools.RawLocation,
_stopId: Bindings.DebuggerLanguagePlugins.StopId): Promise<Chrome.DevTools.RemoteObject|null> {
return null;
}
async getProperties(_objectId: string): Promise<Chrome.DevTools.PropertyDescriptor[]> {
return [];
}
async releaseObject(_objectId: string): Promise<void> {
}
async addRawModule(_rawModuleId: string, _symbolsURL: string, _rawModule: Chrome.DevTools.RawModule):
Promise<string[]> {
return [];
}
async sourceLocationToRawLocation(_sourceLocation: Chrome.DevTools.SourceLocation):
Promise<Chrome.DevTools.RawLocationRange[]> {
return [];
}
async rawLocationToSourceLocation(_rawLocation: Chrome.DevTools.RawLocation):
Promise<Chrome.DevTools.SourceLocation[]> {
return [];
}
async getScopeInfo(type: string): Promise<Chrome.DevTools.ScopeInfo> {
return {type, typeName: type};
}
async listVariablesInScope(_rawLocation: Chrome.DevTools.RawLocation): Promise<Chrome.DevTools.Variable[]> {
return [];
}
async removeRawModule(_rawModuleId: string): Promise<void> {
}
async getFunctionInfo(_rawLocation: Chrome.DevTools.RawLocation): Promise<{
frames: Chrome.DevTools.FunctionInfo[],
missingSymbolFiles: string[],
}|{frames: Chrome.DevTools.FunctionInfo[]}|{missingSymbolFiles: string[]}> {
return {frames: []};
}
async getInlinedFunctionRanges(_rawLocation: Chrome.DevTools.RawLocation):
Promise<Chrome.DevTools.RawLocationRange[]> {
return [];
}
async getInlinedCalleesRanges(_rawLocation: Chrome.DevTools.RawLocation):
Promise<Chrome.DevTools.RawLocationRange[]> {
return [];
}
async getMappedLines(_rawModuleId: string, _sourceFileURL: string): Promise<number[]|undefined> {
return undefined;
}
}