[wpt-sync] Sync PR 61186 - WebMCP: Remove navigator.modelContext
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox154 fixed)
| Tracking | Status | |
|---|---|---|
| firefox154 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 61186 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/61186
Details from upstream follow.
Dominic Farolino <dom@chromium.org> wrote:
WebMCP: Remove navigator.modelContext
This CL is a follow-up to https://crrev.com/c/7867800. It removes
navigator.modelContext in favor of document.modelContext.R=khushalsagar
Bug: 489045948
Change-Id: I1a4636afc7b0585412ccc3fabe9369148cd9c3cd
Reviewed-on: https://chromium-review.googlesource.com/8062992
WPT-Export-Revision: bba507f7a5cdfd164429b3e38a86a549cb46be37
| Assignee | ||
Comment 1•8 days ago
|
||
PR 61186 applied with additional changes from upstream: 925e2819ce321d53de6069f93dcf1e37171381b9, ed76dd926b0ca18aafb188452f9ccf746be8bff4
| Assignee | ||
Comment 2•7 days ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=c8c31ff2561591501ec2cf35acba7daf338a0a2c
| Assignee | ||
Updated•7 days ago
|
| Assignee | ||
Updated•7 days ago
|
| Assignee | ||
Comment 3•7 days ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 46 tests and 1 subtests
Status Summary
Firefox
OK : 5[GitHub] 41[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS : 2
FAIL : 17[GitHub] 75[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
ERROR : 2
NOTRUN: 1
Chrome
OK : 5
PASS : 17
Safari
OK : 5
FAIL : 17
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /webmcp/imperative/exposedTo-cross-origin-child.https.html [wpt.fyi]:
SKIP - /webmcp/imperative/exposedTo-multiple-children.https.html [wpt.fyi]:
SKIP - /webmcp/imperative/permissions-policy.https.html [wpt.fyi]:
SKIP - /webmcp/declarative/document-domain-enabled-declarative.https.html [wpt.fyi]
- Declarative tool registration is blocked when document.domain is enabled:
FAIL
- Declarative tool registration is blocked when document.domain is enabled:
- /webmcp/declarative/duplicate-tool-name.https.html [wpt.fyi]:
ERROR- Test that duplicate declarative tools with different descriptions do not crash and only the first is registered:
FAIL - Test that duplicate declarative tools with identical descriptions do not crash and only the first is registered:
NOTRUN
- Test that duplicate declarative tools with different descriptions do not crash and only the first is registered:
- /webmcp/declarative/execute_tool_change_event.https.html [wpt.fyi]
- executeTool triggers input and change events:
FAIL
- executeTool triggers input and change events:
- /webmcp/declarative/execute_tool_submit_from_js.https.html [wpt.fyi]
- executeTool resolves successfully when submit handler calls form.submit():
FAIL
- executeTool resolves successfully when submit handler calls form.submit():
- /webmcp/declarative/form_removal_submit_crash.https.html [wpt.fyi]
- Form removal on submit with respondWith does not crash the renderer:
FAIL
- Form removal on submit with respondWith does not crash the renderer:
- /webmcp/declarative/getTools-declarative-schema.https.html [wpt.fyi]
- Test that getTools() returns the correct inputSchema for a declarative tool:
FAIL
- Test that getTools() returns the correct inputSchema for a declarative tool:
- /webmcp/declarative/select-multiple-events.https.html [wpt.fyi]
- executeTool() on a <select multiple> dispatches input and change events:
FAIL
- executeTool() on a <select multiple> dispatches input and change events:
- /webmcp/declarative/toolchange-on-attribute-mutation.https.html [wpt.fyi]
- Test that mutating or removing form attributes (toolname, tooldescription, tooltitle, toolautosubmit) fires toolchange and updates getTools() correctly:
FAIL(Chrome:PASS, Safari:FAIL)
- Test that mutating or removing form attributes (toolname, tooldescription, tooltitle, toolautosubmit) fires toolchange and updates getTools() correctly:
- /webmcp/declarative/toolchange-on-control-add-remove.https.html [wpt.fyi]
- Test that toolchange event fires when controls are added or removed:
FAIL
- Test that toolchange event fires when controls are added or removed:
- /webmcp/declarative/toolchange-on-name-change.https.html [wpt.fyi]
- Test that toolchange event fires on various mutations of form controls:
FAIL
- Test that toolchange event fires on various mutations of form controls:
- /webmcp/imperative/detached-frame-executeTool.https.html [wpt.fyi]:
ERROR- executeTool() throws
InvalidStateErrorin detached frame:FAIL
- executeTool() throws
- /webmcp/imperative/detached-frame-getTools.https.html [wpt.fyi]
- getTools() throws
InvalidStateErrorin detached frame:FAIL
- getTools() throws
- /webmcp/imperative/detached-frame-registerTool.https.html [wpt.fyi]
- registerTool() rejects
InvalidStateErrorin detached frame:FAIL(Chrome:PASS, Safari:FAIL)
- registerTool() rejects
- /webmcp/imperative/document-domain-enabled.https.html [wpt.fyi]
- modelContext.registerTool rejects with SecurityError when document.domain is enabled:
FAIL - modelContext.getTools rejects with SecurityError when document.domain is enabled:
FAIL - modelContext.executeTool rejects with SecurityError when document.domain is enabled:
FAIL
- modelContext.registerTool rejects with SecurityError when document.domain is enabled:
- /webmcp/imperative/duplicate_tool_registration.https.html [wpt.fyi]
- duplicate tool registration is invalid.:
FAIL
- duplicate tool registration is invalid.:
- /webmcp/imperative/executeTool-abort.https.html [wpt.fyi]
- executeTool() rejects with AbortError when signal is aborted:
FAIL
- executeTool() rejects with AbortError when signal is aborted:
- /webmcp/imperative/executeTool-across-trees.https.html [wpt.fyi]
- executeTool() rejects when the tool is hosted in another frame tree:
FAIL
- executeTool() rejects when the tool is hosted in another frame tree:
- /webmcp/imperative/executeTool-caller-navigate-abort.https.html [wpt.fyi]
- executeTool() aborts target signal when the invoker document (same-origin) navigates away:
FAIL - executeTool() aborts target signal when the invoker document (cross-origin) navigates away:
FAIL
- executeTool() aborts target signal when the invoker document (same-origin) navigates away:
- /webmcp/imperative/executeTool-invalid-dictionary.https.html [wpt.fyi]
- executeTool() rejects with TypeError when the required 'origin' dictionary member is omitted:
FAIL - executeTool() rejects with UnknownError for invalid JSON arguments:
FAIL - executeTool() rejects with UnknownError when a non-existent tool object is supplied:
FAIL
- executeTool() rejects with TypeError when the required 'origin' dictionary member is omitted:
- /webmcp/imperative/executeTool-target-detachment.https.html [wpt.fyi]
- executeTool() rejects when target frame is detached before execution:
FAIL - executeTool() rejects when target frame is detached mid-execution:
FAIL
- executeTool() rejects when target frame is detached before execution:
- /webmcp/imperative/executeTool-target-navigation.https.html [wpt.fyi]
- executeTool() rejects when target document navigates away:
FAIL
- executeTool() rejects when target document navigates away:
- /webmcp/imperative/executeTool-unauthorized-origin.https.html [wpt.fyi]
- executeTool() rejects when parent frame attempts unauthorized execution of cross-origin iframe tool:
FAIL
- executeTool() rejects when parent frame attempts unauthorized execution of cross-origin iframe tool:
- /webmcp/imperative/exposedTo-defaults-cross-origin.https.html [wpt.fyi]
- Parent tool with no exposedTo array is not visible to cross-origin iframe:
FAIL - Parent tool with empty exposedTo array is not visible to cross-origin iframe:
FAIL - Cross-origin iframe tool with default exposure is not visible to parent:
FAIL - Cross-origin iframe tool with empty exposedTo array is not visible to parent:
FAIL
- Parent tool with no exposedTo array is not visible to cross-origin iframe:
- /webmcp/imperative/exposedTo-defaults-same-origin.https.html [wpt.fyi]
- Parent tool with missing
exposedToarray is visible to same-origin iframe:FAIL - Parent tool with empty
exposedToarray is visible to same-origin iframe:FAIL - Same-origin iframe tool with default exposure is visible to parent:
FAIL - Same-origin iframe tool with empty exposedTo array is visible to parent:
FAIL
- Parent tool with missing
- /webmcp/imperative/exposedTo-invalid-origins.https.html [wpt.fyi]
- registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like / in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like * in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like https://example:bogus in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like https://U+d800.com in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like http://example.com in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like ftp://example.com in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like about:blank in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like about:srcdoc in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like https://example.com in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like http://localhost:3000 in exposedTo:
FAIL(Chrome:PASS, Safari:FAIL) - registerTool() with abort signal reason because signal is processed before
exposedTo:FAIL(Chrome:PASS, Safari:FAIL)
- registerTool() throws SecurityError for invalid or non-potentially-trustworthy origins like / in exposedTo:
- /webmcp/imperative/exposedTo-window-open.https.html [wpt.fyi]
- Tools are scoped to a frame tree, and are not exposed across opener boundaries.:
FAIL
- Tools are scoped to a frame tree, and are not exposed across opener boundaries.:
- /webmcp/imperative/getTools-filtering.https.html [wpt.fyi]
- getTools() correctly filters returned tools by fromOrigins origins while preserving same-origin tools:
FAIL - getTools() rejects with SecurityError if an insecure origin is supplied in fromOrigins:
FAIL
- getTools() correctly filters returned tools by fromOrigins origins while preserving same-origin tools:
- /webmcp/imperative/getTools-imperative-schema.https.html [wpt.fyi]
- Test that getTools() returns the correct inputSchema for an imperative tool:
FAIL
- Test that getTools() returns the correct inputSchema for an imperative tool:
- /webmcp/imperative/getTools.https.html [wpt.fyi]
- getTools should return all tools sorted in lexicographical order:
FAIL
- getTools should return all tools sorted in lexicographical order:
- /webmcp/imperative/initial-about-blank-shared-tool.https.html [wpt.fyi]
- tools registered with the initial about:blank Document do not survive navigation:
FAIL
- tools registered with the initial about:blank Document do not survive navigation:
- /webmcp/imperative/model_context.https.html [wpt.fyi]
- document.modelContext instanceof ModelContext:
FAIL
- document.modelContext instanceof ModelContext:
- /webmcp/imperative/opaque-origin-tools.https.html [wpt.fyi]
- An opaque origin document can register but not execute its own tools:
FAIL
- An opaque origin document can register but not execute its own tools:
- /webmcp/imperative/register-tool-title.https.html [wpt.fyi]
- Tool title is preserved when provided:
FAIL(Chrome:PASS, Safari:FAIL) - Missing tool title in registration is exposed as empty string:
FAIL(Chrome:PASS, Safari:FAIL) - Tool title with unpaired surrogate is fixed up by USVString:
FAIL(Chrome:PASS, Safari:FAIL)
- Tool title is preserved when provided:
- /webmcp/imperative/register_tool_invalid_json_schema.https.html [wpt.fyi]
- WebMCP registerTool throws on invalid schema:
FAIL - WebMCP registerTool throws on invalid schema 1:
FAIL - WebMCP registerTool throws on invalid schema 2:
FAIL - registerTool rejects on invalid schema even if an aborted signal was provided:
FAIL
- WebMCP registerTool throws on invalid schema:
- /webmcp/imperative/register_tool_name_validation.https.html [wpt.fyi]
- Valid tool names are accepted.:
FAIL - Invalid tool names throw InvalidStateError.:
FAIL
- Valid tool names are accepted.:
- /webmcp/imperative/register_tool_no_schema.https.html [wpt.fyi]
- register tool with only required params:
FAIL
- register tool with only required params:
- /webmcp/imperative/register_tool_signal.https.html [wpt.fyi]
- register tool promise rejects with AbortError when signal gets aborted:
FAIL - register tool promise rejects with error when signal gets aborted:
FAIL - register tool promise rejects when signal is already aborted:
FAIL - aborting signal unregister tool:
FAIL
- register tool promise rejects with AbortError when signal gets aborted:
- /webmcp/imperative/register_tool_toolchange.https.html [wpt.fyi]
- registerTool triggers toolchange before promise resolves:
FAIL
- registerTool triggers toolchange before promise resolves:
- /webmcp/imperative/register_tool_with_empty_annotation.https.html [wpt.fyi]
- register tool with empty annotations:
FAIL
- register tool with empty annotations:
- /webmcp/imperative/register_tool_with_schema.https.html [wpt.fyi]
- register and unregister script tool:
FAIL - registerTool succeeds when inputSchema.toJSON() returns 'undefined':
FAIL
- register and unregister script tool:
- /webmcp/imperative/same-origin-iframe-registerTool-regression.https.html [wpt.fyi]
- registerTool() does not reject in connected same-origin iframe navigated away of about:blank:
FAIL(Chrome:PASS, Safari:FAIL)
- registerTool() does not reject in connected same-origin iframe navigated away of about:blank:
- /webmcp/imperative/unregister-during-executeTool.https.html [wpt.fyi]
- Pending executeTool() Promise is rejected when the target cross-origin tool is unregistered:
FAIL
- Pending executeTool() Promise is rejected when the target cross-origin tool is unregistered:
Tests Disabled in Gecko Infrastructure
Comment 5•5 days ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/b36d7c051fef
https://hg.mozilla.org/mozilla-central/rev/bdd984960a8f
Description
•