Skip to content

Revert "[WebMCP] Expose RegisteredTool.inputSchema as an object" - #62111

Merged
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-dc7edb81a8
Aug 21, 2026
Merged

Revert "[WebMCP] Expose RegisteredTool.inputSchema as an object"#62111
chromium-wpt-export-bot merged 1 commit into
masterfrom
chromium-export-dc7edb81a8

Revert "[WebMCP] Expose RegisteredTool.inputSchema as an object"

06b162d
Select commit
Loading
Failed to load commit list.
Community-TC Integration / wpt-firefox-nightly-results succeeded Aug 21, 2026 in 5m 0s

Community-TC (pull_request)

Collect results for all tests affected by a pull request in firefox.

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2026-08-21T11:47:49.794Z
Resolved: 2026-08-21T11:52:49.099Z
Task Execution Time: 4 minutes, 59 seconds, 305 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: cOs3tdcfTQOeeZ2glFO1QQ
RunId: 0

Artifacts

- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
- public/results/wpt_report.json.gz
- public/results/wpt_screenshot.txt.gz

WPT Command: python3 ./wpt run --channel=nightly --no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json --log-wptscreenshot=../artifacts/wpt_screenshot.txt --affected base_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --verify-log-full --no-headless --binary=/home/test/build/firefox/firefox firefox


[taskcluster 2026-08-21 11:47:49.856Z] Task ID: cOs3tdcfTQOeeZ2glFO1QQ
[taskcluster 2026-08-21 11:47:49.856Z] Worker ID: 7917238176964773077
[taskcluster 2026-08-21 11:47:49.856Z] Worker Group: us-east1-c
[taskcluster 2026-08-21 11:47:49.856Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-08-21 11:47:49.856Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-08-21 11:47:49.856Z] Worker Version: 46.1.0
[taskcluster 2026-08-21 11:47:49.856Z] Public IP: 34.139.249.46
[taskcluster 2026-08-21 11:47:49.856Z] Hostname: proj-wpt-ci-gb-02ti8tlkejdrsmhcuwa

[taskcluster 2026-08-21 11:47:50.851Z] === Task Starting ===
+ '[' '' ']'
+ '[' -d /etc/profile.d ']'
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/01-locale-fix.sh ']'
+ . /etc/profile.d/01-locale-fix.sh
+++ /usr/bin/locale-check C.UTF-8
++ eval
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/apps-bin-path.sh ']'
+ . /etc/profile.d/apps-bin-path.sh

...(474 lines hidden)...

 1:18.90 TEST_START: /webmcp/declarative/getTools-declarative-schema.https.html
 1:18.91 INFO Closing window 5baa2dd6-b158-41fc-a9e2-6cafb8da3137
 1:19.07 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL WebMCP: getTools() retrieves declarative schema at registration time - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:19.07 TEST_START: /webmcp/declarative/no-frame-documents.https.html
 1:19.07 INFO Closing window 12047da2-46ba-465e-89b0-b4cbabfa9607
 1:19.25 TEST_END: Test OK. Subtests passed 0/4. Unexpected 4
FAIL Declarative tool in document without active frame is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"FAIL Declarative tool in DOMParser document is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"FAIL Declarative tool with name only in document without active frame is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"FAIL Declarative tool in iframe removed after registration does not crash on attribute modification - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:19.25 TEST_START: /webmcp/declarative/opaque-origin-tools.https.html
 1:19.25 INFO Closing window cb730248-2721-48a9-82d5-4b2002d70c9e
 1:19.48 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL An opaque origin document can register but not execute its own declarative tools - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"FAIL executeTool() rejects synchronously for opaque origins - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:19.48 TEST_START: /webmcp/declarative/select-multiple-events.https.html
 1:19.48 INFO Closing window b92dc10b-c7a9-4c26-ad8a-6d269c3d67bc
 1:19.64 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL executeTool() on a <select multiple> dispatches input and change events - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:19.65 TEST_START: /webmcp/declarative/toolchange-on-attribute-mutation.https.html
 1:19.65 INFO Closing window 7706169a-5570-4049-a085-c5ee56cb21db
 1:19.83 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL Test that mutating or removing form attributes (toolname, tooldescription, tooltitle, toolautosubmit) fires toolchange and updates getTools() correctly - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:19.83 TEST_START: /webmcp/declarative/toolchange-on-control-add-remove.https.html
 1:19.83 INFO Closing window ea09a456-0608-420f-b5f0-6a88b503f3f4
 1:20.04 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL Test that toolchange event fires when controls are added or removed - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:20.04 TEST_START: /webmcp/declarative/unregister-during-executeTool.https.html
 1:20.05 INFO Closing window 7cca9068-4294-4f27-b665-4d6c86a167eb
 1:20.25 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL Pending executeTool() Promise resolves successfully when target declarative tool is unregistered via DOM removal - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"FAIL Pending executeTool() Promise resolves successfully when target declarative tool is unregistered via attribute removal - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:20.25 TEST_START: /webmcp/imperative/executeTool-caller-navigate-abort.https.html
 1:20.25 INFO Closing window 9f52bc92-b92f-4bfe-8f03-6cd4ba4fb0bd
 1:20.48 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL executeTool() aborts target signal when the invoker document (same-origin) navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL executeTool() aborts target signal when the invoker document (cross-origin) navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 1:20.48 TEST_START: /webmcp/imperative/executeTool-signal-cross-origin.https.html
 1:20.49 INFO Closing window 0ca4fa34-0015-4962-923e-fdd9c5b5a7cc
 1:20.73 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL caller abort in parent document propagates to options.signal in cross-origin iframe tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"FAIL caller abort in cross-origin iframe propagates to options.signal in parent document tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 1:20.73 TEST_START: /webmcp/imperative/executeTool-target-navigation.https.html
 1:20.74 INFO Closing window 83809399-97b2-4e5f-b305-958aaa7020c7
 1:20.94 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL executeTool() rejects when target document navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
 1:20.94 TEST_START: /webmcp/imperative/executeTool-unauthorized-origin.https.html
 1:20.95 INFO Closing window 30f7de9b-e872-433e-8d9a-ba4af8981d5a
 1:22.16 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL executeTool() rejects when parent frame attempts unauthorized execution of cross-origin iframe tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 1:22.16 TEST_START: /webmcp/imperative/exposedTo-cross-origin-child.https.html
 1:22.16 INFO Closing window 758402ef-963b-401b-b2d6-6c724a43caf6
 1:22.39 pid:2372 JavaScript error: https://www1.web-platform.test:8443/webmcp/imperative/resources/iframe-register-tool.html, line 123: TypeError: can't access property "addEventListener", document.modelContext is undefined
 1:31.58 pid:2372 console.warn: BackupService: "There was an error while trying to get the Document's directory" [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIProperties.get]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: resource:///modules/backup/BackupService.sys.mjs :: get docsDirFolderPath :: line 1299"  data: no]
 1:31.58 pid:2372 JavaScript error: resource:///modules/backup/BackupService.sys.mjs, line 4429: NotAllowedError: PathUtils.join: PathUtils does not support empty paths
mem avail: 13671 of 15806 MiB (86.49%), swap free:    0 of    0 MiB ( 0.00%)
 1:46.42 pid:2372 console.error: services.settings:
 1:46.42 pid:2372   Message: EmptyDatabaseError: "main/nimbus-desktop-experiments" has not been synced yet
 1:46.42 pid:2372   Stack:
 1:46.43 pid:2372     EmptyDatabaseError@resource://services-settings/Database.sys.mjs:19:5
 1:46.43 pid:2372 list@resource://services-settings/Database.sys.mjs:96:13
 2:27.34 TEST_END: Test TIMEOUT, expected OK. Subtests passed 0/5. Unexpected 5
FAIL Parent exposes tool to cross-origin child - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Cross-origin child exposes tool to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"FAIL Parent exposes tool to origin that is neither its own nor its iframe's - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Iframe exposes tool to origin that is neither its own nor its parent's - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"TIMEOUT Cross-origin iframe without permissions policy does not receive toolchange event even if exposed to it - Test timed outTIMEOUT /webmcp/imperative/exposedTo-cross-origin-child.https.html
 2:27.34 TEST_START: /webmcp/imperative/exposedTo-defaults-cross-origin.https.html
 2:27.34 INFO Closing window 9eedac58-ec58-450e-8005-f7c934d2abf7
 2:27.65 TEST_END: Test OK. Subtests passed 0/4. Unexpected 4
FAIL Parent tool with no exposedTo array is not visible to cross-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Parent tool with empty exposedTo array is not visible to cross-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Cross-origin iframe tool with default exposure is not visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"FAIL Cross-origin iframe tool with empty exposedTo array is not visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
 2:27.65 TEST_START: /webmcp/imperative/exposedTo-defaults-same-origin.https.html
 2:27.66 INFO Closing window fa320570-1a38-49f0-aa38-98166853b9a1
 2:28.04 TEST_END: Test OK. Subtests passed 0/4. Unexpected 4
FAIL Parent tool with missing `exposedTo` array is visible to same-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Parent tool with empty `exposedTo` array is visible to same-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Same-origin iframe tool with default exposure is visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"FAIL Same-origin iframe tool with empty exposedTo array is visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
 2:28.04 TEST_START: /webmcp/imperative/exposedTo-multiple-children.https.html
 2:28.06 INFO Closing window 2cd8f3dd-1317-4bc0-b369-a1aa15630a51
 2:28.75 pid:2372 JavaScript error: https://www2.not-web-platform.test:8443/webmcp/imperative/resources/iframe-register-tool.html, line 123: TypeError: can't access property "addEventListener", document.modelContext is undefined
mem avail: 13673 of 15806 MiB (86.51%), swap free:    0 of    0 MiB ( 0.00%)
 3:33.59 TEST_END: Test TIMEOUT, expected OK. Subtests passed 0/1. Unexpected 1
TIMEOUT Multi-origin setup with mixed exposure lists - Test timed outTIMEOUT /webmcp/imperative/exposedTo-multiple-children.https.html
 3:33.59 TEST_START: /webmcp/imperative/exposedTo-window-open.https.html
 3:33.59 INFO Closing window b0f9fff4-ba53-4216-88ce-5b099a8c7e59
 3:33.80 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL Tools are scoped to a frame tree, and are not exposed across opener boundaries. - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
 3:33.80 TEST_START: /webmcp/imperative/getTools-filtering.https.html
 3:33.81 INFO Closing window f1d7f31a-8dc1-465b-a937-855608a487d3
 3:34.05 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL getTools() correctly filters returned tools by fromOrigins origins while preserving same-origin tools - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL getTools() rejects with SecurityError if an insecure origin is supplied in fromOrigins - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
 3:34.05 TEST_START: /webmcp/imperative/getTools-imperative-schema.https.html
 3:34.05 INFO Closing window b5caa1ae-aeda-4db4-a7e7-96dd12c2f367
 3:34.29 TEST_END: Test OK. Subtests passed 0/1. Unexpected 1
FAIL Test that getTools() returns the correct inputSchema for an imperative tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 3:34.29 TEST_START: /webmcp/imperative/register-tool-title.https.html
 3:34.30 INFO Closing window 42d29c99-7b12-4397-bcc8-108fcd9b40d2
 3:34.57 TEST_END: Test OK. Subtests passed 0/3. Unexpected 3
FAIL Tool title is preserved when provided - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Missing tool title in registration is exposed as empty string - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"FAIL Tool title with unpaired surrogate is fixed up by USVString - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 3:34.57 TEST_START: /webmcp/imperative/unregister-during-executeTool.https.html
 3:34.57 INFO Closing window 223ee472-e385-40f0-8c9d-beb950803450
 3:34.88 TEST_END: Test OK. Subtests passed 0/2. Unexpected 2
FAIL Pending executeTool() Promise resolves successfully when the target cross-origin tool is unregistered mid-execution - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"FAIL Pending executeTool() Promise resolves successfully when target same-document tool is unregistered mid-execution - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 3:34.88 INFO No more tests
 3:34.88 pid:2372 1787313162774	Marionette	INFO	Stopped listening on port 32801
 3:35.14 INFO Browser exited with return code 0
 3:34.95 INFO Closing logging queue
 3:34.95 INFO queue closed
 3:35.15 SUITE_END

web-platform-test
~~~~~~~~~~~~~~~~~
Ran 72 checks (46 subtests, 26 tests)
Expected results: 24
Unexpected results: 48
  test: 2 (2 timeout)
  subtest: 46 (44 fail, 2 timeout)

Error Summary
-------------
/webmcp/declarative/executeTool-abort.https.html
  FAIL executeTool signal successfully resets tool pseudo-classes - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/executeTool-respondWith-circular-object.https.html
  FAIL Declarative tool executeTool() rejects when respondWith() receives a circular object - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/execute_tool_change_event.https.html
  FAIL executeTool triggers input and change events - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/execute_tool_submit_from_js.https.html
  FAIL executeTool resolves successfully when submit handler calls form.submit() - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/form_removal_submit_crash.https.html
  FAIL Form removal on submit with respondWith does not crash the renderer - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/getTools-declarative-schema.https.html
  FAIL WebMCP: getTools() retrieves declarative schema at registration time - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/no-frame-documents.https.html
  FAIL Declarative tool in document without active frame is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
  FAIL Declarative tool in DOMParser document is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
  FAIL Declarative tool with name only in document without active frame is not registered - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
  FAIL Declarative tool in iframe removed after registration does not crash on attribute modification - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/opaque-origin-tools.https.html
  FAIL An opaque origin document can register but not execute its own declarative tools - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
  FAIL executeTool() rejects synchronously for opaque origins - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/select-multiple-events.https.html
  FAIL executeTool() on a <select multiple> dispatches input and change events - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/toolchange-on-attribute-mutation.https.html
  FAIL Test that mutating or removing form attributes (toolname, tooldescription, tooltitle, toolautosubmit) fires toolchange and updates getTools() correctly - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/toolchange-on-control-add-remove.https.html
  FAIL Test that toolchange event fires when controls are added or removed - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/declarative/unregister-during-executeTool.https.html
  FAIL Pending executeTool() Promise resolves successfully when target declarative tool is unregistered via DOM removal - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
  FAIL Pending executeTool() Promise resolves successfully when target declarative tool is unregistered via attribute removal - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/imperative/executeTool-caller-navigate-abort.https.html
  FAIL executeTool() aborts target signal when the invoker document (same-origin) navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL executeTool() aborts target signal when the invoker document (cross-origin) navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
/webmcp/imperative/executeTool-signal-cross-origin.https.html
  FAIL caller abort in parent document propagates to options.signal in cross-origin iframe tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  FAIL caller abort in cross-origin iframe propagates to options.signal in parent document tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
/webmcp/imperative/executeTool-target-navigation.https.html
  FAIL executeTool() rejects when target document navigates away - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
/webmcp/imperative/executeTool-unauthorized-origin.https.html
  FAIL executeTool() rejects when parent frame attempts unauthorized execution of cross-origin iframe tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/imperative/exposedTo-cross-origin-child.https.html
  FAIL Parent exposes tool to cross-origin child - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Cross-origin child exposes tool to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  FAIL Parent exposes tool to origin that is neither its own nor its iframe's - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Iframe exposes tool to origin that is neither its own nor its parent's - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  TIMEOUT Cross-origin iframe without permissions policy does not receive toolchange event even if exposed to it - Test timed out
  TIMEOUT /webmcp/imperative/exposedTo-cross-origin-child.https.html
/webmcp/imperative/exposedTo-defaults-cross-origin.https.html
  FAIL Parent tool with no exposedTo array is not visible to cross-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Parent tool with empty exposedTo array is not visible to cross-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Cross-origin iframe tool with default exposure is not visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  FAIL Cross-origin iframe tool with empty exposedTo array is not visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
/webmcp/imperative/exposedTo-defaults-same-origin.https.html
  FAIL Parent tool with missing `exposedTo` array is visible to same-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Parent tool with empty `exposedTo` array is visible to same-origin iframe - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Same-origin iframe tool with default exposure is visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  FAIL Same-origin iframe tool with empty exposedTo array is visible to parent - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
/webmcp/imperative/exposedTo-multiple-children.https.html
  TIMEOUT Multi-origin setup with mixed exposure lists - Test timed out
  TIMEOUT /webmcp/imperative/exposedTo-multiple-children.https.html
/webmcp/imperative/exposedTo-window-open.https.html
  FAIL Tools are scoped to a frame tree, and are not exposed across opener boundaries. - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
/webmcp/imperative/getTools-filtering.https.html
  FAIL getTools() correctly filters returned tools by fromOrigins origins while preserving same-origin tools - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL getTools() rejects with SecurityError if an insecure origin is supplied in fromOrigins - promise_test: Unhandled rejection with value: object "TypeError: can't access property "getTools", document.modelContext is undefined"
/webmcp/imperative/getTools-imperative-schema.https.html
  FAIL Test that getTools() returns the correct inputSchema for an imperative tool - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
/webmcp/imperative/register-tool-title.https.html
  FAIL Tool title is preserved when provided - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Missing tool title in registration is exposed as empty string - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
  FAIL Tool title with unpaired surrogate is fixed up by USVString - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
/webmcp/imperative/unregister-during-executeTool.https.html
  FAIL Pending executeTool() Promise resolves successfully when the target cross-origin tool is unregistered mid-execution - promise_test: Unhandled rejection with value: object "TypeError: can't access property "addEventListener", document.modelContext is undefined"
  FAIL Pending executeTool() Promise resolves successfully when target same-document tool is unregistered mid-execution - promise_test: Unhandled rejection with value: object "TypeError: can't access property "registerTool", document.modelContext is undefined"
 3:35.15 INFO Got 25 unexpected results, with 0 unexpected passes
 3:35.16 wptserve INFO Stopped http server on 127.0.0.1:8000
 3:35.16 wptserve INFO Stopped http server on 127.0.0.1:8002
 3:35.16 wptserve INFO Stopped http server on 127.0.0.1:8001
 3:35.16 wptserve INFO Stopped http server on 127.0.0.1:8003
 3:35.17 wptserve INFO Stopped http server on 127.0.0.1:8444
 3:35.17 wptserve INFO Stopped http server on 127.0.0.1:8443
 3:35.18 wptserve INFO Stopped http server on 127.0.0.1:8445
 3:35.19 wptserve INFO Stopped http server on 127.0.0.1:8446
 3:35.19 wptserve INFO Stopped http server on 127.0.0.1:9000
 3:35.19 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
 3:35.52 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 3:35.54 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 3:35.58 INFO Removed font: Ahem.ttf
 3:35.61 INFO Closing logging queue
 3:35.61 INFO queue closed
 3:35.61 INFO Tolerating 25 unexpected results
[taskcluster 2026-08-21 11:52:46.773Z] === Task Finished ===
[taskcluster 2026-08-21 11:52:47.943Z] Successful task run with exit code: 0 completed in 298.088 seconds