Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ export class ChromeApplicationOperations extends ApplicationOperations {
platform = inject(Platform);

override viewSource(position: ElementPosition, target: Frame, directiveIndex?: number): void {
const viewSource = `inspect(inspectedApplication.findConstructorByPosition('${position}', ${directiveIndex}))`;
const viewSource = `inspect(inspectedApplication.findConstructorByPosition(${stringifyAndEscape(position)}, ${directiveIndex}))`;
this.runInInspectedWindow(viewSource, target);
}

override selectDomElement(position: ElementPosition, target: Frame): void {
const selectDomElement = `inspect(inspectedApplication.findDomElementByPosition('${position}'))`;
const selectDomElement = `inspect(inspectedApplication.findDomElementByPosition(${stringifyAndEscape(position)}))`;
this.runInInspectedWindow(selectDomElement, target);
}

Expand All @@ -36,21 +36,21 @@ export class ChromeApplicationOperations extends ApplicationOperations {
directivePosition,
objectPath,
};
const inspect = `inspect(inspectedApplication.findPropertyByPosition('${JSON.stringify(
const inspect = `inspect(inspectedApplication.findPropertyByPosition(${stringifyAndEscape(
args,
)}'))`;
)}))`;
this.runInInspectedWindow(inspect, target);
}

override inspectSignal(position: SignalNodePosition, target: Frame): void {
const inspectSignal = `inspect(inspectedApplication.findSignalNodeByPosition('${JSON.stringify(
const inspectSignal = `inspect(inspectedApplication.findSignalNodeByPosition(${stringifyAndEscape(
position,
)}'))`;
)}))`;
this.runInInspectedWindow(inspectSignal, target);
}

override viewSourceFromRouter(name: string, type: string, target: Frame): void {
const viewSource = `inspect(inspectedApplication.findConstructorByNameForRouter('${name}', '${type}'))`;
const viewSource = `inspect(inspectedApplication.findConstructorByNameForRouter(${JSON.stringify(name)}, ${JSON.stringify(type)}))`;
this.runInInspectedWindow(viewSource, target);
}

Expand Down Expand Up @@ -88,3 +88,7 @@ export class ChromeApplicationOperations extends ApplicationOperations {
return browser.storage.local;
}
}

function stringifyAndEscape(obj: unknown): string {
return JSON.stringify(JSON.stringify(obj));
}
Loading