@vforsh/argus-watcher 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cdp/connection.d.ts +2 -0
- package/dist/cdp/connection.d.ts.map +1 -1
- package/dist/cdp/connection.js.map +1 -1
- package/dist/cdp/dom/fill.js +1 -1
- package/dist/cdp/dom/selector.js +1 -1
- package/dist/cdp/dom/selector.js.map +1 -1
- package/dist/cdp/eval.d.ts.map +1 -1
- package/dist/cdp/eval.js +8 -43
- package/dist/cdp/eval.js.map +1 -1
- package/dist/cdp/locate.js +37 -2
- package/dist/cdp/locate.js.map +1 -1
- package/dist/cdp/visualCapture.js +1 -1
- package/dist/cdp/visualCapture.js.map +1 -1
- package/dist/sources/extension-delegating-session.d.ts +1 -0
- package/dist/sources/extension-delegating-session.d.ts.map +1 -1
- package/dist/sources/extension-delegating-session.js +1 -0
- package/dist/sources/extension-delegating-session.js.map +1 -1
- package/dist/sources/extension-frame-runtime.d.ts +2 -0
- package/dist/sources/extension-frame-runtime.d.ts.map +1 -1
- package/dist/sources/extension-frame-runtime.js +35 -10
- package/dist/sources/extension-frame-runtime.js.map +1 -1
- package/dist/sources/extension-frame-state.d.ts +2 -5
- package/dist/sources/extension-frame-state.d.ts.map +1 -1
- package/dist/sources/extension-frame-state.js +4 -6
- package/dist/sources/extension-frame-state.js.map +1 -1
- package/dist/sources/extension-source.d.ts.map +1 -1
- package/dist/sources/extension-source.js +10 -14
- package/dist/sources/extension-source.js.map +1 -1
- package/dist/sources/types.d.ts +2 -0
- package/dist/sources/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cdp/connection.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export type CdpSessionHandle = {
|
|
|
22
22
|
onEvent: (method: string, handler: CdpEventHandler) => () => void;
|
|
23
23
|
/** Active target context for commands that need frame-aware behavior. */
|
|
24
24
|
getTargetContext?: () => CdpTargetContext;
|
|
25
|
+
/** Resolve the selected target after recovery; rejects if a requested iframe is still not executable. */
|
|
26
|
+
getReadyTargetContext?: () => Promise<CdpTargetContext>;
|
|
25
27
|
};
|
|
26
28
|
type CdpConnection = {
|
|
27
29
|
sendAndWait: (method: string, params?: Record<string, unknown>, options?: CdpSendOptions) => Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;AAE3E,MAAM,MAAM,cAAc,GAAG;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACA,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAA;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;IACjE,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;AAE3E,MAAM,MAAM,cAAc,GAAG;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACA,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,OAAO,CAAA;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;IACjE,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,gBAAgB,CAAA;IACzC,yGAAyG;IACzG,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvD,CAAA;AAQD,KAAK,aAAa,GAAG;IACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,CAAA;AAID,MAAM,MAAM,oBAAoB,GAAG;IAClC,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,aAAa,CAAA;IAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAAO,oBA6HzC,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,KAI5C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cdp/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/dom/fill.js
CHANGED
|
@@ -6,8 +6,8 @@ import { getDomRootId, resolveSelectorMatches, toDomNodeDescriptor } from './sel
|
|
|
6
6
|
*/
|
|
7
7
|
const FILL_FUNCTION = `function(value) {
|
|
8
8
|
var el = this;
|
|
9
|
+
el.focus();
|
|
9
10
|
if (el.isContentEditable) {
|
|
10
|
-
el.focus();
|
|
11
11
|
el.textContent = value;
|
|
12
12
|
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
13
13
|
el.dispatchEvent(new Event('change', { bubbles: true }));
|
package/dist/cdp/dom/selector.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { filterNodesByText } from '../text-filter.js';
|
|
2
2
|
export const getDomRootId = async (session) => {
|
|
3
|
-
const targetContext = session.getTargetContext?.();
|
|
3
|
+
const targetContext = session.getReadyTargetContext ? await session.getReadyTargetContext() : session.getTargetContext?.();
|
|
4
4
|
if (targetContext?.kind === 'frame') {
|
|
5
5
|
return getFrameDomRootId(session, targetContext);
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../src/cdp/dom/selector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAoDrD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAyB,EAAmB,EAAE;IAChF,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../src/cdp/dom/selector.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/eval.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CACzC,CAAA;AAeD,eAAO,MAAM,kBAAkB,GAAU,SAAS,gBAAgB,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CACzC,CAAA;AAeD,eAAO,MAAM,kBAAkB,GAAU,SAAS,gBAAgB,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,YAAY,CA4CrH,CAAA"}
|
package/dist/cdp/eval.js
CHANGED
|
@@ -2,9 +2,6 @@ import { serializeRemoteObject } from './remoteObject.js';
|
|
|
2
2
|
import { installScenarioBridge } from './scenarioBridge.js';
|
|
3
3
|
export const evaluateExpression = async (session, options) => {
|
|
4
4
|
const args = hasEvalArgs(options.args) ? options.args : undefined;
|
|
5
|
-
if (args) {
|
|
6
|
-
await installEvalArgs(session, args, options.timeoutMs);
|
|
7
|
-
}
|
|
8
5
|
let scenarioBridge;
|
|
9
6
|
try {
|
|
10
7
|
if (options.scenario) {
|
|
@@ -15,7 +12,7 @@ export const evaluateExpression = async (session, options) => {
|
|
|
15
12
|
}
|
|
16
13
|
const recordResult = await evaluateAndAwaitRecord(session, {
|
|
17
14
|
...options,
|
|
18
|
-
expression: scenarioBridge?.expression ?? options.expression,
|
|
15
|
+
expression: wrapExpressionWithArgs(scenarioBridge?.expression ?? options.expression, args),
|
|
19
16
|
replMode: scenarioBridge ? false : options.replMode,
|
|
20
17
|
});
|
|
21
18
|
if (recordResult.exception)
|
|
@@ -42,12 +39,16 @@ export const evaluateExpression = async (session, options) => {
|
|
|
42
39
|
}
|
|
43
40
|
finally {
|
|
44
41
|
await scenarioBridge?.dispose();
|
|
45
|
-
if (args) {
|
|
46
|
-
await restoreEvalArgs(session, options.timeoutMs);
|
|
47
|
-
}
|
|
48
42
|
}
|
|
49
43
|
};
|
|
50
44
|
const hasEvalArgs = (args) => args != null && Object.keys(args).length > 0;
|
|
45
|
+
const wrapExpressionWithArgs = (expression, args) => {
|
|
46
|
+
if (!args)
|
|
47
|
+
return expression;
|
|
48
|
+
// A block keeps `args` lexical to this Runtime.evaluate request while preserving
|
|
49
|
+
// statement-list completion values and native top-level await in REPL mode.
|
|
50
|
+
return `{ const args = Object.freeze(${JSON.stringify(args)});\n${expression}\n}`;
|
|
51
|
+
};
|
|
51
52
|
const evaluateAndAwaitRecord = async (session, options) => {
|
|
52
53
|
const payload = await evaluateRawExpression(session, options);
|
|
53
54
|
if (payload.exceptionDetails) {
|
|
@@ -72,42 +73,6 @@ const formatExceptionResponse = (payload) => ({
|
|
|
72
73
|
details: payload.exceptionDetails?.exception ?? null,
|
|
73
74
|
},
|
|
74
75
|
});
|
|
75
|
-
const EVAL_ARGS_STATE_KEY = '__argusEvalArgsPreviousDescriptor__';
|
|
76
|
-
const installEvalArgs = async (session, args, timeoutMs) => {
|
|
77
|
-
const payload = JSON.stringify(args);
|
|
78
|
-
await sendInternalEval(session, `(() => {
|
|
79
|
-
const previous = Object.getOwnPropertyDescriptor(globalThis, 'args');
|
|
80
|
-
Object.defineProperty(globalThis, ${JSON.stringify(EVAL_ARGS_STATE_KEY)}, { value: previous, configurable: true });
|
|
81
|
-
Object.defineProperty(globalThis, 'args', { value: Object.freeze(${payload}), configurable: true });
|
|
82
|
-
})()`, timeoutMs);
|
|
83
|
-
};
|
|
84
|
-
const restoreEvalArgs = async (session, timeoutMs) => {
|
|
85
|
-
await sendInternalEval(session, `(() => {
|
|
86
|
-
const stateKey = ${JSON.stringify(EVAL_ARGS_STATE_KEY)};
|
|
87
|
-
const previous = Object.getOwnPropertyDescriptor(globalThis, stateKey)?.value;
|
|
88
|
-
delete globalThis[stateKey];
|
|
89
|
-
delete globalThis.args;
|
|
90
|
-
if (previous) Object.defineProperty(globalThis, 'args', previous);
|
|
91
|
-
})()`, timeoutMs);
|
|
92
|
-
};
|
|
93
|
-
const sendInternalEval = async (session, expression, timeoutMs) => {
|
|
94
|
-
const payload = (await session.sendAndWait('Runtime.evaluate', {
|
|
95
|
-
expression,
|
|
96
|
-
replMode: false,
|
|
97
|
-
awaitPromise: true,
|
|
98
|
-
returnByValue: true,
|
|
99
|
-
}, { timeoutMs }));
|
|
100
|
-
if (payload.exceptionDetails) {
|
|
101
|
-
throw new Error(formatInternalEvalError(payload.exceptionDetails));
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
const formatInternalEvalError = (exceptionDetails) => {
|
|
105
|
-
const exception = exceptionDetails.exception;
|
|
106
|
-
if (exception != null && typeof exception === 'object' && 'description' in exception && typeof exception.description === 'string') {
|
|
107
|
-
return exception.description;
|
|
108
|
-
}
|
|
109
|
-
return exceptionDetails.text ?? 'Failed to prepare eval args';
|
|
110
|
-
};
|
|
111
76
|
const evaluateRawExpression = async (session, options) => (await session.sendAndWait('Runtime.evaluate', {
|
|
112
77
|
expression: options.expression,
|
|
113
78
|
// REPL mode gives CLI eval console-like behavior, including native top-level await.
|
package/dist/cdp/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,qBAAqB,CAAA;AA4BxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAyB,EAAE,OAA2B,EAAyB,EAAE;IACzH,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/locate.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { listAccessibleElements } from './accessibility.js';
|
|
2
|
-
import { describeNodeByBackendId, toAttributesRecord } from './dom/selector.js';
|
|
2
|
+
import { describeNodeByBackendId, resolveNodeIdByBackendId, toAttributesRecord } from './dom/selector.js';
|
|
3
3
|
const LABELABLE_ROLES = new Set(['button', 'checkbox', 'combobox', 'listbox', 'radio', 'searchbox', 'slider', 'spinbutton', 'switch', 'textbox']);
|
|
4
4
|
export const locateByRole = async (session, elementRefs, request) => {
|
|
5
5
|
const matches = (await listAccessibleElements(session, elementRefs)).filter((element) => {
|
|
@@ -24,7 +24,42 @@ export const locateByLabel = async (session, elementRefs, request) => {
|
|
|
24
24
|
}
|
|
25
25
|
return matchesText(element.name, request.label, request.exact ?? false);
|
|
26
26
|
});
|
|
27
|
-
return buildLocateResponse(session, request.all ?? false, matches);
|
|
27
|
+
return buildLocateResponse(session, request.all ?? false, await removeCompositeLabelWrappers(session, matches));
|
|
28
|
+
};
|
|
29
|
+
const NATIVE_LABELABLE_TAGS = new Set(['button', 'input', 'select', 'textarea']);
|
|
30
|
+
const removeCompositeLabelWrappers = async (session, matches) => {
|
|
31
|
+
if (matches.length < 2)
|
|
32
|
+
return matches;
|
|
33
|
+
const candidates = await Promise.all(matches.map(async (match) => {
|
|
34
|
+
const [node, nodeId] = await Promise.all([
|
|
35
|
+
describeNodeByBackendId(session, match.backendNodeId),
|
|
36
|
+
resolveNodeIdByBackendId(session, match.backendNodeId),
|
|
37
|
+
]);
|
|
38
|
+
const tag = node ? (node.localName ?? node.nodeName).toLowerCase() : '';
|
|
39
|
+
return { match, nodeId, native: NATIVE_LABELABLE_TAGS.has(tag) };
|
|
40
|
+
}));
|
|
41
|
+
const nativeCandidates = candidates.filter((candidate) => candidate.native && candidate.nodeId != null);
|
|
42
|
+
if (nativeCandidates.length === 0)
|
|
43
|
+
return matches;
|
|
44
|
+
const kept = [];
|
|
45
|
+
for (const candidate of candidates) {
|
|
46
|
+
if (candidate.native || candidate.nodeId == null) {
|
|
47
|
+
kept.push(candidate.match);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const descendants = (await session.sendAndWait('DOM.querySelectorAll', {
|
|
51
|
+
nodeId: candidate.nodeId,
|
|
52
|
+
selector: 'button,input,select,textarea',
|
|
53
|
+
}));
|
|
54
|
+
const descendantIds = new Set(descendants.nodeIds ?? []);
|
|
55
|
+
const wrapsMatchedNative = nativeCandidates.some((native) => native.nodeId != null &&
|
|
56
|
+
descendantIds.has(native.nodeId) &&
|
|
57
|
+
normalizeText(native.match.role) === normalizeText(candidate.match.role) &&
|
|
58
|
+
normalizeText(native.match.name) === normalizeText(candidate.match.name));
|
|
59
|
+
if (!wrapsMatchedNative)
|
|
60
|
+
kept.push(candidate.match);
|
|
61
|
+
}
|
|
62
|
+
return kept;
|
|
28
63
|
};
|
|
29
64
|
const buildLocateResponse = async (session, all, matches) => {
|
|
30
65
|
const selected = all ? matches : matches.slice(0, 1);
|
package/dist/cdp/locate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/cdp/locate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAgC,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/cdp/locate.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { resolveFirstSelectorNodeId } from './dom/selector.js';
|
|
|
5
5
|
*/
|
|
6
6
|
export const createVisualCapturePlan = async (session, pageSession, request) => {
|
|
7
7
|
const subject = resolveVisualCaptureSubject(request);
|
|
8
|
-
const targetContext = session.getTargetContext?.();
|
|
8
|
+
const targetContext = session.getReadyTargetContext ? await session.getReadyTargetContext() : session.getTargetContext?.();
|
|
9
9
|
if (targetContext?.kind === 'frame' && pageSession) {
|
|
10
10
|
return createFrameCapturePlan({
|
|
11
11
|
frameSession: session,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualCapture.js","sourceRoot":"","sources":["../../src/cdp/visualCapture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAwB9D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC3C,OAAyB,EACzB,WAAyC,EACzC,OAA6B,EACA,EAAE;IAC/B,MAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"visualCapture.js","sourceRoot":"","sources":["../../src/cdp/visualCapture.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ type CreateDelegatingSessionOptions = {
|
|
|
8
8
|
getCurrentSession: () => ExtensionSession | null;
|
|
9
9
|
requireCurrentSession: () => ExtensionSession;
|
|
10
10
|
getTargetContext: () => CdpTargetContext;
|
|
11
|
+
getReadyTargetContext?: () => Promise<CdpTargetContext>;
|
|
11
12
|
prepareCommand?: (command: {
|
|
12
13
|
method: string;
|
|
13
14
|
params?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-delegating-session.d.ts","sourceRoot":"","sources":["../../src/sources/extension-delegating-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAS9F,MAAM,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,KAAK,8BAA8B,GAAG;IACrC,iBAAiB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAA;IAChD,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;IAC7C,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;IACxC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,EAAE,gBAAgB,CAAA;KAC/B,KACE;QACA,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAA;KAC/B,GACD,OAAO,CAAC;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAA;KAC/B,GAAG,IAAI,CAAC,GACT,IAAI,CAAA;CACP,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,GACnC,SAAS,8BAA8B,KACrC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"extension-delegating-session.d.ts","sourceRoot":"","sources":["../../src/sources/extension-delegating-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAS9F,MAAM,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,KAAK,8BAA8B,GAAG;IACrC,iBAAiB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAA;IAChD,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;IAC7C,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;IACxC,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,EAAE,gBAAgB,CAAA;KAC/B,KACE;QACA,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAA;KAC/B,GACD,OAAO,CAAC;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAA;KAC/B,GAAG,IAAI,CAAC,GACT,IAAI,CAAA;CACP,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,GACnC,SAAS,8BAA8B,KACrC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAA;CAmEtE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-delegating-session.js","sourceRoot":"","sources":["../../src/sources/extension-delegating-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-delegating-session.js","sourceRoot":"","sources":["../../src/sources/extension-delegating-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ import { type ExtensionFrameState } from './extension-frame-state.js';
|
|
|
4
4
|
export declare const seedExtensionFrameState: (session: ExtensionSession, state: ExtensionFrameState) => ExtensionFrameState;
|
|
5
5
|
export declare const getSelectedExtensionTarget: (session: ExtensionSession, state: ExtensionFrameState | undefined) => CdpSourceTarget;
|
|
6
6
|
export declare const setRequestedTargetSelection: (state: ExtensionFrameState, frameId: string | null) => void;
|
|
7
|
+
/** List discovered targets plus a selected, pending placeholder when the requested iframe is missing. */
|
|
8
|
+
export declare const listExtensionTargets: (session: ExtensionSession, state: ExtensionFrameState | undefined) => CdpSourceTarget[];
|
|
7
9
|
export declare const reconcileExtensionTargetSelection: (session: ExtensionSession, state: ExtensionFrameState, onTargetChanged: () => void) => boolean;
|
|
8
10
|
export declare const refreshExtensionFrameTree: (session: ExtensionSession, state: ExtensionFrameState, refreshFrameTitle: (frameId: string) => Promise<void>) => Promise<void>;
|
|
9
11
|
export declare const removeExtensionFrame: (state: ExtensionFrameState, frameId: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-frame-runtime.d.ts","sourceRoot":"","sources":["../../src/sources/extension-frame-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"extension-frame-runtime.d.ts","sourceRoot":"","sources":["../../src/sources/extension-frame-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAWN,KAAK,mBAAmB,EACxB,MAAM,4BAA4B,CAAA;AAEnC,eAAO,MAAM,uBAAuB,GAAI,SAAS,gBAAgB,EAAE,OAAO,mBAAmB,KAAG,mBAiB/F,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,SAAS,gBAAgB,EAAE,OAAO,mBAAmB,GAAG,SAAS,KAAG,eAY9G,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,OAAO,mBAAmB,EAAE,SAAS,MAAM,GAAG,IAAI,KAAG,IAOhG,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,GAAI,SAAS,gBAAgB,EAAE,OAAO,mBAAmB,GAAG,SAAS,KAAG,eAAe,EAevH,CAAA;AAED,eAAO,MAAM,iCAAiC,GAAI,SAAS,gBAAgB,EAAE,OAAO,mBAAmB,EAAE,iBAAiB,MAAM,IAAI,KAAG,OAuBtI,CAAA;AAED,eAAO,MAAM,yBAAyB,GACrC,SAAS,gBAAgB,EACzB,OAAO,mBAAmB,EAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACnD,OAAO,CAAC,IAAI,CAId,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,OAAO,mBAAmB,EAAE,SAAS,MAAM,KAAG,IAkBlF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACtC,SAAS,gBAAgB,EACzB,OAAO,mBAAmB,EAC1B,SAAS,MAAM,EACf,sBAAsB,MAAM,IAAI,EAChC,YAAY,MAAM,KAChB,OAAO,CAAC,IAAI,CA2Cd,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildPageTarget, collectFrameTree, createRequestedFrameHint, formatFrameTargetId, formatPageTargetId, frameToTarget, resolveRequestedTarget, } from './extension-frame-state.js';
|
|
1
|
+
import { buildFrameTargets, buildPageTarget, collectFrameTree, createRequestedFrameHint, formatFrameTargetId, formatPageTargetId, frameToTarget, isSelectedTargetReady, resolveRequestedTarget, } from './extension-frame-state.js';
|
|
2
2
|
export const seedExtensionFrameState = (session, state) => {
|
|
3
3
|
if (state.frames.size > 0 || session.frames.length === 0) {
|
|
4
4
|
return state;
|
|
@@ -16,31 +16,56 @@ export const seedExtensionFrameState = (session, state) => {
|
|
|
16
16
|
return state;
|
|
17
17
|
};
|
|
18
18
|
export const getSelectedExtensionTarget = (session, state) => {
|
|
19
|
-
|
|
19
|
+
const frameId = state?.requestedFrameId ?? state?.activeFrameId;
|
|
20
|
+
if (!state || !frameId) {
|
|
20
21
|
return buildPageTarget(session, { attached: true });
|
|
21
22
|
}
|
|
22
|
-
const frame = state.frames.get(
|
|
23
|
+
const frame = state.frames.get(frameId);
|
|
23
24
|
if (frame) {
|
|
24
25
|
return frameToTarget(session.tabId, frame, { attached: true, faviconUrl: session.faviconUrl, topFrameId: state.topFrameId });
|
|
25
26
|
}
|
|
26
27
|
return buildSelectedIframeFallbackTarget(session, state);
|
|
27
28
|
};
|
|
28
29
|
export const setRequestedTargetSelection = (state, frameId) => {
|
|
30
|
+
if (state.requestedFrameId !== frameId) {
|
|
31
|
+
state.activeAttachedAt = null;
|
|
32
|
+
}
|
|
33
|
+
const previousHint = state.requestedFrameId === frameId ? state.requestedFrameHint : null;
|
|
29
34
|
state.requestedFrameId = frameId;
|
|
30
|
-
state.requestedFrameHint = frameId ? createRequestedFrameHint(state.frames.get(frameId)) : null;
|
|
31
|
-
|
|
35
|
+
state.requestedFrameHint = frameId ? (createRequestedFrameHint(state.frames.get(frameId)) ?? previousHint) : null;
|
|
36
|
+
};
|
|
37
|
+
/** List discovered targets plus a selected, pending placeholder when the requested iframe is missing. */
|
|
38
|
+
export const listExtensionTargets = (session, state) => {
|
|
39
|
+
if (!state) {
|
|
40
|
+
return [buildPageTarget(session, { attached: true })];
|
|
41
|
+
}
|
|
42
|
+
const selected = getSelectedExtensionTarget(session, state);
|
|
43
|
+
selected.targetReady = isSelectedTargetReady(state);
|
|
44
|
+
const targets = [buildPageTarget(session, { attached: false }), ...buildFrameTargets(state, session.tabId, null, session.faviconUrl)];
|
|
45
|
+
const selectedIndex = targets.findIndex((target) => target.id === selected.id);
|
|
46
|
+
if (selectedIndex < 0) {
|
|
47
|
+
targets.push(selected);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
targets[selectedIndex] = selected;
|
|
51
|
+
}
|
|
52
|
+
return targets;
|
|
32
53
|
};
|
|
33
54
|
export const reconcileExtensionTargetSelection = (session, state, onTargetChanged) => {
|
|
34
55
|
const resolution = resolveRequestedTarget(state);
|
|
35
56
|
if (resolution.kind === 'page') {
|
|
36
|
-
state.requestedFrameDetached = false;
|
|
37
57
|
return activatePageTarget(state, onTargetChanged);
|
|
38
58
|
}
|
|
39
59
|
if (resolution.kind === 'pending') {
|
|
40
|
-
|
|
60
|
+
if (state.activeFrameId == null && state.activeAttachedAt != null) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
state.activeFrameId = null;
|
|
64
|
+
state.activeAttachedAt = Date.now();
|
|
65
|
+
onTargetChanged();
|
|
66
|
+
return true;
|
|
41
67
|
}
|
|
42
68
|
syncRequestedFrameSelection(state, resolution.frameId);
|
|
43
|
-
state.requestedFrameDetached = false;
|
|
44
69
|
if (state.activeFrameId === resolution.frameId) {
|
|
45
70
|
return false;
|
|
46
71
|
}
|
|
@@ -61,7 +86,6 @@ export const removeExtensionFrame = (state, frameId) => {
|
|
|
61
86
|
* Frame ids are ephemeral, so the stored frame hint lets selection survive a fresh id after reload.
|
|
62
87
|
*/
|
|
63
88
|
if (state.activeFrameId === frameId) {
|
|
64
|
-
state.requestedFrameDetached = state.requestedFrameId === frameId;
|
|
65
89
|
state.activeFrameId = null;
|
|
66
90
|
state.activeAttachedAt = null;
|
|
67
91
|
}
|
|
@@ -141,7 +165,7 @@ const syncRequestedFrameSelection = (state, frameId) => {
|
|
|
141
165
|
*/
|
|
142
166
|
const buildSelectedIframeFallbackTarget = (session, state) => {
|
|
143
167
|
const hint = state.requestedFrameHint;
|
|
144
|
-
const frameId = state.activeFrameId;
|
|
168
|
+
const frameId = state.requestedFrameId ?? state.activeFrameId;
|
|
145
169
|
if (!frameId) {
|
|
146
170
|
return buildPageTarget(session, { attached: true });
|
|
147
171
|
}
|
|
@@ -153,6 +177,7 @@ const buildSelectedIframeFallbackTarget = (session, state) => {
|
|
|
153
177
|
parentId: formatPageTargetId(session.tabId),
|
|
154
178
|
faviconUrl: session.faviconUrl,
|
|
155
179
|
attached: true,
|
|
180
|
+
targetReady: false,
|
|
156
181
|
};
|
|
157
182
|
};
|
|
158
183
|
//# sourceMappingURL=extension-frame-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-frame-runtime.js","sourceRoot":"","sources":["../../src/sources/extension-frame-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,GAGtB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAyB,EAAE,KAA0B,EAAuB,EAAE;IACrH,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAyB,EAAE,KAAsC,EAAmB,EAAE;IAChI,
|
|
1
|
+
{"version":3,"file":"extension-frame-runtime.js","sourceRoot":"","sources":["../../src/sources/extension-frame-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,6 @@ export type ExtensionFrameState = {
|
|
|
10
10
|
topFrameId: string | null;
|
|
11
11
|
requestedFrameId: string | null;
|
|
12
12
|
requestedFrameHint: RequestedFrameHint | null;
|
|
13
|
-
/** True once an active iframe disappears and we should report the page while waiting to rematch it safely. */
|
|
14
|
-
requestedFrameDetached: boolean;
|
|
15
13
|
activeFrameId: string | null;
|
|
16
14
|
activeAttachedAt: number | null;
|
|
17
15
|
frames: Map<string, ExtensionFrame>;
|
|
@@ -96,9 +94,8 @@ export declare const createRequestedFrameHint: (frame: ExtensionFrame | null | u
|
|
|
96
94
|
*/
|
|
97
95
|
export declare const resolveRequestedFrameId: (state: ExtensionFrameState, requestedFrameId: string | null, requestedFrameHint: RequestedFrameHint | null) => string | null;
|
|
98
96
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* - `page`: the iframe was active and then disappeared, so report the page while we wait for a safe rematch.
|
|
97
|
+
* A requested iframe stays pending while missing, including after detach. Only an explicit
|
|
98
|
+
* page selection may resolve to the page; losing a frame must never change command scope.
|
|
102
99
|
*/
|
|
103
100
|
export declare const resolveRequestedTarget: (state: ExtensionFrameState) => RequestedTargetResolution;
|
|
104
101
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-frame-state.d.ts","sourceRoot":"","sources":["../../src/sources/extension-frame-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,KAAK,cAAc,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,
|
|
1
|
+
{"version":3,"file":"extension-frame-state.d.ts","sourceRoot":"","sources":["../../src/sources/extension-frame-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ export const createEmptyFrameState = () => ({
|
|
|
3
3
|
topFrameId: null,
|
|
4
4
|
requestedFrameId: null,
|
|
5
5
|
requestedFrameHint: null,
|
|
6
|
-
requestedFrameDetached: false,
|
|
7
6
|
activeFrameId: null,
|
|
8
7
|
activeAttachedAt: null,
|
|
9
8
|
frames: new Map(),
|
|
@@ -134,9 +133,8 @@ export const resolveRequestedFrameId = (state, requestedFrameId, requestedFrameH
|
|
|
134
133
|
return findRequestedFrameMatch(state, requestedFrameHint);
|
|
135
134
|
};
|
|
136
135
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* - `page`: the iframe was active and then disappeared, so report the page while we wait for a safe rematch.
|
|
136
|
+
* A requested iframe stays pending while missing, including after detach. Only an explicit
|
|
137
|
+
* page selection may resolve to the page; losing a frame must never change command scope.
|
|
140
138
|
*/
|
|
141
139
|
export const resolveRequestedTarget = (state) => {
|
|
142
140
|
if (state.requestedFrameId == null) {
|
|
@@ -146,7 +144,7 @@ export const resolveRequestedTarget = (state) => {
|
|
|
146
144
|
if (nextFrameId) {
|
|
147
145
|
return { kind: 'frame', frameId: nextFrameId };
|
|
148
146
|
}
|
|
149
|
-
return
|
|
147
|
+
return { kind: 'pending' };
|
|
150
148
|
};
|
|
151
149
|
/**
|
|
152
150
|
* Selection stays sticky across reloads, but frame-scoped commands must not silently fall back to
|
|
@@ -192,7 +190,7 @@ export const buildFrameTargetContext = (state, frameId) => ({
|
|
|
192
190
|
const findSingleMatchingFrameId = (state, predicate) => {
|
|
193
191
|
let matchId = null;
|
|
194
192
|
for (const frame of state.frames.values()) {
|
|
195
|
-
if (!predicate(frame)) {
|
|
193
|
+
if (frame.frameId === state.topFrameId || !predicate(frame)) {
|
|
196
194
|
continue;
|
|
197
195
|
}
|
|
198
196
|
if (matchId) {
|