Skip to content

script: Eliminate most usages of with_script_thread#40864

Closed
mrobinson wants to merge 1 commit intoservo:mainfrom
mrobinson:script-thread-local
Closed

script: Eliminate most usages of with_script_thread#40864
mrobinson wants to merge 1 commit intoservo:mainfrom
mrobinson:script-thread-local

Conversation

@mrobinson
Copy link
Copy Markdown
Member

@mrobinson mrobinson commented Nov 24, 2025

This change replaces the usage of TLS to access ScriptThread with
a Weak stored in various places in the DOM.

Testing: TBD
Fixes: #37969

@mrobinson
Copy link
Copy Markdown
Member Author

This change is pending on real world testing.

@mrobinson
Copy link
Copy Markdown
Member Author

@Narfinger Before this lands, if it does, I will properly add you as a co-author.

@mrobinson mrobinson added the T-linux-wpt Do a try run of the WPT label Nov 24, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Nov 24, 2025
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#19643534038) for Linux (WPT)

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt from try job (#19643534038):

Flaky unexpected result (68)
  • ERROR [expected OK] /FileAPI/idlharness.worker.html
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • TIMEOUT [expected PASS] subtest: Fetching a blob URL immediately before revoking it works in <script> tags.

      Test timed out
      

  • OK /IndexedDB/idbfactory_open.any.html
    • FAIL [expected PASS] subtest: Calling open() with version argument 1.5 should not throw.

      assert_equals: version expected 1 but got 9007199254740991
      

  • TIMEOUT [expected PASS] /_mozilla/css/iframe/navigation.html
  • OK /_mozilla/css/offset_properties_inline.html (#40543)
    • FAIL [expected PASS] subtest: offsetTop

      assert_equals: offsetTop of #inline-1 should be 0. expected 0 but got -1
      

    • FAIL [expected PASS] subtest: offsetLeft

      assert_equals: offsetLeft of #inline-2 should be 40. expected 40 but got 25
      

  • OK /_mozilla/mozilla/getBoundingClientRect.html (#39668)
    • FAIL [expected PASS] subtest: getBoundingClientRect 1

      assert_equals: expected 62 but got 60.35
      

  • CRASH [expected OK] /_mozilla/mozilla/img_load_more_than_cache.html
  • OK /_mozilla/webxr/create_session.https.html
    • FAIL [expected PASS] subtest: create_session

      can't access property "simulateDeviceConnection", navigator.xr.test is undefined
      

  • OK /_mozilla/webxr/obtain_frame.https.html
    • FAIL [expected PASS] subtest: obtain_frame

      promise_test: Unhandled rejection with value: object "TypeError: can't access property "simulateDeviceConnection", navigator.xr.test is undefined"
      

  • OK /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • PASS [expected FAIL] subtest: WebGL test #45
    • PASS [expected FAIL] subtest: WebGL test #47
    • PASS [expected FAIL] subtest: WebGL test #49
    • PASS [expected FAIL] subtest: WebGL test #51
    • FAIL [expected PASS] subtest: WebGL test #53

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #55

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #57

      assert_true: Texture was smaller than the expected size 2x2 expected true got false
      

    • FAIL [expected PASS] subtest: WebGL test #59

      assert_true: getError expected: INVALID_VALUE. Was NO_ERROR : when calling texSubImage2D with the same texture upload with offset 1, 1 expected true got false
      

    • PASS [expected FAIL] subtest: WebGL test #61
    • PASS [expected FAIL] subtest: WebGL test #63
    • And 18 more unexpected results...
  • CRASH [expected ERROR] /_webgl/conformance2/textures/misc/tex-input-validation.html (#38890)
  • CRASH [expected OK] /_webgl/conformance2/wasm/readpixels-2gb-in-4gb-wasm-memory.html
  • CRASH [expected OK] /content-security-policy/img-src/img-src-none-blocks-data-uri.html
  • CRASH [expected OK] /credential-management/idlharness.https.window.html
  • TIMEOUT [expected PASS] /css/CSS2/stacking-context/opacity-transition-change-parent-stacking-context.html
  • TIMEOUT [expected PASS] /css/css-animations/simultaneous-animations-crash.html
  • FAIL [expected PASS] /css/css-backgrounds/background-size-041.html
  • TIMEOUT [expected FAIL] /css/css-backgrounds/background-size/vector/wide--auto--omitted-width-omitted-height.html
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 10deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'

      assert_equals: Unexpected font on test element expected 487 but got 532
      

  • OK /css/cssom-view/getBoundingClientRect-empty-inline.html
    • FAIL [expected PASS] subtest: getBoundingClientRect-empty-inline

      assert_equals: y expected 92 but got 90.73333333333333
      

  • OK /custom-elements/form-associated/ElementInternals-setFormValue.html (#29174)
    • PASS [expected FAIL] subtest: Single value - empty name exists
    • PASS [expected FAIL] subtest: Single value - Non-empty name exists
    • PASS [expected FAIL] subtest: Multiple values - name content attribute is ignored
  • CRASH [expected OK] /dom/nodes/insertion-removing-steps/Node-appendChild-script-and-custom-from-fragment.tentative.html
  • TIMEOUT [expected OK] /fetch/api/redirect/redirect-keepalive.https.any.html (#32153)
    • TIMEOUT [expected PASS] subtest: [keepalive][iframe][load] mixed content redirect; setting up

      Test timed out
      

  • OK [expected ERROR] /focus/focus-event-after-switching-iframes.sub.html (#40368)
  • CRASH [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank'

      assert_unreached: load should not be fired Reached unreachable code
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • PASS [expected FAIL] subtest: Cross-origin navigation started from unload handler must be ignored
  • CRASH [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/location-assign.html
  • CRASH [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/window-open-popup.html
  • CRASH [expected TIMEOUT] /html/browsers/browsing-the-web/overlapping-navigations-and-traversals/same-document-nav-cross-document-traversal.html
  • CRASH [expected OK] /html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html
  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted

      assert_array_equals: Pages opened during history navigation expected property 1 to be 5 but got 3 (expected array [6, 5] got [6, 3])
      

  • CRASH [expected OK] /html/browsers/history/the-session-history-of-browsing-contexts/navigation-in-onload.html
  • CRASH [expected OK] /html/browsers/origin/origin-keyed-agent-clusters/2-iframes/parent-yes-child1-no-subdomain-child2-yes-subdomain.sub.https.html
  • CRASH [expected TIMEOUT] /html/browsers/origin/origin-keyed-agent-clusters/2-iframes/parent-yes-child1-no-subdomain-child2-yes-subdomain2.sub.https.html
  • CRASH [expected OK] /html/browsers/sandboxing/sandbox-new-execution-context.html
  • CRASH [expected OK] /html/browsers/the-window-object/named-access-on-the-window-object/nested-context.html
  • CRASH [expected OK] /html/browsers/windows/nested-browsing-contexts/frameElement-siblings.sub.html
  • TIMEOUT [expected PASS] /html/canvas/offscreen/reset/2d.reset.render.drop_shadow.w.html
  • CRASH [expected OK] /html/interaction/focus/focusgroup/tentative/forward-navigation/does-not-move-when-outside-focusgroup.html
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html (#28259)
    • TIMEOUT [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with "top" fragments should work.

      Test timed out
      

  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • FAIL [expected TIMEOUT] subtest: Element with tabindex should support autofocus

      assert_equals: expected "SPAN" but got "BODY"
      

    • PASS [expected NOTRUN] subtest: Non-HTMLElement should not support autofocus
    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      assert_equals: expected Element node <div autofocus=""></div> but got Element node <body><div autofocus=""></div></body>
      

    • TIMEOUT [expected NOTRUN] subtest: Host element with delegatesFocus including no focusable descendants should be skipped

      Test timed out
      

  • OK [expected TIMEOUT] /html/semantics/embedded-content/media-elements/src_object_blob.html (#40340)
    • PASS [expected TIMEOUT] subtest: HTMLMediaElement.srcObject blob
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-assign.html (#32863)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.assign

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?nav" but got "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?src"
      

  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-replace.html (#32604)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: location.replace

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?nav" but got "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?src"
      

  • TIMEOUT [expected PASS] /html/semantics/embedded-content/the-img-element/image-loading-lazy-subframe-detached-crash.html (#31572)
  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • FAIL [expected PASS] subtest: multipart/form-data: Basic test (formdata event)

      assert_equals: expected "\r\nContent-Disposition: form-data; name=\"basic\"\r\n\r\ntest\r\n--\r\n" but got ""
      

  • CRASH [expected OK] /html/semantics/forms/form-submission-0/submit-file.sub.html
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • FAIL [expected PASS] subtest: text/plain: Basic test (formdata event)

      assert_equals: expected "basic=test\r\n" but got ""
      

    • FAIL [expected PASS] subtest: text/plain: Basic File test (normal form)

      assert_equals: expected "basic=file-test.txt\r\n" but got ""
      

  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • FAIL [expected PASS] subtest: application/x-www-form-urlencoded: Basic File test (normal form)

      assert_equals: expected "basic=file-test.txt" but got ""
      

    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: 0x00 in name (formdata event)
  • CRASH [expected TIMEOUT] /html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html
  • TIMEOUT [expected ERROR] /html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html (#40347)
  • CRASH [expected OK] /html/semantics/scripting-1/the-script-element/execution-timing/049.html
  • OK [expected ERROR] /html/user-activation/no-activation-thru-escape-key.html (#40343)
  • OK /preload/preload-xhr.html (#39092)
    • FAIL [expected PASS] subtest: Make an XHR request immediately after creating link rel=preload.

      assert_equals: resources/dummy.xml?token=3f0c8c6c-d147-438d-abc7-7bd9c1b61ac4 expected 1 but got 0
      

  • CRASH [expected OK] /quirks/unitless-length/quirks.html
  • TIMEOUT [expected PASS] /resize-observer/iframe-same-origin.html
  • OK /service-workers/service-worker/fetch-event.https.html (#36234)
    • PASS [expected FAIL] subtest: Service Worker falls back to network in fetch event with POST form
  • CRASH [expected ERROR] /streams/readable-byte-streams/construct-byob-request.any.shadowrealm-in-sharedworker.html
  • CRASH [expected OK] /trusted-types/should-trusted-type-policy-creation-be-blocked-by-csp-001.html
  • OK [expected TIMEOUT] /trusted-types/trusted-types-navigation.html?06-10 (#37920)
    • PASS [expected TIMEOUT] subtest: Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.
    • FAIL [expected NOTRUN] subtest: Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in enforcing mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

    • FAIL [expected NOTRUN] subtest: Navigate a window via anchor with javascript:-urls w/ a default policy throwing an exception in report-only mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

  • CRASH [expected TIMEOUT] /upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag.https.html
  • CRASH [expected TIMEOUT] /wasm/webapi/empty-body.any.worker.html
  • CRASH [expected OK] /wasm/webapi/esm-integration/wasm-to-wasm-link-error.tentative.html
  • CRASH [expected OK] /webmessaging/message-channels/detached-iframe.window.html
  • OK /webxr/xrSession_features_deviceSupport.https.html (#24357)
    • FAIL [expected PASS] subtest: Immersive XRSession requests with no supported device should reject

      assert_unreached: Should have rejected: undefined Reached unreachable code
      

Stable unexpected results that are known to be intermittent (32)
  • OK /IndexedDB/idbobjectstore_getAll.any.html (#39276)
    • PASS [expected FAIL] subtest: Get all values with transaction.commit()
  • OK /IndexedDB/idbobjectstore_getAll.any.worker.html (#39400)
    • PASS [expected FAIL] subtest: Get all values with transaction.commit()
  • FAIL [expected PASS] /_mozilla/mozilla/sslfail.html (#10760)
  • TIMEOUT [expected OK] /_mozilla/mozilla/window_resize_event.html (#36741)
    • TIMEOUT [expected PASS] subtest: Popup onresize event fires after resizeTo

      Test timed out
      

  • OK /content-security-policy/frame-ancestors/frame-ancestors-path-ignored.window.html (#36468)
    • FAIL [expected PASS] subtest: A 'frame-ancestors' CSP directive with a URL that includes a path should be ignored.

      assert_unreached: The IFrame should have been blocked (or cross-origin). It wasn't. Reached unreachable code
      

  • TIMEOUT /content-security-policy/inheritance/location-reload.html (#38983)
    • PASS [expected FAIL] subtest: location.reload() of empty iframe.
  • OK /css/css-cascade/layer-font-face-override.html (#35935)
    • PASS [expected FAIL] subtest: @font-face override update with appended sheet 1
    • PASS [expected FAIL] subtest: @font-face override update with appended sheet 2
  • TIMEOUT [expected PASS] /css/css-color/animation/opacity-animation-ending-correctly-001.html (#29215)
  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted generic(khmer-mul)

      assert_equals: quoted generic(khmer-mul) matches  @font-face rule expected 50 but got 30
      

  • FAIL [expected PASS] /css/css-grid/grid-lanes/tentative/alignment/row-grid-lanes-align-self-003.html (#40833)
  • FAIL [expected PASS] /css/css-grid/grid-lanes/tentative/grid-placement/row-explicit-placement-004.html (#40834)
  • FAIL [expected PASS] /css/css-grid/masonry/tentative/subgrid/column/masonry-subgrid-002f.html (#40830)
  • TIMEOUT [expected FAIL] /css/css-ui/accent-color-invalidation-currentcolor.html (#28690)
  • OK /fetch/api/credentials/cookies.any.html (#40672)
    • FAIL [expected PASS] subtest: Include mode: 1 cookie

      assert_equals: Request include cookie(s) expected "a=1" but got "a=1; domain-attribute-matches-host=0"
      

    • FAIL [expected PASS] subtest: Include mode: 2 cookies

      assert_equals: Request include cookie(s) expected "b=2; c=3" but got "b=2; c=3; domain-attribute-matches-host=0"
      

    • FAIL [expected PASS] subtest: Omit mode: no cookie is stored

      assert_false: Request does not have cookie(s) expected false got true
      

    • FAIL [expected PASS] subtest: Same-origin mode: 1 cookie

      assert_equals: Request include cookie(s) expected "a=1" but got "a=1; domain-attribute-matches-host=0"
      

    • FAIL [expected PASS] subtest: Same-origin mode: 2 cookies

      assert_equals: Request include cookie(s) expected "b=2; c=3" but got "b=2; c=3; domain-attribute-matches-host=0"
      

  • OK /fetch/fetch-later/new-window.https.window.html (#32036)
    • FAIL [expected PASS] subtest: A same-origin window[target=''][features=''] can trigger fetchLater.

      assert_equals: Number of sent beacons does not match expected count: expected 1 but got 0
      

    • FAIL [expected PASS] subtest: A same-origin window[target=''][features='popup'] can trigger fetchLater.

      assert_equals: Number of sent beacons does not match expected count: expected 1 but got 0
      

    • FAIL [expected PASS] subtest: A same-origin window[target='_blank'][features=''] can trigger fetchLater.

      assert_equals: Number of sent beacons does not match expected count: expected 1 but got 0
      

    • FAIL [expected PASS] subtest: A same-origin window[target='_blank'][features='popup'] can trigger fetchLater.

      assert_equals: Number of sent beacons does not match expected count: expected 1 but got 0
      

  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-mode
    • PASS [expected FAIL] subtest: sec-fetch-user
    • FAIL [expected PASS] subtest: sec-fetch-storage-access - Cross-site

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • FAIL [expected PASS] subtest: sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • OK /fetch/metadata/generated/element-img-environment-change.https.sub.html (#30111)
    • PASS [expected FAIL] subtest: sec-fetch-site - Cross-site, no attributes
    • PASS [expected FAIL] subtest: sec-fetch-site - Same-Origin -> Same Origin, no attributes
    • PASS [expected FAIL] subtest: sec-fetch-mode - no attributes
    • FAIL [expected PASS] subtest: sec-fetch-mode - attributes: crossorigin

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

    • PASS [expected FAIL] subtest: sec-fetch-mode - attributes: crossorigin=anonymous
    • FAIL [expected PASS] subtest: sec-fetch-mode - attributes: crossorigin=use-credentials

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

    • PASS [expected FAIL] subtest: sec-fetch-dest - no attributes
  • OK /fetch/metadata/generated/element-img-environment-change.sub.html (#30111)
    • PASS [expected FAIL] subtest: sec-fetch-site - Not sent to non-trustworthy cross-site destination, no attributes
    • PASS [expected FAIL] subtest: sec-fetch-mode - Not sent to non-trustworthy cross-site destination, no attributes
    • PASS [expected FAIL] subtest: sec-fetch-dest - Not sent to non-trustworthy cross-site destination, no attributes
    • PASS [expected FAIL] subtest: sec-fetch-user - Not sent to non-trustworthy cross-site destination, no attributes
  • ERROR /fetch/metadata/generated/serviceworker.https.sub.html (#36247)
    • FAIL [expected PASS] subtest: sec-fetch-site - Same origin, no options - registration

      promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
      

  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html (#29087)
    • FAIL [expected TIMEOUT] subtest: <dialog>-contained autofocus element gets focused when the dialog is shown

      assert_equals: expected "DIV" but got "BODY"
      

  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/document-with-fragment-nonexistent.html (#28259)
    • TIMEOUT [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with non-existent fragments should work.

      Test timed out
      

  • TIMEOUT [expected PASS] /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-dynamic-oof-container-crash.html (#31444)
  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-2.html (#39703)
    • FAIL [expected PASS] subtest: Meta refresh of the original iframe is not blocked if moved into a sandboxed iframe

      uncaught exception: Error: assert_unreached: The iframe into which the meta was moved must not refresh Reached unreachable code
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • FAIL [expected PASS] subtest: Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd

      assert_true: Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd expected true got false
      

  • TIMEOUT [expected PASS] /png/apng/fcTL-blend-source-transparent.html (#39520)
  • TIMEOUT [expected FAIL] /png/apng/fcTL-dispose-background.html (#39224)
  • CRASH [expected OK] /pointerevents/compat/pointerevent_touch-action_two-finger_interaction.html (#40418)
  • OK /preload/preload-error.sub.html (#37177)
    • FAIL [expected PASS] subtest: success (fetch): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.xml?label=fetch should be loaded expected a number greater than 0 but got 0
      

  • OK [expected ERROR] /resource-timing/cors-preflight.any.html (#28694)
  • OK /trusted-types/trusted-types-navigation.html?01-05 (#38975)
    • FAIL [expected PASS] subtest: Navigate a frame via anchor with javascript:-urls in enforcing mode.

      promise_test: Unhandled rejection with value: "Unexpected message received: \"No securitypolicyviolation reported!\""
      

  • TIMEOUT [expected OK] /trusted-types/trusted-types-navigation.html?26-30 (#38807)
    • TIMEOUT [expected FAIL] subtest: Navigate a window via form-submission with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Navigate a window via form-submission with javascript:-urls w/ default policy in report-only mode.
    • NOTRUN [expected FAIL] subtest: Navigate a frame via form-submission with javascript:-urls in enforcing mode.
    • NOTRUN [expected PASS] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in enforcing mode.
Stable unexpected results (155)
  • TIMEOUT [expected PASS] /_mozilla/css/incremental_trailing_whitespace_a.html
  • TIMEOUT [expected PASS] /_mozilla/css/inline_block_opacity_change.html
  • TIMEOUT [expected PASS] /_mozilla/gfx-rs-gecko/downscale-2f.html
  • TIMEOUT [expected PASS] /_mozilla/mozilla/test-wait-crash.html
  • TIMEOUT [expected PASS] /css/CSS2/stacking-context/composite-change-after-scroll-preserves-stacking-order.html
  • TIMEOUT [expected PASS] /css/css-animations/crashtests/replace-keyframes-animating-filter-001.html
  • TIMEOUT [expected PASS] /css/css-animations/nested-scale-animations.html
  • TIMEOUT [expected PASS] /css/css-backgrounds/background-attachment-fixed-block-002.html
  • TIMEOUT [expected PASS] /css/css-backgrounds/background-attachment-fixed-inline-002.html
  • TIMEOUT [expected PASS] /css/css-backgrounds/background-attachment-local-block-002.html
  • TIMEOUT [expected PASS] /css/css-backgrounds/background-attachment-local-inline-002.html
  • TIMEOUT [expected PASS] /css/css-backgrounds/background-image-shared-stylesheet.html
  • TIMEOUT [expected PASS] /css/css-conditional/at-media-dynamic-001.html
  • TIMEOUT [expected FAIL] /css/css-conditional/container-queries/resize-while-content-visibility-hidden.html
  • TIMEOUT [expected FAIL] /css/css-fonts/font-display/font-display-feature-policy-02.tentative.html
  • TIMEOUT [expected FAIL] /css/css-fonts/font-display/font-display.html
  • TIMEOUT [expected PASS] /css/css-fonts/font-size-adjust-reload.html
  • TIMEOUT [expected FAIL] /css/css-images/object-view-box-property-changed.html
  • TIMEOUT [expected PASS] /css/css-lists/change-list-descendant-display.html
  • TIMEOUT [expected PASS] /css/css-lists/marker-dynamic-content-change.html
  • TIMEOUT [expected PASS] /css/css-overflow/add-scroller-then-scroll-content-into-view.html
  • TIMEOUT [expected PASS] /css/css-overflow/clipped-scroller-add-content.html
  • TIMEOUT [expected FAIL] /css/css-overflow/column-scroll-marker-002.html
  • TIMEOUT [expected PASS] /css/css-overflow/content-change-then-scroll-into-view.html
  • TIMEOUT [expected PASS] /css/css-overflow/document-element-overflow-hidden-scroll.html
  • TIMEOUT [expected PASS] /css/css-overflow/incremental-scroll-002.html
  • TIMEOUT [expected PASS] /css/css-overflow/incremental-scroll.html
  • TIMEOUT [expected PASS] /css/css-overflow/scroll-marker-focus-scroll-crash.html
  • TIMEOUT [expected PASS] /css/css-overflow/scroll-marker-with-content-visibility-hidden-ancestor-crash.html
  • TIMEOUT [expected PASS] /css/css-overflow/scroll-marker-with-content-visibility-hidden-crash.html
  • TIMEOUT [expected PASS] /css/css-overflow/scrollbar-gutter-dynamic-004.html
  • TIMEOUT [expected PASS] /css/css-overflow/text-overflow-ellipsis-003.html
  • TIMEOUT [expected PASS] /css/css-position/crashtests/scroll-tree-parent-construction.html
  • TIMEOUT [expected PASS] /css/css-position/position-fixed-scroll-overlap.html
  • TIMEOUT [expected FAIL] /css/css-shadow-parts/interaction-with-nested-pseudo-class.html
  • TIMEOUT [expected PASS] /css/css-text-decor/invalidation/text-decoration-thickness.html
  • TIMEOUT [expected PASS] /css/css-transforms/backface-visibility-hidden-animated-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/backface-visibility-hidden-animated-002.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-3d-scales-different-x-y-dynamic-001.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-3d-scales-different-x-y-dynamic-002.html
  • TIMEOUT [expected PASS] /css/css-transforms/transform-scroll-child-tweak-crash.html
  • TIMEOUT [expected PASS] /css/css-ui/outline-auto-dynamic-change.html
  • TIMEOUT [expected PASS] /css/css-ui/pointer-events-no-scrollbars-002.html
  • TIMEOUT [expected PASS] /css/css-values/vh-update-and-transition-in-subframe.html
  • TIMEOUT [expected PASS] /css/css-will-change/will-change-transform-huge-offset-scrolled.html
  • OK /css/cssom/MutationObserver-style.html
    • FAIL [expected PASS] subtest: Updating style property with the same value does not trigger an observation callback

      assert_equals: times callback called expected 1 but got 0
      

    • FAIL [expected PASS] subtest: Updating cssText triggers an observation callback even if the value is the same

      assert_equals: times callback called expected 1 but got 0
      

  • TIMEOUT [expected OK] /css/cssom/cssstyledeclaration-mutationrecord-001.html
    • NOTRUN [expected PASS] subtest: CSSStyleDeclaration.setPropertyValue queues a mutation record when serialization is changed
  • TIMEOUT [expected PASS] /css/filter-effects/backdrop-filter-root-toggle-crash.html
  • TIMEOUT [expected PASS] /css/mediaqueries/min-width-tables-001.html
  • TIMEOUT [expected FAIL] /css/selectors/has-display-none-checked.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-always-matches-negated-first-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-always-matches-negated-last-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-is-always-matches-negated-first-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-is-always-matches-negated-last-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-is-never-matches-negated-first-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-is-never-matches-negated-last-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-negated-first-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-negated-last-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-never-matches-negated-first-of-type-when-ancestor-changes.html
  • TIMEOUT [expected PASS] /css/selectors/invalidation/negated-never-matches-negated-last-of-type-when-ancestor-changes.html
  • TIMEOUT [expected FAIL] /css/selectors/remove-hovered-element.html
  • OK /custom-elements/form-associated/form-reset-callback.html
    • FAIL [expected PASS] subtest: Clicking a reset button invokes formResetCallback in a microtask

      assert_true: expected true got false
      

  • OK /custom-elements/microtasks-and-constructors.html
    • FAIL [expected PASS] subtest: Microtasks evaluate immediately when the stack is empty inside the parser

      assert_array_equals: lengths differ, expected array ["promise microtask", "MutationObserver microtask"] length 2, got ["promise microtask"] length 1
      

    • FAIL [expected PASS] subtest: Microtasks evaluate afterward when the stack is not empty using createElement()

      assert_array_equals: lengths differ, expected array ["after", "promise microtask", "MutationObserver microtask"] length 3, got ["after", "promise microtask"] length 2
      

    • FAIL [expected PASS] subtest: Microtasks evaluate afterward when the stack is not empty using the constructor

      assert_array_equals: lengths differ, expected array ["after", "promise microtask", "MutationObserver microtask"] length 3, got ["after", "promise microtask"] length 2
      

    • FAIL [expected PASS] subtest: Microtasks evaluate afterward when the stack is not empty due to upgrades

      assert_array_equals: lengths differ, expected array ["after", "promise microtask", "MutationObserver microtask"] length 3, got ["after", "promise microtask"] length 2
      

  • OK /custom-elements/perform-microtask-checkpoint-before-construction-xml-parser.xhtml
    • FAIL [expected PASS] subtest: XML parser must perform a microtask checkpoint before constructing a custom element

      assert_equals: expected 1 but got 0
      

  • OK /custom-elements/perform-microtask-checkpoint-before-construction.html
    • FAIL [expected PASS] subtest: HTML parser must perform a microtask checkpoint before constructing a custom element

      assert_equals: expected 1 but got 0
      

    • FAIL [expected PASS] subtest: HTML parser must perform a microtask checkpoint before constructing a custom element during the adoption agency algorithm

      assert_equals: expected 1 but got 0
      

  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-attributes.html
    • TIMEOUT [expected PASS] subtest: attributes Element.id: update, no oldValue, mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.id: update mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.id: empty string update mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.id: same value mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.unknown: IDL attribute no mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes HTMLInputElement.type: type update mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.className: new value mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.className: empty string update mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.className: same value mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: attributes Element.className: same multiple values mutation

      Test timed out
      

    • And 32 more unexpected results...
  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-callback-arguments.html
    • TIMEOUT [expected PASS] subtest: Callback is invoked with |this| value of MutationObserver and two arguments

      Test timed out
      

  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-characterData.html
    • TIMEOUT [expected PASS] subtest: characterData Text.data: simple mutation without oldValue

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.data: simple mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.appendData: simple mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.appendData: empty string mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.appendData: null string mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.insertData: simple mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.insertData: empty string mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.insertData: null string mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.deleteData: simple mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: characterData Text.deleteData: empty mutation

      Test timed out
      

    • And 9 more unexpected results...
  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-childList.html
    • TIMEOUT [expected PASS] subtest: childList Node.nodeValue: no mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.textContent: replace content mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.textContent: no previous content mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.textContent: textContent no mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.textContent: empty string mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.normalize mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.normalize mutations

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.insertBefore: addition mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.insertBefore: removal mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: childList Node.insertBefore: removal and addition mutations

      Test timed out
      

    • And 21 more unexpected results...
  • OK /dom/nodes/MutationObserver-cross-realm-callback-report-exception.html
    • FAIL [expected PASS] subtest: MutationObserver reports the exception from its callback in the callback's global object

      assert_array_equals: lengths differ, expected array ["frame1"] length 1, got [] length 0
      

  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-disconnect.html
    • TIMEOUT [expected PASS] subtest: subtree mutations

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: disconnect discarded some mutations

      Test timed out
      

  • OK /dom/nodes/MutationObserver-document.html
    • FAIL [expected PASS] subtest: parser insertion mutations

      assert_unreached: document observer did not trigger Reached unreachable code
      

    • FAIL [expected PASS] subtest: parser script insertion mutation

      assert_unreached: document observer did not trigger Reached unreachable code
      

    • FAIL [expected PASS] subtest: removal of parent during parsing

      assert_unreached: document observer did not trigger Reached unreachable code
      

  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-inner-outer.html
    • TIMEOUT [expected PASS] subtest: innerHTML mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: innerHTML with 2 children mutation

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: outerHTML mutation

      Test timed out
      

  • TIMEOUT [expected OK] /dom/nodes/MutationObserver-textContent.html
    • NOTRUN [expected PASS] subtest: Setting Element.textContent
    • TIMEOUT [expected PASS] subtest: Setting Element.textContent to the same value

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Setting Element.textContent to a different value

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Setting Element.textContent to the same value when the old node is a CDATASection

      Test timed out
      

  • TIMEOUT [expected OK] /dom/nodes/ParentNode-replaceChildren.html
    • TIMEOUT [expected PASS] subtest: Element.replaceChildren() should move nodes in the right order

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: DocumentFragment.replaceChildren() should move nodes in the right order

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: There should be a MutationRecord for the node removed from another parent node.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: There should be MutationRecords for the nodes removed from another parent node.

      Test timed out
      

  • OK /dom/nodes/insertion-removing-steps/insertion-removing-steps-iframe.window.html
    • FAIL [expected PASS] subtest: Removing steps (innerHTML): script does not run synchronously during iframe destruction

      assert_true: MO callback is invoked asynchronously after removals expected true got false
      

    • FAIL [expected PASS] subtest: Removing steps (replaceChildren): script does not run synchronously during iframe destruction

      assert_true: MO callback is invoked asynchronously after removals expected true got false
      

  • TIMEOUT [expected PASS] /fullscreen/crashtests/chrome-1312699.html
  • TIMEOUT [expected PASS] /fullscreen/crashtests/content-visibility-crash.html
  • TIMEOUT [expected FAIL] /fullscreen/rendering/backdrop-iframe.html
  • TIMEOUT [expected FAIL] /fullscreen/rendering/backdrop-inherit.html
  • TIMEOUT [expected FAIL] /fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-hidden.html
  • TIMEOUT [expected FAIL] /fullscreen/rendering/exit-fullscreen-scroll-to-unscrollable-area-overflow-x-hidden.html
  • TIMEOUT [expected FAIL] /html/canvas/element/manual/drawing-images-to-the-canvas/image-orientation/drawImage-from-blob.tentative.html
  • TIMEOUT [expected PASS] /html/dom/elements/global-attributes/dir-auto-dynamic-simple-dataChange.html
  • TIMEOUT [expected PASS] /html/dom/elements/global-attributes/dir-auto-dynamic-simple-replace.html
  • TIMEOUT [expected PASS] /html/dom/elements/global-attributes/dir-auto-dynamic-simple-textContent.html
  • TIMEOUT [expected OK] /html/dom/render-blocking/remove-attr-script-keeps-blocking.html
    • NOTRUN [expected PASS] subtest: Rendering is blocked before render-blocking resources are loaded
    • NOTRUN [expected PASS] subtest: Render-blocking script is loaded and evaluated
  • TIMEOUT [expected OK] /html/dom/render-blocking/remove-attr-style-keeps-blocking.html
    • NOTRUN [expected FAIL] subtest: Rendering is blocked before render-blocking resources are loaded
    • NOTRUN [expected PASS] subtest: Render-blocking stylesheet is applied
  • TIMEOUT [expected OK] /html/dom/render-blocking/remove-attr-stylesheet-link-keeps-blocking.html
    • NOTRUN [expected PASS] subtest: Rendering is blocked before render-blocking resources are loaded
    • NOTRUN [expected PASS] subtest: Render-blocking stylesheet is applied
  • TIMEOUT [expected PASS] /html/editing/the-hidden-attribute/hidden-until-found-007.html
  • TIMEOUT [expected PASS] /html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/crashtests/fieldset-middleclick.html
  • TIMEOUT [expected PASS] /html/rendering/replaced-elements/embedded-content-rendering-rules/canvas-update-with-border-object-fit.html
  • TIMEOUT [expected PASS] /html/rendering/widgets/the-select-element/select-invalidation.html
  • TIMEOUT [expected PASS] /html/semantics/embedded-content/the-img-element/animated-image-update.tentative.html
  • TIMEOUT [expected PASS] /html/semantics/embedded-content/the-img-element/animated-webp-update.tentative.html
  • TIMEOUT [expected PASS] /html/semantics/embedded-content/the-img-element/image-loading-lazy-data-url-to-https.html
  • TIMEOUT [expected PASS] /html/semantics/embedded-content/the-object-element/object-param-url.html
  • TIMEOUT [expected FAIL] /html/semantics/forms/the-option-element/dynamic-content-change-rendering.html
  • TIMEOUT [expected FAIL] /html/semantics/forms/the-select-element/customizable-select/select-appearance-active.html
  • TIMEOUT [expected FAIL] /html/semantics/forms/the-select-element/customizable-select/select-appearance-hover.html
  • TIMEOUT [expected FAIL] /html/semantics/forms/the-select-element/customizable-select/select-open-invalidation.html
  • TIMEOUT [expected FAIL] /html/semantics/forms/the-select-element/reset-algorithm-rendering.html
  • ERROR /html/semantics/interactive-elements/the-dialog-element/toggle-events.html
    • FAIL [expected PASS] subtest: dialog.show() should not double-set open/close if beforetoggle re-opens

      assert_equals: Should have set open once expected 1 but got 0
      

    • NOTRUN [expected FAIL] subtest: dialog.showModal() should fire beforetoggle and toggle events.
    • NOTRUN [expected FAIL] subtest: dialog.showModal() should fire cancelable beforetoggle which does not open dialog if canceled
    • NOTRUN [expected FAIL] subtest: dialog.showModal() should coalesce asynchronous toggle events.
    • NOTRUN [expected PASS] subtest: dialog.showModal() should not double-set open/close if beforetoggle re-opens
    • NOTRUN [expected FAIL] subtest: dialog.showModal() should not open if beforetoggle removes
    • NOTRUN [expected FAIL] subtest: dialog.showModal() should not open if beforetoggle calls showPopover
  • TIMEOUT [expected FAIL] /html/semantics/interestfor/interestfor-plain-inline-element.tentative.html
  • OK /html/webappapis/dynamic-markup-insertion/document-write/mutation-observer.html
    • FAIL [expected PASS] subtest: Mutation observer for classic script element

      assert_unreached: script should not run Reached unreachable code
      

    • FAIL [expected PASS] subtest: Mutation observer for module script element

      assert_unreached: script should not run Reached unreachable code
      

    • FAIL [expected PASS] subtest: Mutation observer for async script element

      assert_unreached: script should not run Reached unreachable code
      

    • FAIL [expected PASS] subtest: Mutation observer for defer script element

      assert_unreached: script should not run Reached unreachable code
      

  • CRASH [expected OK] /html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window.html
  • ERROR [expected OK] /html/webappapis/microtask-queuing/queue-microtask.window.html
    • TIMEOUT [expected PASS] subtest: It interleaves with MutationObservers as expected

      Test timed out
      

    • NOTRUN [expected PASS] subtest: It interleaves with MutationObservers and promises together as expected
  • OK /html/webappapis/scripting/event-loops/microtask_before_prepare_the_script_element-01.html
    • FAIL [expected PASS] subtest: Microtask before prepare-the-script-element steps

      assert_false: Classic script should not run expected false got true
      

  • OK /html/webappapis/scripting/event-loops/microtask_before_prepare_the_script_element-02.xhtml
    • FAIL [expected PASS] subtest: Microtask before prepare-the-script-element steps

      assert_false: Classic script should not run expected false got true
      

  • TIMEOUT [expected OK] /html/webappapis/scripting/event-loops/task_microtask_ordering.html
    • TIMEOUT [expected PASS] subtest: Level 1 bossfight (synthetic click)

      Test timed out
      

  • TIMEOUT [expected OK] /html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html
    • TIMEOUT [expected PASS] subtest: unhandledrejection: from a throw in a rejection handler attached one microtask after a setTimeout-delayed rejection

      Test timed out
      

    • FAIL [expected PASS] subtest: delayed handling: a microtask delay before attaching a handler prevents both events (Promise.reject-created promise)

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: delayed handling: a microtask delay before attaching a handler prevents both events (immediately-rejected new Promise-created promise)

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, all inside a queueTask

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, all inside a setTimeout

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, all inside a queueTask

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, all inside a setTimeout

      assert_unreached: unhandledrejection event is not supposed to be triggered Reached unreachable code
      

    • FAIL [expected PASS] subtest: mutationObserverMicrotask vs. queueTask ordering is not disturbed inside unhandledrejection events

      assert_array_equals: lengths differ, expected array [1, 2] length 2, got [2] length 1
      

  • TIMEOUT [expected FAIL] /png/apng/acTL-plays-one.html
  • TIMEOUT [expected FAIL] /png/apng/acTL-plays-two.html
  • TIMEOUT [expected FAIL] /png/apng/fDAT-inherits-cICP.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-acTL-ordering.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-blend-over-repeatedly.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-blend-over-solid.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-blend-source-nearly-transparent.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-blend-source-solid.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-background-final.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-before-region-background.html
  • TIMEOUT [expected FAIL] /png/apng/fcTL-dispose-in-region-background.html
  • TIMEOUT [expected FAIL] /png/apng/fcTL-dispose-in-region-none.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-in-region-previous.html
  • TIMEOUT [expected FAIL] /png/apng/fcTL-dispose-none.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-previous-final.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-previous-first.html
  • TIMEOUT [expected PASS] /png/apng/fcTL-dispose-previous.html
  • TIMEOUT [expected FAIL] /png/apng/fdAT-16bit.html
  • TIMEOUT [expected FAIL] /png/apng/fdAT-1bit-PLTE-tRNS.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-1bit-PLTE.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-2bit-PLTE-tRNS.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-8bit-gray-alpha.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-8bit-gray.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-split-basic.html
  • TIMEOUT [expected PASS] /png/apng/fdAT-split-zero-length.html
  • TIMEOUT [expected PASS] /png/apng/first-frame-IDAT.html
  • TIMEOUT [expected PASS] /png/apng/first-frame-not-IDAT.html
  • TIMEOUT [expected PASS] /selection/shadow-dom/cross-shadow-boundary-6.html
  • TIMEOUT [expected PASS] /shadow-dom/crashtests/move-to-new-tree-1343016.html
  • OK /shadow-dom/declarative/declarative-after-attachshadow.html
    • FAIL [expected PASS] subtest: Declarative Shadow DOM: declarative shadow should fail if attachShadow() already called

      assert_true: expected true got false
      

  • OK /shadow-dom/declarative/innerhtml-before-closing-tag.html
    • FAIL [expected PASS] subtest: Declarative Shadow DOM: innerHTML should work while parsing streaming declarative shadow root <template>

      assert_true: The innerHTML replacement content should be present expected true got false
      

  • ERROR [expected OK] /shadow-dom/declarative/innerhtml-on-ordinary-template.html
  • OK /shadow-dom/declarative/move-template-before-closing-tag.html
    • FAIL [expected PASS] subtest: Moving the template node from invalid parent to valid parent should still not attach

      assert_true: Old host should not contain children expected true got false
      

  • OK /shadow-dom/declarative/script-access.html
    • FAIL [expected PASS] subtest: Streaming Declarative Shadow DOM: template .content() should be null

      assert_equals: expected 3 but got 0
      

  • TIMEOUT /shadow-dom/imperative-slot-api-slotchange.html
    • TIMEOUT [expected PASS] subtest: slotchange event must not fire synchronously.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event should not fire when same node is assigned.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Fire slotchange event when slot's assigned nodes changes.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Fire slotchange event on previous slot and new slot when node is reassigned.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Fire slotchange event on node assignment and when assigned node is removed.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Fire slotchange event when order of assigned nodes changes.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: Fire slotchange event when assigned node is removed.

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Fire slotchange event when removing a slot from Shadows Root that changes its assigned nodes.
    • NOTRUN [expected PASS] subtest: Signal a slot change should be done in tree order.
  • OK /shadow-dom/slotchange-customelements.html
    • FAIL [expected PASS] subtest: slotchange must fire on initialization of custom elements with slotted children

      assert_true: expected true got false
      

  • OK /shadow-dom/slotchange-event.html
    • FAIL [expected PASS] subtest: slotchange event must fire on a default slot element inside an open shadow root in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a default slot element inside a closed shadow root in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a default slot element inside an open shadow root not in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a default slot element inside a closed shadow root not in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a named slot element insidean open shadow root in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a named slot element insidea closed shadow root in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a named slot element insidean open shadow root not in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must fire on a named slot element insidea closed shadow root not in a document

      assert_equals: slotchange must be fired exactly once after the assigned nodes changed expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must not fire on a slot element inside an open shadow root in a document when another slot's assigned nodes change

      assert_equals: slotchange must be fired exactly once after the assigned nodes change on a default slot expected 1 but got 0
      

    • FAIL [expected PASS] subtest: slotchange event must not fire on a slot element inside a closed shadow root in a document when another slot's assigned nodes change

      assert_equals: slotchange must be fired exactly once after the assigned nodes change on a default slot expected 1 but got 0
      

    • And 14 more unexpected results...
  • TIMEOUT [expected OK] /shadow-dom/slotchange.html
    • TIMEOUT [expected PASS] subtest: slotchange event: Append a child to a host.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Remove a child from a host.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Remove a child before adding an event listener.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Change slot= attribute to make it un-assigned.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Change slot's name= attribute so that none is assigned.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Change slot= attribute to make it assigned.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Change slot's name= attribute so that a node is assigned to the slot.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Change fallback content - assignedNodes still empty.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Remove a fallback content - assignedNodes still empty.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: slotchange event: Add a fallback content to nested slots - assignedNodes still empty.

      Test timed out
      

    • And 6 more unexpected results...
  • TIMEOUT [expected FAIL] /svg/interact/use-instance-hover.html
  • TIMEOUT [expected OK] /trusted-types/block-string-assignment-to-Element-setAttribute.html
    • TIMEOUT [expected PASS] subtest: script.src's mutationobservers receive the default policy's value.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: iframe.srcdoc's mutationobservers receive the default policy's value.

      Test timed out
      

    • TIMEOUT [expected PASS] subtest: div.onclick's mutationobservers receive the default policy's value.

      Test timed out
      

  • TIMEOUT [expected PASS] /uievents/mouse/crashtests/retrieve_coords_after_moving_target_outside_subdoc_and_hide_the_subdoc.html
  • OK /webxr/xrDevice_requestSession_immersive_no_gesture.https.html
    • PASS [expected FAIL] subtest: Requesting immersive session outside of a user gesture rejects
  • OK /webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html
    • FAIL [expected PASS] subtest: Tests requestSession rejects for unknown requiredFeatures

      promise_rejects_dom: unexpected requestSession success with unknown object function "function() { throw e; }" threw object "SecurityError: The operation is insecure." that is not a DOMException NotSupportedError: property "code" is equal to 18, expected 9
      

  • OK /webxr/xrSession_requestSessionDuringEnd.https.html
    • FAIL [expected PASS] subtest: Create mew session in end promise - webgl

      assert_unreached: Session creation should not throw: SecurityError: The operation is insecure. Reached unreachable code
      

    • FAIL [expected PASS] subtest: Create mew session in end promise - webgl2

      assert_unreached: Session creation should not throw: SecurityError: The operation is insecure. Reached unreachable code
      

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#19643534038) failed.

@jschwe jschwe added the T-ohos Do a try run on OpenHarmony label Nov 24, 2025
@github-actions github-actions bot removed the T-ohos Do a try run on OpenHarmony label Nov 24, 2025
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#19645805614) for OpenHarmony

@github-actions
Copy link
Copy Markdown

🐰 Bencher Report

Branch40864/PR
TestbedHUAWEI Mate 60 Pro

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkDataMeasure (units) x 1e3Latencymilliseconds (ms)MemoryBytesscoreMeasure (units)
release/E2E/file:///parse_from_string.html/📈 view plot
⚠️ NO THRESHOLD
1.77 units x 1e3
release/E2E/https://www.google.com/JS/gc-heap/admin📈 view plot
⚠️ NO THRESHOLD
26,752.00
release/E2E/https://www.google.com/JS/gc-heap/decommitted📈 view plot
⚠️ NO THRESHOLD
409,600.00
release/E2E/https://www.google.com/JS/gc-heap/unused📈 view plot
⚠️ NO THRESHOLD
136,016.00
release/E2E/https://www.google.com/JS/gc-heap/used📈 view plot
⚠️ NO THRESHOLD
476,208.00
release/E2E/https://www.google.com/JS/malloc-heap📈 view plot
⚠️ NO THRESHOLD
5,053,039.00
release/E2E/https://www.google.com/JS/non-heap📈 view plot
⚠️ NO THRESHOLD
262,144.00
release/E2E/https://www.google.com/LayoutThread/box-tree📈 view plot
⚠️ NO THRESHOLD
108,744.00
release/E2E/https://www.google.com/LayoutThread/display-list📈 view plot
⚠️ NO THRESHOLD
0.00
release/E2E/https://www.google.com/LayoutThread/font-context📈 view plot
⚠️ NO THRESHOLD
9,288.00
release/E2E/https://www.google.com/LayoutThread/fragment-tree📈 view plot
⚠️ NO THRESHOLD
112.00
release/E2E/https://www.google.com/LayoutThread/stacking-context-tree📈 view plot
⚠️ NO THRESHOLD
14,080.00
release/E2E/https://www.google.com/LayoutThread/stylist📈 view plot
⚠️ NO THRESHOLD
5,504.00
release/E2E/https://www.google.com/Load📈 view plot
⚠️ NO THRESHOLD
629.57 ms
release/E2E/https://www.google.com/Resident📈 view plot
⚠️ NO THRESHOLD
182,926,540.00
release/E2E/https://www.google.com/image-cache📈 view plot
⚠️ NO THRESHOLD
2,328.00
release/E2E/https://www.google.com/resident-smaps📈 view plot
⚠️ NO THRESHOLD
185,615,155.00
release/E2E/https://www.servo.org/Load📈 view plot
⚠️ NO THRESHOLD
871.38 ms
release/E2E/https://www.servo.org/Resident📈 view plot
⚠️ NO THRESHOLD
371,983,155.00
release/E2E/https://www.servo.org/resident-smaps📈 view plot
⚠️ NO THRESHOLD
378,208,256.00
release/Speedometer/Charts-observable-plot📈 view plot
⚠️ NO THRESHOLD
719.02 ms
release/Speedometer/Charts-observable-plot/Dotted📈 view plot
⚠️ NO THRESHOLD
87.58 ms
release/Speedometer/Charts-observable-plot/Dotted/Async📈 view plot
⚠️ NO THRESHOLD
10.29 ms
release/Speedometer/Charts-observable-plot/Dotted/Sync📈 view plot
⚠️ NO THRESHOLD
77.29 ms
release/Speedometer/Charts-observable-plot/Stacked by 20📈 view plot
⚠️ NO THRESHOLD
351.44 ms
release/Speedometer/Charts-observable-plot/Stacked by 20/Async📈 view plot
⚠️ NO THRESHOLD
17.65 ms
release/Speedometer/Charts-observable-plot/Stacked by 20/Sync📈 view plot
⚠️ NO THRESHOLD
333.79 ms
release/Speedometer/Charts-observable-plot/Stacked by 6📈 view plot
⚠️ NO THRESHOLD
280.01 ms
release/Speedometer/Charts-observable-plot/Stacked by 6/Async📈 view plot
⚠️ NO THRESHOLD
9.66 ms
release/Speedometer/Charts-observable-plot/Stacked by 6/Sync📈 view plot
⚠️ NO THRESHOLD
270.35 ms
release/Speedometer/Geomean📈 view plot
⚠️ NO THRESHOLD
630.90 ms
release/Speedometer/Iteration-0-Total📈 view plot
⚠️ NO THRESHOLD
823.45 ms
release/Speedometer/Iteration-1-Total📈 view plot
⚠️ NO THRESHOLD
785.26 ms
release/Speedometer/Iteration-2-Total📈 view plot
⚠️ NO THRESHOLD
798.59 ms
release/Speedometer/Iteration-3-Total📈 view plot
⚠️ NO THRESHOLD
799.74 ms
release/Speedometer/Iteration-4-Total📈 view plot
⚠️ NO THRESHOLD
795.34 ms
release/Speedometer/Iteration-5-Total📈 view plot
⚠️ NO THRESHOLD
796.00 ms
release/Speedometer/Iteration-6-Total📈 view plot
⚠️ NO THRESHOLD
797.93 ms
release/Speedometer/Iteration-7-Total📈 view plot
⚠️ NO THRESHOLD
1,016.40 ms
release/Speedometer/Iteration-8-Total📈 view plot
⚠️ NO THRESHOLD
1,044.68 ms
release/Speedometer/Iteration-9-Total📈 view plot
⚠️ NO THRESHOLD
1,051.05 ms
release/Speedometer/Score📈 view plot
⚠️ NO THRESHOLD
1.60 units
release/Speedometer/TodoMVC-Angular📈 view plot
⚠️ NO THRESHOLD
886.33 ms
release/Speedometer/TodoMVC-Angular/Adding100Items📈 view plot
⚠️ NO THRESHOLD
425.44 ms
release/Speedometer/TodoMVC-Angular/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
30.90 ms
release/Speedometer/TodoMVC-Angular/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
394.54 ms
release/Speedometer/TodoMVC-Angular/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
285.57 ms
release/Speedometer/TodoMVC-Angular/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
35.38 ms
release/Speedometer/TodoMVC-Angular/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
250.19 ms
release/Speedometer/TodoMVC-Angular/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
175.31 ms
release/Speedometer/TodoMVC-Angular/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
6.55 ms
release/Speedometer/TodoMVC-Angular/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
168.77 ms
release/Speedometer/TodoMVC-JavaScript-ES5📈 view plot
⚠️ NO THRESHOLD
1,340.88 ms
release/Speedometer/TodoMVC-JavaScript-ES5/Adding100Items📈 view plot
⚠️ NO THRESHOLD
1,092.19 ms
release/Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
51.76 ms
release/Speedometer/TodoMVC-JavaScript-ES5/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
1,040.43 ms
release/Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
157.69 ms
release/Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
29.21 ms
release/Speedometer/TodoMVC-JavaScript-ES5/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
128.48 ms
release/Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
91.01 ms
release/Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
7.44 ms
release/Speedometer/TodoMVC-JavaScript-ES5/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
83.57 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack📈 view plot
⚠️ NO THRESHOLD
1,938.72 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items📈 view plot
⚠️ NO THRESHOLD
1,572.20 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
35.44 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
1,536.77 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
231.47 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
34.31 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
197.16 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
135.05 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
7.53 ms
release/Speedometer/TodoMVC-JavaScript-ES6-Webpack/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
127.52 ms
release/Speedometer/TodoMVC-Preact📈 view plot
⚠️ NO THRESHOLD
144.22 ms
release/Speedometer/TodoMVC-Preact/Adding100Items📈 view plot
⚠️ NO THRESHOLD
72.68 ms
release/Speedometer/TodoMVC-Preact/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
65.78 ms
release/Speedometer/TodoMVC-Preact/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
6.90 ms
release/Speedometer/TodoMVC-Preact/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
56.92 ms
release/Speedometer/TodoMVC-Preact/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
45.89 ms
release/Speedometer/TodoMVC-Preact/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
11.03 ms
release/Speedometer/TodoMVC-Preact/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
14.62 ms
release/Speedometer/TodoMVC-Preact/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
9.29 ms
release/Speedometer/TodoMVC-Preact/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
5.32 ms
release/Speedometer/TodoMVC-React📈 view plot
⚠️ NO THRESHOLD
810.40 ms
release/Speedometer/TodoMVC-React-Redux📈 view plot
⚠️ NO THRESHOLD
994.78 ms
release/Speedometer/TodoMVC-React-Redux/Adding100Items📈 view plot
⚠️ NO THRESHOLD
322.11 ms
release/Speedometer/TodoMVC-React-Redux/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
33.14 ms
release/Speedometer/TodoMVC-React-Redux/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
288.97 ms
release/Speedometer/TodoMVC-React-Redux/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
441.49 ms
release/Speedometer/TodoMVC-React-Redux/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
38.62 ms
release/Speedometer/TodoMVC-React-Redux/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
402.87 ms
release/Speedometer/TodoMVC-React-Redux/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
231.18 ms
release/Speedometer/TodoMVC-React-Redux/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
8.55 ms
release/Speedometer/TodoMVC-React-Redux/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
222.63 ms
release/Speedometer/TodoMVC-React/Adding100Items📈 view plot
⚠️ NO THRESHOLD
289.09 ms
release/Speedometer/TodoMVC-React/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
37.17 ms
release/Speedometer/TodoMVC-React/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
251.92 ms
release/Speedometer/TodoMVC-React/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
333.45 ms
release/Speedometer/TodoMVC-React/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
36.24 ms
release/Speedometer/TodoMVC-React/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
297.22 ms
release/Speedometer/TodoMVC-React/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
187.86 ms
release/Speedometer/TodoMVC-React/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
7.87 ms
release/Speedometer/TodoMVC-React/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
179.99 ms
release/Speedometer/TodoMVC-Svelte📈 view plot
⚠️ NO THRESHOLD
132.39 ms
release/Speedometer/TodoMVC-Svelte/Adding100Items📈 view plot
⚠️ NO THRESHOLD
73.29 ms
release/Speedometer/TodoMVC-Svelte/Adding100Items/Async📈 view plot
⚠️ NO THRESHOLD
57.23 ms
release/Speedometer/TodoMVC-Svelte/Adding100Items/Sync📈 view plot
⚠️ NO THRESHOLD
16.06 ms
release/Speedometer/TodoMVC-Svelte/CompletingAllItems📈 view plot
⚠️ NO THRESHOLD
44.63 ms
release/Speedometer/TodoMVC-Svelte/CompletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
36.56 ms
release/Speedometer/TodoMVC-Svelte/CompletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
8.07 ms
release/Speedometer/TodoMVC-Svelte/DeletingAllItems📈 view plot
⚠️ NO THRESHOLD
14.47 ms
release/Speedometer/TodoMVC-Svelte/DeletingAllItems/Async📈 view plot
⚠️ NO THRESHOLD
10.16 ms
release/Speedometer/TodoMVC-Svelte/DeletingAllItems/Sync📈 view plot
⚠️ NO THRESHOLD
4.31 ms
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link
Copy Markdown

✨ Try run (#19645805614) succeeded.

@Narfinger
Copy link
Copy Markdown
Contributor

Narfinger commented Nov 26, 2025

Sorry for the wait time, I think this is an improvement on restricted devices. Here is the data (avg, min, max):

Also this was only a load test, so I assume interaction tests would show more improvements but are harder to test.

@mrobinson
Copy link
Copy Markdown
Member Author

@Narfinger Thanks for the timing information! I'll try to clean this up and get the tests passing.

Co-authored-by: Narfinger <[email protected]>
Signed-off-by: Martin Robinson <[email protected]>
@mrobinson
Copy link
Copy Markdown
Member Author

I've rebased this, but it needs a bit more work as it causes quite a few timeouts. My proposal is that we land it bit by bit.

@mrobinson
Copy link
Copy Markdown
Member Author

Going to close this and try to land it iteratively.

@mrobinson mrobinson closed this Jan 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ScriptThread access via TLS is slow

3 participants