Revert "[WebMCP] Expose RegisteredTool.inputSchema as an object" - #62111
Community-TC (pull_request)
Collect results for all tests affected by a pull request in firefox but without the changes in the PR.
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2026-08-21T11:47:34.077Z
Resolved: 2026-08-21T11:52:22.858Z
Task Execution Time: 4 minutes, 48 seconds, 781 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: aM60mFe6Q4ucj02UnSZtxw
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 task_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:34.132Z] Task ID: aM60mFe6Q4ucj02UnSZtxw
[taskcluster 2026-08-21 11:47:34.132Z] Worker ID: 7777762313777808639
[taskcluster 2026-08-21 11:47:34.132Z] Worker Group: us-central1-b
[taskcluster 2026-08-21 11:47:34.132Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-08-21 11:47:34.132Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-08-21 11:47:34.132Z] Worker Version: 46.1.0
[taskcluster 2026-08-21 11:47:34.132Z] Public IP: 34.135.176.64
[taskcluster 2026-08-21 11:47:34.132Z] Hostname: proj-wpt-ci-ocw3gq8aqdagu-jtmoczwa
[taskcluster 2026-08-21 11:47:35.201Z] === 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:14.09 TEST_START: /webmcp/declarative/getTools-declarative-schema.https.html
1:14.10 INFO Closing window 6bea8853-3e79-432e-b417-fa53df1b5044
1:14.28 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:14.28 TEST_START: /webmcp/declarative/no-frame-documents.https.html
1:14.28 INFO Closing window 23aeee94-7747-4835-b5ab-328ca4c44c0f
1:14.50 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:14.50 TEST_START: /webmcp/declarative/opaque-origin-tools.https.html
1:14.50 INFO Closing window 5c38b2f7-596a-4ddd-b061-f9eb3360f9ce
1:14.75 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:14.75 TEST_START: /webmcp/declarative/select-multiple-events.https.html
1:14.76 INFO Closing window 369d7d51-71e7-4941-a945-831b223a91a1
1:14.94 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:14.94 TEST_START: /webmcp/declarative/toolchange-on-attribute-mutation.https.html
1:14.94 INFO Closing window ae5d93a3-d6e6-4601-b672-724c791c6a9a
1:15.18 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:15.18 TEST_START: /webmcp/declarative/toolchange-on-control-add-remove.https.html
1:15.18 INFO Closing window 1940dd12-eba1-42e5-abca-618f538a33e6
1:15.39 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:15.39 TEST_START: /webmcp/declarative/unregister-during-executeTool.https.html
1:15.40 INFO Closing window 2b9b1260-45a9-4725-8f96-846c9f54170e
1:15.59 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:15.59 TEST_START: /webmcp/imperative/executeTool-caller-navigate-abort.https.html
1:15.60 INFO Closing window ab37e728-1e02-4d7c-beeb-0d4a19b863c2
1:15.88 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:15.88 TEST_START: /webmcp/imperative/executeTool-signal-cross-origin.https.html
1:15.88 INFO Closing window 50e02e66-2ea2-4e44-af17-e8d4804bffaa
1:16.13 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:16.13 TEST_START: /webmcp/imperative/executeTool-target-navigation.https.html
1:16.14 INFO Closing window daa95827-207c-4365-aac0-d327652f9f4d
1:16.38 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:16.38 TEST_START: /webmcp/imperative/executeTool-unauthorized-origin.https.html
1:16.39 INFO Closing window 64085f2e-0bd8-4e5f-a501-bb7bbff337aa
1:17.61 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:17.61 TEST_START: /webmcp/imperative/exposedTo-cross-origin-child.https.html
1:17.61 INFO Closing window cfc444da-a776-464c-9e63-eb41d5acbdbf
1:17.87 pid:2374 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:26.54 pid:2374 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:26.54 pid:2374 JavaScript error: resource:///modules/backup/BackupService.sys.mjs, line 4429: NotAllowedError: PathUtils.join: PathUtils does not support empty paths
1:40.47 pid:2374 console.error: services.settings:
1:40.47 pid:2374 Message: EmptyDatabaseError: "main/nimbus-desktop-experiments" has not been synced yet
1:40.47 pid:2374 Stack:
1:40.47 pid:2374 EmptyDatabaseError@resource://services-settings/Database.sys.mjs:19:5
1:40.47 pid:2374 list@resource://services-settings/Database.sys.mjs:96:13
mem avail: 13692 of 15806 MiB (86.63%), swap free: 0 of 0 MiB ( 0.00%)
2:22.81 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:22.81 TEST_START: /webmcp/imperative/exposedTo-defaults-cross-origin.https.html
2:22.81 INFO Closing window b91a2d65-0396-47d0-afa6-f636f260c88b
2:23.08 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:23.08 TEST_START: /webmcp/imperative/exposedTo-defaults-same-origin.https.html
2:23.09 INFO Closing window df4fd078-f8b9-49ab-9be3-cac0ba7372d4
2:23.35 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:23.35 TEST_START: /webmcp/imperative/exposedTo-multiple-children.https.html
2:23.35 INFO Closing window 26ef6edd-1a02-411d-9965-c3b3f9f68d9d
2:23.77 pid:2374 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: 13697 of 15806 MiB (86.66%), swap free: 0 of 0 MiB ( 0.00%)
3:28.68 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:28.68 TEST_START: /webmcp/imperative/exposedTo-window-open.https.html
3:28.68 INFO Closing window a18b2cf2-d8d1-4d76-9ea8-4c1e40f2582d
3:28.91 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:28.91 TEST_START: /webmcp/imperative/getTools-filtering.https.html
3:28.91 INFO Closing window ef5ca078-d044-4e41-83ff-a9855ffe3b89
3:29.17 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:29.17 TEST_START: /webmcp/imperative/getTools-imperative-schema.https.html
3:29.18 INFO Closing window 0a07fa33-2d5e-41d4-9b97-1f8101a9e58a
3:29.45 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:29.45 TEST_START: /webmcp/imperative/register-tool-title.https.html
3:29.46 INFO Closing window a333fbfc-0efc-43a8-8ab0-27f2c1a13a42
3:29.73 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:29.73 TEST_START: /webmcp/imperative/unregister-during-executeTool.https.html
3:29.78 INFO Closing window 1323e0b0-3657-4dab-a459-2b8bbd900bce
3:30.03 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:30.03 INFO No more tests
3:30.04 pid:2374 1787313136377 Marionette INFO Stopped listening on port 49363
3:30.30 INFO Browser exited with return code 0
3:30.10 INFO Closing logging queue
3:30.10 INFO queue closed
3:30.31 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:30.31 INFO Got 25 unexpected results, with 0 unexpected passes
3:30.31 wptserve INFO Stopped http server on 127.0.0.1:8002
3:30.31 wptserve INFO Stopped http server on 127.0.0.1:8001
3:30.31 wptserve INFO Stopped http server on 127.0.0.1:8000
3:30.31 wptserve INFO Stopped http server on 127.0.0.1:8003
3:30.32 wptserve INFO Stopped http server on 127.0.0.1:8443
3:30.33 wptserve INFO Stopped http server on 127.0.0.1:8444
3:30.34 wptserve INFO Stopped http server on 127.0.0.1:8445
3:30.34 wptserve INFO Stopped http server on 127.0.0.1:8446
3:30.34 wptserve INFO Stopped http server on 127.0.0.1:9000
3:30.34 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
3:30.82 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
3:30.82 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
3:30.87 INFO Removed font: Ahem.ttf
3:30.90 INFO Closing logging queue
3:30.90 INFO queue closed
3:30.90 INFO Tolerating 25 unexpected results
[taskcluster 2026-08-21 11:52:20.274Z] === Task Finished ===
[taskcluster 2026-08-21 11:52:21.660Z] Successful task run with exit code: 0 completed in 287.529 seconds