Skip to content

script: Reload the page when an incompatible encoding is detected during parsing#41430

Closed
simonwuelker wants to merge 7 commits intoservo:mainfrom
simonwuelker:encoding-indicator-2
Closed

script: Reload the page when an incompatible encoding is detected during parsing#41430
simonwuelker wants to merge 7 commits intoservo:mainfrom
simonwuelker:encoding-indicator-2

Conversation

@simonwuelker
Copy link
Copy Markdown
Contributor

@simonwuelker simonwuelker commented Dec 20, 2025

This continues #41376. With this change servo will properly parse <meta charset> and <meta http-equiv="content-type"> tags and reload the page when appropriate.

Encoding hints encountered during dynamic markup insertion (such as document.write) or when the encoding does not matter (such as during DOMParser.parseFromString) are ignored.

@jdm I've added you as a co-author on the commit, since I used https://gist.github.com/jdm/1f08c1b8b3c33d3f5c44882a1b5eb822 which you posted earlier this year on zulip.

Companion PR for servo/html5ever#702
Fixes #24898
Closes #6414

@simonwuelker simonwuelker force-pushed the encoding-indicator-2 branch 2 times, most recently from 733abfc to e38dd9b Compare December 20, 2025 15:01
@simonwuelker simonwuelker added the T-linux-wpt Do a try run of the WPT label Dec 20, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Dec 20, 2025
@github-actions
Copy link
Copy Markdown

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

Comment on lines 113 to 119
ServoParser::parse_html_document(
&document,
Some(compliant_string),
url,
None,
EncodingInformation::UnknownOrIrrelevant,
can_gc,
);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Parse HTML from a string" should not need an encoding but we currently use ServoParser::parse_html_document for everything, even parsing network input.

I'll probably fix this in a followup.

@github-actions
Copy link
Copy Markdown

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

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

      assert_equals: expected 62 but got 60.35
      

  • 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"
      

  • ERROR [expected TIMEOUT] /_mozilla/webxr/sessionavailable.https.html
  • 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
      

  • OK /css/css-animations/event-order.tentative.html (#39000)
    • PASS [expected FAIL] subtest: Same events on pseudo-elements follow the prescribed order
  • TIMEOUT [expected FAIL] /css/css-backgrounds/background-size/vector/background-size-vector-003.html
  • OK /custom-elements/form-associated/ElementInternals-setFormValue.html (#29174)
    • PASS [expected FAIL] subtest: Single value - Non-empty name exists
  • CRASH [expected ERROR] /html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-reload-navigation.html
  • OK /html/browsers/browsing-the-web/navigating-across-documents/005.html (#27062)
    • PASS [expected FAIL] subtest: Link with onclick navigation and href navigation
  • 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
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html (#29087)
    • TIMEOUT [expected FAIL] subtest: &lt;dialog&gt;-contained autofocus element gets focused when the dialog is shown

      Test timed out
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html (#41221)
    • FAIL [expected TIMEOUT] subtest: Feature-Policy header: autoplay "none" disallows same-origin iframes.

      assert_false: autoplay expected false got true
      

  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • OK /html/semantics/forms/form-submission-0/jsurl-form-submit.tentative.html (#36489)
    • PASS [expected FAIL] subtest: Verifies that form submissions scheduled inside javascript: urls take precedence over the javascript: url's return value.
  • 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 ""
      

  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • FAIL [expected PASS] subtest: text/plain: Basic File test (normal form)

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

    • PASS [expected FAIL] subtest: text/plain: Basic File test (formdata event)
    • PASS [expected FAIL] subtest: text/plain: 0x00 in value (formdata event)
  • 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 (normal form)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: 0x00 in value (formdata event)
  • OK /html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.html (#33948)
    • FAIL [expected PASS] subtest: Revoking a blob URL immediately after calling import will not fail

      promise_test: Unhandled rejection with value: object "TypeError: Dynamic import failed"
      

  • OK [expected ERROR] /html/user-activation/no-activation-thru-escape-key.html (#40343)
  • CRASH [expected OK] /import-maps/multiple-import-maps/url-resolution-conflict.html
  • PASS [expected FAIL] /png/apng/fcTL-dispose-none.html
  • OK /preload/preload-invalid-resources.html (#39091)
    • PASS [expected FAIL] subtest: Preloading an invalid image (missing) should preload and not re-fetch
  • 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=79915514-4b82-49b1-b1d1-583afa566488 expected 1 but got 0
      

  • CRASH [expected OK] /trusted-types/block-string-assignment-to-DedicatedWorker-setTimeout-setInterval.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!\""
      

  • TIMEOUT /trusted-types/trusted-types-navigation.html?31-35 (#38034)
    • TIMEOUT [expected PASS] subtest: Navigate a frame via form-submission with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.
  • CRASH [expected OK] /upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic.https.html
  • CRASH [expected OK] /webaudio/the-audio-api/the-convolvernode-interface/active-processing.https.html
  • OK /webdriver/tests/classic/navigate_to/navigate.py
    • FAIL [expected PASS] subtest: test_utf8_meta_tag_after_1024_bytes

      AssertionError: assert None == 'bar'
      

  • CRASH [expected OK] /webxr/xrSession_sameObject.https.html
  • ERROR [expected OK] /workers/baseurl/alpha/sharedworker-in-worker.html (#21315)
Stable unexpected results that are known to be intermittent (28)
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • PASS [expected TIMEOUT] subtest: Fetching a blob URL immediately before revoking it works in &lt;script&gt; tags.
  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • 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()
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.html (#38895)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.worker.html (#38971)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/key-conversion-exceptions.any.html (#39305)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/key-conversion-exceptions.any.worker.html (#39284)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • 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
      

  • TIMEOUT /content-security-policy/inheritance/location-reload.html (#38983)
    • FAIL [expected PASS] subtest: location.reload() of empty iframe.

      assert_equals: Image should be blocked by CSP after reload. expected "img blocked" but got "img loaded"
      

  • OK /css/css-fonts/generic-family-keywords-003.html (#38994)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted ui-serif (drawing text in a canvas)
  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/empty-payload.https.window.html (#35176)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-site - Cross-Site -&gt; Same Origin
    • PASS [expected FAIL] subtest: sec-fetch-dest
    • PASS [expected FAIL] subtest: sec-fetch-user
  • 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 /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • PASS [expected FAIL] subtest: Same-origin navigation started from unload handler must be ignored
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?thereplacement" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&amp;code=%0A%20%20%20%20const%20a%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20a.href%20%3D%20%22%2Fcommon%2Fblank.html%3Fthereplacement%22%3B%0A%20%20%20%20document.currentScript.before(a)%3B%0A%20%20%20%20a.click()%3B%0A%20%20"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_4.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])
      

  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • FAIL [expected NOTRUN] subtest: Area element should support autofocus

      promise_test: Unhandled rejection with value: object "TypeError: can't access property "appendChild", w.document.querySelector(...) is null"
      

  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html (#39694)
    • PASS [expected FAIL] subtest: Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due
  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html (#41193)
    • TIMEOUT [expected PASS] subtest: Default "autoplay" feature policy ["self"] allows same-origin iframes.

      Test timed out
      

  • OK /html/semantics/embedded-content/media-elements/media_fragment_seek.html (#24114)
    • PASS [expected FAIL] subtest: Video should seek to time specified in media fragment syntax
  • CRASH [expected TIMEOUT] /html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.html (#21642)
  • TIMEOUT [expected CRASH] /html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.html (#21444)
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventStart &gt; Original domContentLoadedEventStart
    • PASS [expected FAIL] subtest: Reload domInteractive &gt; Original domInteractive
    • PASS [expected FAIL] subtest: Reload fetchStart &gt; Original fetchStart
  • OK /preload/preload-error.sub.html (#37177)
    • PASS [expected FAIL] subtest: CORS (fetch): main
  • TIMEOUT [expected OK] /trusted-types/trusted-types-navigation.html?26-30 (#38807)
    • TIMEOUT [expected PASS] 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 PASS] 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 (23)
  • CRASH [expected OK] /fetch/connection-pool/network-partition-key.html
  • OK /html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html
    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: height expected 10 but got 1
      

    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: width expected 10 but got 1
      

  • PASS [expected FAIL] /html/syntax/charset/after-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/after-bogus-after-1kb.html
  • TIMEOUT [expected PASS] /html/syntax/charset/after-head-after-1kb-crlf.html
  • FAIL [expected PASS] /html/syntax/charset/after-head-after-1kb.html
  • PASS [expected FAIL] /html/syntax/charset/after-head-in-1kb-crlf.html
  • PASS [expected FAIL] /html/syntax/charset/after-head-in-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/document-write.html
  • FAIL [expected PASS] /html/syntax/charset/in-template-after-1kb.html
  • TIMEOUT [expected FAIL] /html/syntax/charset/ncr.html
  • OK /html/syntax/charset/with-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • OK /html/syntax/charset/without-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/document-write.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • TIMEOUT [expected OK] /html/syntax/charset/xhr.html
  • CRASH [expected OK] /html/syntax/parsing/html5lib_tests19.html?run_type=write
  • CRASH [expected OK] /html/syntax/parsing/html5lib_tests19.html?run_type=write_single
  • OK /html/syntax/serializing-html-fragments/serializing-lt-gt.html
    • PASS [expected FAIL] subtest: innerHTML
    • PASS [expected FAIL] subtest: outerHTML
  • OK /html/syntax/serializing-html-fragments/serializing.html
    • PASS [expected FAIL] subtest: innerHTML 7 &lt;a b="&amp;lt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 8 &lt;a b="&amp;gt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 9 &lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: outerHTML 7 &lt;span&gt;&lt;a b="&amp;lt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 8 &lt;span&gt;&lt;a b="&amp;gt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 9 &lt;span&gt;&lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;&lt;/span&gt;
  • TIMEOUT [expected OK] /html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Document-parseHTMLUnsafe-encoding.html
  • CRASH [expected OK] /navigation-timing/nav2-test-document-open.html
  • CRASH [expected OK] /navigation-timing/test-document-open.html
  • ERROR [expected OK] /resource-timing/render-blocking-status-link.html
  • CRASH [expected ERROR] /trusted-types/Element-setAttribute-respects-Elements-node-documents-globals-CSP-after-adoption-from-non-TT-realm.html

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#20396065715) failed.

@simonwuelker simonwuelker force-pushed the encoding-indicator-2 branch 2 times, most recently from ce0fd14 to 5e2b2f1 Compare December 21, 2025 13:34
@simonwuelker simonwuelker added the T-linux-wpt Do a try run of the WPT label Dec 21, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Dec 21, 2025
@github-actions
Copy link
Copy Markdown

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

@codecov-commenter
Copy link
Copy Markdown

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@github-actions
Copy link
Copy Markdown

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

Flaky unexpected result (33)
  • CRASH [expected PASS] /_mozilla/shadow-dom/move-element-with-ua-shadow-tree-crash.html (#39473)
  • OK /_mozilla/webxr/create_session.https.html
    • FAIL [expected PASS] subtest: create_session

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

  • FAIL [expected PASS] /css/css-backgrounds/background-size-042.html
  • 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: Newline normalization - \r\n in value (urlencoded)
  • 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] /fetch/fetch-later/quota/same-origin-iframe/multiple-iframes.https.window.html (#35176)
  • 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 /html/browsers/browsing-the-web/navigating-across-documents/005.html (#27062)
    • PASS [expected FAIL] subtest: Link with onclick navigation and href navigation
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • PASS [expected FAIL] subtest: load event does not fire on window.open('about:blank')
  • CRASH [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/location-setter.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
  • CRASH [expected OK] /html/canvas/element/compositing/2d.composite.globalAlpha.default.html
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html (#29087)
    • TIMEOUT [expected FAIL] subtest: &lt;dialog&gt;-contained autofocus element gets focused when the dialog is shown

      Test timed out
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html (#41404)
    • PASS [expected TIMEOUT] subtest: Feature-Policy header: autoplay * allows the top-level document.
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • 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 ""
      

    • PASS [expected FAIL] subtest: multipart/form-data: 0x00 in name (formdata event)
  • 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 test (formdata event)

      assert_equals: expected "basic=test" but got ""
      

    • FAIL [expected PASS] subtest: application/x-www-form-urlencoded: Basic File test (normal form)

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

  • FAIL [expected PASS] /html/syntax/charset/in-template-after-1kb.html
  • CRASH [expected OK] /html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-5.html
  • OK /html/webappapis/user-prompts/print-during-unload.html (#35944)
    • FAIL [expected PASS] subtest: print() during unload

      assert_array_equals: expected property 1 to be "destination" but got "error: window.print is not a function" (expected array ["start", "destination"] got ["start", "error: window.print is not a function"])
      

  • PASS [expected FAIL] /png/apng/acTL-plays-one.html (#41218)
  • FAIL [expected PASS] /png/apng/fcTL-dispose-background-final.html
  • 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
      

    • FAIL [expected PASS] subtest: 404 (fetch): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.xml?pipe=status%28404%29&amp;label=fetch should be loaded expected a number greater than 0 but got 0
      

  • TIMEOUT /resource-timing/test_resource_timing.https.html (#25216)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
  • CRASH [expected OK] /trusted-types/block-string-assignment-to-DedicatedWorker-setTimeout-setInterval.html
  • TIMEOUT /trusted-types/trusted-types-navigation.html?06-10 (#37920)
    • TIMEOUT [expected FAIL] subtest: Navigate a frame via anchor with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via anchor with javascript:-urls w/ default policy in report-only mode.
  • CRASH [expected OK] /wasm/webapi/esm-integration/wasm-to-wasm-link-error.tentative.html
  • CRASH [expected TIMEOUT] /wasm/webapi/invalid-code.any.worker.html
  • OK /webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html (#22849)
    • FAIL [expected PASS] subtest: buffer-stitching-2

      assert_approx_equals: Stitched sine‑wave buffers at sample rate 43800 sample[36640] |1.5469280885813059e-22 - -0.42100346088409424| = 0.42100346088409424 &gt; 0.0038986 expected -0.42100346088409424 +/- 0.0038986 but got 1.5469280885813059e-22
      

  • OK /webdriver/tests/classic/dismiss_alert/dismiss.py (#39098)
    • FAIL [expected PASS] subtest: test_dismiss_in_popup_window

      AssertionError: no such alert (404): No user prompt is currently active.
      

  • CRASH [expected OK] /workers/WorkerGlobalScope_importScripts.htm
  • CRASH [expected OK] /workers/same-site-cookies/first-party.all.tentative.https.window.html
Stable unexpected results that are known to be intermittent (29)
  • OK /FileAPI/url/url-with-fetch.any.worker.html (#21517)
    • FAIL [expected PASS] subtest: Revoke blob URL after calling fetch, fetch should succeed

      promise_test: Unhandled rejection with value: object "TypeError: Network error occurred"
      

  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • 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()
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.html (#38895)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.worker.html (#38971)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/key-conversion-exceptions.any.html (#39305)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/key-conversion-exceptions.any.worker.html (#39284)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/transaction-deactivation-timing.any.worker.html (#38808)
    • PASS [expected FAIL] subtest: New transactions are deactivated before next task
    • PASS [expected FAIL] subtest: New transactions from microtask are deactivated before next task
  • 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
      

  • 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 /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • FAIL [expected PASS] subtest: WebGL test #77

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

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

      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 #81

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

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

      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
      

  • OK /css/css-cascade/layer-cssom-order-reverse.html (#36094)
    • PASS [expected FAIL] subtest: Delete layer invalidates @font-face
  • 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
  • OK /css/css-fonts/generic-family-keywords-001.html (#37467)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted generic(kai)

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

  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-mode
  • OK /fetch/metadata/generated/css-font-face.sub.tentative.html (#34624)
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy same-site destination
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load &amp; pageshow events do not fire on contentWindow of &lt;iframe&gt; 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-same-origin-fragment.html (#20768)
    • PASS [expected FAIL] subtest: Tests that a fragment navigation in the unload handler will not block the initial navigation
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?thereplacement" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/resources/code-injector.html?pipe=sub(none)&amp;code=%0A%20%20%20%20const%20a%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20a.href%20%3D%20%22%2Fcommon%2Fblank.html%3Fthereplacement%22%3B%0A%20%20%20%20document.currentScript.before(a)%3B%0A%20%20%20%20a.click()%3B%0A%20%20"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_3.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • PASS [expected TIMEOUT] subtest: Non-HTMLElement should not support autofocus
    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      assert_equals: expected Element node &lt;div autofocus=""&gt;&lt;/div&gt; but got Element node &lt;body&gt;&lt;/body&gt;
      

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

      assert_equals: expected Element node &lt;input autofocus=""&gt;&lt;/input&gt; but got Element node &lt;body&gt;&lt;div autofocus=""&gt;&lt;/div&gt;&lt;input autofocus=""&gt;&lt;/body&gt;
      

    • FAIL [expected NOTRUN] subtest: Area element should support autofocus

      promise_test: Unhandled rejection with value: object "TypeError: can't access property "appendChild", w.document.querySelector(...) is null"
      

  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html (#39694)
    • PASS [expected FAIL] subtest: Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due
  • 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 /html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.html (#33948)
    • PASS [expected FAIL] subtest: Revoking a blob URL immediately after calling import will not fail
  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • FAIL [expected PASS] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)

      assert_equals: expected 9.009999999999998 but got 9.01
      

  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)
Stable unexpected results (18)
  • OK /encoding/utf-32-from-win1252.html
    • FAIL [expected PASS] subtest: Expect resources/utf-32-big-endian-nobom.xml to parse as UTF-8

      assert_equals: expected "UTF-8" but got "windows-1252"
      

    • FAIL [expected PASS] subtest: Expect resources/utf-32-little-endian-nobom.xml to parse as UTF-8

      assert_equals: expected "UTF-8" but got "windows-1252"
      

  • OK /encoding/utf-32.html
    • PASS [expected FAIL] subtest: Expect resources/utf-32-big-endian-bom.xml to parse as UTF-8
  • OK /html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html
    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: height expected 10 but got 1
      

    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: width expected 10 but got 1
      

  • PASS [expected FAIL] /html/syntax/charset/after-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/after-bogus-after-1kb.html
  • TIMEOUT [expected PASS] /html/syntax/charset/after-head-after-1kb-crlf.html
  • FAIL [expected PASS] /html/syntax/charset/after-head-after-1kb.html
  • TIMEOUT [expected FAIL] /html/syntax/charset/after-head-in-1kb-crlf.html
  • PASS [expected FAIL] /html/syntax/charset/after-head-in-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/document-write.html
  • PASS [expected FAIL] /html/syntax/charset/ncr.html
  • OK /html/syntax/charset/with-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/document-write.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • OK /html/syntax/charset/without-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/document-write.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • TIMEOUT [expected OK] /html/syntax/charset/xhr.html
  • OK /html/syntax/serializing-html-fragments/serializing-lt-gt.html
    • PASS [expected FAIL] subtest: innerHTML
    • PASS [expected FAIL] subtest: outerHTML
  • OK /html/syntax/serializing-html-fragments/serializing.html
    • PASS [expected FAIL] subtest: innerHTML 7 &lt;a b="&amp;lt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 8 &lt;a b="&amp;gt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 9 &lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: outerHTML 7 &lt;span&gt;&lt;a b="&amp;lt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 8 &lt;span&gt;&lt;a b="&amp;gt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 9 &lt;span&gt;&lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;&lt;/span&gt;
  • TIMEOUT [expected OK] /html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Document-parseHTMLUnsafe-encoding.html
  • ERROR [expected OK] /resource-timing/render-blocking-status-link.html

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#20410604739) failed.

@simonwuelker simonwuelker force-pushed the encoding-indicator-2 branch 3 times, most recently from 9b9270d to 128800f Compare January 4, 2026 08:00
@simonwuelker simonwuelker added the T-linux-wpt Do a try run of the WPT label Jan 4, 2026
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Jan 4, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

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

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

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

Flaky unexpected result (36)
  • 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/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"
      

  • CRASH [expected OK] /_webgl/conformance2/wasm/readpixels-2gb-in-4gb-wasm-memory.html
  • FAIL [expected PASS] /css/css-backgrounds/background-size-042.html
  • OK /custom-elements/form-associated/ElementInternals-setFormValue.html (#29174)
    • PASS [expected FAIL] subtest: Single value - empty name exists
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • TIMEOUT [expected PASS] subtest: background-image sec-fetch-storage-access - Not sent to non-trustworthy same-site destination

      Test timed out
      

  • ERROR /fetch/metadata/generated/serviceworker.https.sub.html (#36247)
    • PASS [expected FAIL] subtest: sec-fetch-site - Same origin, no options - registration
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • PASS [expected FAIL] subtest: load event does not fire on window.open('about:blank')
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html (#20768)
    • FAIL [expected PASS] subtest: Tests that a fragment navigation in the unload handler will not block the initial navigation

      assert_equals: expected "" but got "#fragment"
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • PASS [expected FAIL] subtest: Same-origin navigation started from unload handler must be ignored
  • CRASH [expected TIMEOUT] /html/browsers/browsing-the-web/unloading-documents/prompt-and-unload-script-closeable.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)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • CRASH [expected OK] /html/canvas/element/canvas-host/2d.canvas.host.initial.reset.path.html
  • OK /html/semantics/embedded-content/media-elements/audio_loop_seek_to_eos.html (#41226)
    • FAIL [expected PASS] subtest: seeking to the end of looping audio

      promise_test: Unhandled rejection with value: object "TypeError: this argument is not a finite floating-point value"
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html (#41193)
    • PASS [expected TIMEOUT] subtest: Default "autoplay" feature policy ["self"] allows same-origin iframes.
  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html (#41221)
    • FAIL [expected TIMEOUT] subtest: Feature-Policy header: autoplay "none" disallows same-origin iframes.

      assert_false: autoplay expected false got true
      

  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • PASS [expected FAIL] subtest: multipart/form-data: backslash in name (normal form)
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: \r\n in name (formdata event)
  • OK /html/semantics/scripting-1/the-script-element/execution-timing/077.html (#22139)
    • FAIL [expected PASS] subtest: adding several types of scripts through the DOM and removing some of them confuses scheduler

      assert_array_equals: expected property 1 to be "Script #1 ran" but got "Script #3 ran" (expected array ["Script #2 ran", "Script #1 ran", "Script #3 ran", "Script #4 ran"] got ["Script #2 ran", "Script #3 ran", "Script #4 ran", "Script #1 ran"])
      

  • OK /mixed-content/tentative/autoupgrades/audio-upgrade.https.sub.html
    • FAIL [expected PASS] subtest: Audio autoupgraded

      assert_equals: Length expected 1 but got Infinity
      

    • FAIL [expected PASS] subtest: Audio of other host autoupgraded

      assert_equals: Length of other host audio is correct expected 1 but got Infinity
      

  • FAIL [expected PASS] /png/apng/fcTL-dispose-previous-final.html
  • ERROR [expected OK] /resource-timing/cors-preflight.any.html (#28694)
  • TIMEOUT [expected OK] /svg/animations/force-use-shadow-tree-recreation-while-animating.html
  • OK /touch-events/single-tap-when-touchend-listener-use-sync-xhr.html (#41175)
    • PASS [expected FAIL] subtest: Click event should be fired when touchend opens synchronous XHR
  • CRASH [expected ERROR] /trusted-types/SharedWorker-setTimeout-setInterval.html
  • CRASH [expected OK] /trusted-types/block-string-assignment-to-DedicatedWorker-setTimeout-setInterval.html
  • TIMEOUT /trusted-types/trusted-types-navigation.html?31-35 (#38034)
    • TIMEOUT [expected PASS] subtest: Navigate a frame via form-submission with javascript:-urls in report-only mode.

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.
  • CRASH [expected OK] /uievents/idlharness.window.html
  • CRASH [expected ERROR] /wasm/webapi/empty-body.any.serviceworker.html
  • CRASH [expected OK] /webaudio/the-audio-api/the-audiobuffersourcenode-interface/looped-constant-buffer.html
  • OK [expected TIMEOUT] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (#29053)
    • PASS [expected TIMEOUT] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe
  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)
  • CRASH [expected ERROR] /workers/Worker-constructor-proto.any.serviceworker.html
Stable unexpected results that are known to be intermittent (22)
  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • 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()
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.html (#38895)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.worker.html (#38971)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/key-conversion-exceptions.any.html (#39305)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/key-conversion-exceptions.any.worker.html (#39284)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/transaction-deactivation-timing.any.html (#38772)
    • PASS [expected FAIL] subtest: New transactions are deactivated before next task
    • PASS [expected FAIL] subtest: New transactions from microtask are deactivated before next task
  • 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 /_webgl/conformance/textures/misc/texture-upload-size.html (#21770)
    • FAIL [expected PASS] subtest: WebGL test #77

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

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

      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 #81

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

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

      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 #85
    • PASS [expected FAIL] subtest: WebGL test #87
    • PASS [expected FAIL] subtest: WebGL test #89
    • PASS [expected FAIL] subtest: WebGL test #91
  • OK /css/css-fonts/generic-family-keywords-003.html (#38994)
    • FAIL [expected PASS] subtest: @font-face matching for quoted and unquoted serif (drawing text in a canvas)

      assert_equals: quoted serif matches  @font-face rule expected 125 but got 40
      

    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted system-ui (drawing text in a canvas)
  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/multiple-iframes.https.window.html (#35176)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • FAIL [expected PASS] subtest: sec-fetch-mode

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

    • PASS [expected FAIL] subtest: sec-fetch-user
  • ERROR [expected OK] /focus/focus-event-after-switching-iframes.sub.html (#40368)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/refresh/same-document-refresh.html (#34597)
    • FAIL [expected PASS] subtest: Same-Document Referrer from Refresh

      assert_equals: original page loads expected "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/refresh/resources/refresh-with-section.sub.html?url=%23section" but got "http://web-platform.test:8000/html/browsers/browsing-the-web/navigating-across-documents/refresh/resources/refresh-with-section.sub.html?url=%23section#section"
      

  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • PASS [expected TIMEOUT] subtest: Non-HTMLElement should not support autofocus
    • FAIL [expected NOTRUN] subtest: Host element with delegatesFocus should support autofocus

      assert_equals: expected Element node &lt;div autofocus=""&gt;&lt;/div&gt; but got Element node &lt;body&gt;&lt;/body&gt;
      

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

      assert_equals: expected Element node &lt;input autofocus=""&gt;&lt;/input&gt; but got Element node &lt;body&gt;&lt;div autofocus=""&gt;&lt;/div&gt;&lt;input autofocus=""&gt;&lt;/body&gt;
      

    • FAIL [expected NOTRUN] subtest: Area element should support autofocus

      promise_test: Unhandled rejection with value: object "TypeError: can't access property "appendChild", w.document.querySelector(...) is null"
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html (#41404)
    • PASS [expected TIMEOUT] subtest: Feature-Policy header: autoplay * allows same-origin iframes.
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-location-assign.html (#32863)
    • PASS [expected FAIL] subtest: Navigating iframe loading='lazy' before it is loaded: location.assign
  • OK /html/semantics/scripting-1/the-script-element/module/dynamic-import/blob-url.any.html (#33948)
    • PASS [expected FAIL] subtest: Revoking a blob URL immediately after calling import will not fail
  • OK /preload/link-header-preload-delay-onload.html (#39622)
    • FAIL [expected PASS] subtest: Makes sure that Link headers preload resources and block window.onload after resource discovery

      assert_true: expected true got false
      

Stable unexpected results (16)
  • OK /html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html
    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: height expected 10 but got 1
      

    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: width expected 10 but got 1
      

  • PASS [expected FAIL] /html/syntax/charset/after-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/after-bogus-after-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/after-head-after-1kb-crlf.html
  • FAIL [expected PASS] /html/syntax/charset/after-head-after-1kb.html
  • PASS [expected FAIL] /html/syntax/charset/after-head-in-1kb-crlf.html
  • PASS [expected FAIL] /html/syntax/charset/after-head-in-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/document-write.html
  • TIMEOUT [expected PASS] /html/syntax/charset/in-template-after-1kb.html
  • PASS [expected FAIL] /html/syntax/charset/ncr.html
  • OK /html/syntax/charset/with-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/document-write.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • OK /html/syntax/charset/without-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/document-write.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • TIMEOUT [expected OK] /html/syntax/charset/xhr.html
  • OK /html/syntax/serializing-html-fragments/serializing-lt-gt.html
    • PASS [expected FAIL] subtest: innerHTML
    • PASS [expected FAIL] subtest: outerHTML
  • OK /html/syntax/serializing-html-fragments/serializing.html
    • PASS [expected FAIL] subtest: innerHTML 7 &lt;a b="&amp;lt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 8 &lt;a b="&amp;gt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 9 &lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: outerHTML 7 &lt;span&gt;&lt;a b="&amp;lt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 8 &lt;span&gt;&lt;a b="&amp;gt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 9 &lt;span&gt;&lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;&lt;/span&gt;
  • TIMEOUT [expected OK] /html/webappapis/dynamic-markup-insertion/html-unsafe-methods/Document-parseHTMLUnsafe-encoding.html

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

⚠️ Try run (#20689847535) failed.

@simonwuelker
Copy link
Copy Markdown
Contributor Author

Looks like there are quite a few failures around dynamically inserting <meta charset> markup into the page...

simonwuelker and others added 3 commits January 4, 2026 10:55
Signed-off-by: Simon Wülker <[email protected]>
Co-authored-by: Josh Matthews <[email protected]>
Signed-off-by: Simon Wülker <[email protected]>
@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

🤖 Opened new upstream WPT pull request (web-platform-tests/wpt#56975) with upstreamable changes.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

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

@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

📝 Transplanted new upstreamable changes to existing upstream WPT pull request (web-platform-tests/wpt#56975).

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

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

Flaky unexpected result (31)
  • TIMEOUT /FileAPI/url/url-in-tags-revoke.window.html (#19978)
    • TIMEOUT [expected PASS] subtest: Fetching a blob URL immediately before revoking it works in &lt;script&gt; tags.

      Test timed out
      

  • 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/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 /content-security-policy/frame-ancestors/frame-ancestors-path-ignored.window.html (#36468)
    • PASS [expected FAIL] subtest: A 'frame-ancestors' CSP directive with a URL that includes a path should be ignored.
  • TIMEOUT [expected OK] /credential-management/credentialscontainer-frame-basics.https.html (#39430)
    • TIMEOUT [expected FAIL] subtest: navigator.credentials should be undefined in documents generated from data: URLs.

      Test timed out
      

  • FAIL [expected PASS] /css/css-backgrounds/background-size-042.html
  • OK /css/css-cascade/layer-font-face-override.html (#35935)
    • FAIL [expected PASS] subtest: @font-face override update with appended sheet 1

      assert_equals: expected "80px" but got "38.3166666666667px"
      

    • FAIL [expected PASS] subtest: @font-face override update with appended sheet 2

      assert_equals: expected "80px" but got "38.3166666666667px"
      

  • OK /css/css-fonts/generic-family-keywords-003.html (#38994)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted system-ui (drawing text in a canvas)
    • PASS [expected FAIL] subtest: @font-face matching for quoted and unquoted generic(nastaliq) (drawing text in a canvas)
  • 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
      

  • CRASH [expected OK] /html/browsers/browsing-the-web/history-traversal/window-name-after-cross-origin-sub-frame-navigation.sub.html
  • CRASH [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/005.html (#27062)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/009.html (#24456)
    • PASS [expected FAIL] subtest: Link with onclick form submit to javascript url with document.write and href navigation
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • PASS [expected FAIL] subtest: load event does not fire on window.open('about:blank')
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • CRASH [expected OK] /html/browsers/history/the-location-interface/assign-replace-from-iframe.html (#31638)
  • OK /html/browsers/windows/browsing-context-names/duplicate-name-order.html (#34623)
    • PASS [expected FAIL] subtest: Duplicate name lookup order
  • OK /html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1.html (#39694)
    • PASS [expected FAIL] subtest: Meta refresh is blocked by the allow-scripts sandbox flag at its creation time, not when refresh comes due
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html (#32595)
    • FAIL [expected PASS] subtest: Reloading iframe loading='lazy' before it is loaded: location.reload

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

  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_other_frame_popup.sub.html (#39702)
    • TIMEOUT [expected FAIL] subtest: Sandboxed iframe can not navigate other frame's popup

      Test timed out
      

  • 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 ""
      

  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • FAIL [expected PASS] subtest: text/plain: Basic File test (normal form)

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

    • PASS [expected FAIL] subtest: text/plain: \r\n in name (normal form)
    • PASS [expected FAIL] subtest: text/plain: \r\n in value (formdata event)
    • PASS [expected FAIL] subtest: text/plain: double quote in value (formdata event)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • FAIL [expected PASS] subtest: application/x-www-form-urlencoded: Basic test (formdata event)

      assert_equals: expected "basic=test" but got ""
      

    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: 0x00 in value (formdata event)
  • OK /mixed-content/tentative/autoupgrades/video-upgrade.https.sub.html (#41135)
    • FAIL [expected PASS] subtest: Video autoupgraded

      assert_equals: Length. expected 1 but got Infinity
      

  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domComplete &gt; Original domComplete
    • PASS [expected FAIL] subtest: Reload loadEventEnd &gt; Original loadEventEnd
    • PASS [expected FAIL] subtest: Reload loadEventStart &gt; Original loadEventStart
  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • PASS [expected FAIL] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
  • 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!\""
      

  • OK [expected TIMEOUT] /trusted-types/trusted-types-navigation.html?31-35 (#38034)
    • PASS [expected TIMEOUT] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in report-only mode.
    • FAIL [expected NOTRUN] subtest: Navigate a window via form-submission 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 form-submission 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!\""
      

    • FAIL [expected NOTRUN] subtest: Navigate a window via form-submission with javascript:-urls w/ a default policy making the URL invalid in enforcing mode.

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

  • CRASH [expected OK] /trusted-types/trusted-types-reporting-for-Document-execCommand.html
  • CRASH [expected ERROR] /wasm/webapi/invalid-code.any.sharedworker.html
  • ERROR [expected OK] /workers/baseurl/alpha/sharedworker-in-worker.html (#21315)
Stable unexpected results that are known to be intermittent (23)
  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • OK /IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html (#39277)
    • FAIL [expected PASS] subtest: IDBCursor continuePrimaryKey() on object store cursor

      assert_throws_dom: continuePrimaryKey() should throw if source is not an index function "function() {
              cursor.continuePrimaryKey(2, 2);
            }" threw object "TypeError: cursor.continuePrimaryKey is not a function" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
      

  • 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()
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.html (#38895)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/idbrequest-onupgradeneeded.any.worker.html (#38971)
    • PASS [expected FAIL] subtest: transaction oncomplete ordering relative to open request onsuccess
  • OK /IndexedDB/key-conversion-exceptions.any.html (#39305)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • OK /IndexedDB/key-conversion-exceptions.any.worker.html (#39284)
    • FAIL [expected PASS] subtest: IDBCursor continue() method with throwing/invalid keys

      assert_throws_exactly: key conversion with throwing getter should rethrow function "() =&gt; {
            receiver[method](key);
          }" threw object "TypeError: receiver[method] is not a function" but we expected it to throw object "getter: throwing from getter"
      

    • FAIL [expected PASS] subtest: IDBCursor update() method with throwing/invalid keys

      assert_throws_exactly: throwing getter should rethrow during clone function "() =&gt; {
            cursor.update(value);
          }" threw object "TypeError: cursor.update is not a function" but we expected it to throw object "getter: throwing from getter"
      

  • 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 /_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 6 more unexpected results...
  • TIMEOUT /content-security-policy/inheritance/location-reload.html (#38983)
    • FAIL [expected PASS] subtest: location.reload() of empty iframe.

      assert_equals: Image should be blocked by CSP after reload. expected "img blocked" but got "img loaded"
      

  • ERROR [expected OK] /fetch/fetch-later/quota/same-origin-iframe/multiple-iframes.https.window.html (#35176)
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-user
  • CRASH [expected OK] /fetch/metadata/generated/element-iframe.https.sub.html (#40341)
  • ERROR [expected OK] /focus/focus-event-after-switching-iframes.sub.html (#40368)
  • TIMEOUT /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Element with tabindex should support autofocus

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Non-HTMLElement should not support autofocus
  • OK [expected TIMEOUT] /html/interaction/focus/the-autofocus-attribute/update-the-rendering.html (#24145)
    • FAIL [expected TIMEOUT] subtest: "Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks

      assert_array_equals: animationFrame lengths differ, expected array ["autofocus", "scroll", "animationFrame"] length 3, got ["animationFrame"] length 1
      

  • TIMEOUT /html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html (#41404)
    • PASS [expected TIMEOUT] subtest: Feature-Policy header: autoplay * allows same-origin iframes.
  • FAIL [expected PASS] /png/apng/acTL-plays-one.html (#41218)
  • OK /preload/preload-error.sub.html (#37177)
    • FAIL [expected PASS] subtest: 404 (fetch): main

      assert_greater_than: http://web-platform.test:8000/preload/resources/dummy.xml?pipe=status%28404%29&amp;label=fetch should be loaded expected a number greater than 0 but got 0
      

  • OK [expected TIMEOUT] /trusted-types/trusted-types-navigation.html?26-30 (#38807)
    • PASS [expected TIMEOUT] subtest: Navigate a window via form-submission with javascript:-urls in report-only mode.
    • PASS [expected NOTRUN] subtest: Navigate a window via form-submission with javascript:-urls w/ default policy in report-only mode.
    • PASS [expected NOTRUN] subtest: Navigate a frame via form-submission with javascript:-urls in enforcing mode.
    • PASS [expected NOTRUN] subtest: Navigate a frame via form-submission with javascript:-urls w/ default policy in enforcing mode.
  • ERROR [expected OK] /webxr/render_state_update.https.html (#27535)
Stable unexpected results (13)
  • OK /html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html
    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: height expected 10 but got 1
      

    • FAIL [expected PASS] subtest: &lt;img srcset="data:image/svg+xml,&amp;lt;svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'&amp;gt;&amp;lt;circle%20r='1'/&amp;gt;&amp;lt;/svg&amp;gt; 2x" data-expect="10"&gt;

      assert_equals: width expected 10 but got 1
      

  • PASS [expected FAIL] /html/syntax/charset/after-1kb.html
  • FAIL [expected PASS] /html/syntax/charset/after-bogus-after-1kb.html
  • TIMEOUT [expected PASS] /html/syntax/charset/after-head-after-1kb-crlf.html
  • TIMEOUT [expected PASS] /html/syntax/charset/after-head-after-1kb.html
  • TIMEOUT [expected FAIL] /html/syntax/charset/after-head-in-1kb-crlf.html
  • TIMEOUT [expected FAIL] /html/syntax/charset/after-head-in-1kb.html
  • TIMEOUT [expected PASS] /html/syntax/charset/in-template-after-1kb.html
  • PASS [expected FAIL] /html/syntax/charset/ncr.html
  • OK /html/syntax/charset/with-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_equals: Check characterSet expected "windows-1253" but got "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • OK /html/syntax/charset/without-inheritance.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-bogus-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb-crlf.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb-crlf.html
    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/after-head-in-1kb.html
    • FAIL [expected PASS] subtest: Check http://web-platform.test:8000/html/syntax/charset/in-template-after-1kb.html

      assert_not_equals: Check characterSet got disallowed value "windows-1251"
      

    • PASS [expected FAIL] subtest: Check http://web-platform.test:8000/html/syntax/charset/ncr.html
  • OK /html/syntax/serializing-html-fragments/serializing-lt-gt.html
    • PASS [expected FAIL] subtest: innerHTML
    • PASS [expected FAIL] subtest: outerHTML
  • OK /html/syntax/serializing-html-fragments/serializing.html
    • PASS [expected FAIL] subtest: innerHTML 7 &lt;a b="&amp;lt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 8 &lt;a b="&amp;gt;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: innerHTML 9 &lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;
    • PASS [expected FAIL] subtest: outerHTML 7 &lt;span&gt;&lt;a b="&amp;lt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 8 &lt;span&gt;&lt;a b="&amp;gt;"&gt;&lt;/a&gt;&lt;/span&gt;
    • PASS [expected FAIL] subtest: outerHTML 9 &lt;span&gt;&lt;a href="javascript:&amp;quot;&amp;lt;&amp;gt;&amp;quot;"&gt;&lt;/a&gt;&lt;/span&gt;

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2026

⚠️ Try run (#20692347080) failed.

@simonwuelker
Copy link
Copy Markdown
Contributor Author

Closing in favor of #41730

@jdm jdm closed this Jan 29, 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.

meta charset and meta equiv="Content-Type" seem unable to switch away from UTF-8 Support non-UTF-8 character encodings for HTML

4 participants