Skip to content

script: implement ReadableByteStreamController#35410

Merged
Taym95 merged 39 commits intoservo:mainfrom
Taym95:script-implement-ReadableByteStreamController
Mar 10, 2025
Merged

script: implement ReadableByteStreamController#35410
Taym95 merged 39 commits intoservo:mainfrom
Taym95:script-implement-ReadableByteStreamController

Conversation

@Taym95
Copy link
Copy Markdown
Member

@Taym95 Taym95 commented Feb 10, 2025

Part of #34676


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • There are tests for these changes

@Taym95 Taym95 requested a review from gterzian as a code owner February 10, 2025 21:23
@Taym95 Taym95 marked this pull request as draft February 10, 2025 21:23
@Taym95 Taym95 force-pushed the script-implement-ReadableByteStreamController branch 2 times, most recently from 16ea2f9 to f704098 Compare February 10, 2025 21:29
Copy link
Copy Markdown
Member

@gterzian gterzian left a comment

Choose a reason for hiding this comment

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

Looks good, with a few comments and questions.

@Taym95 Taym95 force-pushed the script-implement-ReadableByteStreamController branch from 7b411e6 to 8f7a130 Compare February 18, 2025 17:22
@Taym95 Taym95 added T-linux-wpt Do a try run of the WPT and removed T-linux-wpt Do a try run of the WPT labels Feb 18, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Feb 18, 2025
@github-actions
Copy link
Copy Markdown

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

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#13396547352) failed.

@Taym95 Taym95 added the T-linux-wpt Do a try run of the WPT label Feb 19, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Feb 19, 2025
@github-actions
Copy link
Copy Markdown

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

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#13410367448) failed.

@Taym95 Taym95 force-pushed the script-implement-ReadableByteStreamController branch from 6e7455d to 76c7942 Compare February 19, 2025 11:14
Copy link
Copy Markdown
Member

@gterzian gterzian left a comment

Choose a reason for hiding this comment

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

LGTM on the buffer source use of new js functions: I've compared their use with that of Gecko in https://searchfox.org/mozilla-central/source/dom/streams/ReadableByteStreamController.cpp and they are the same.

@Taym95 Taym95 added the T-linux-wpt Do a try run of the WPT label Feb 19, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Feb 19, 2025
@github-actions
Copy link
Copy Markdown

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

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt-layout-2020 from try job (#13422686696):

Flaky unexpected result (22)
  • 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 /FileAPI/url/url-with-fetch.any.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"
      

  • CRASH [expected PASS] /_mozilla/css/submit_focus_a.html
  • ERROR [expected OK] /cookies/partitioned-cookies/partitioned-cookies-a-b-a-embed.tentative.https.html
  • OK /css/css-cascade/layer-cssom-order-reverse.html
    • FAIL [expected PASS] subtest: Insert layer invalidates @font-face

      assert_equals: expected "220px" but got "133px"
      

  • FAIL [expected PASS] /css/css-overflow/line-clamp/line-clamp-with-floats-010.tentative.html (#35018)
  • 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/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 /html/browsers/history/the-history-interface/traverse_the_history_3.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 lengths differ, expected array [6, 5] length 2, got [6, 3, 3] length 3
      

  • PASS [expected FAIL] /html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html (#30063)
  • OK [expected ERROR] /html/canvas/element/manual/imagebitmap/createImageBitmap-colorSpaceConversion.html (#34151)
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • OK /html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html (#32607)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: form submit

      uncaught exception: Error: assert_equals: expected "http://web-platform.test:8000/html/semantics/embedded-content/the-iframe-element/support/blank.htm?" 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-link-click.html (#32664)
    • FAIL [expected PASS] subtest: Navigating iframe loading='lazy' before it is loaded: link click

      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-window-open.html (#32596)
    • 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"
      

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

  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
  • OK /html/semantics/forms/historical.html (#28568)
    • PASS [expected FAIL] subtest: <input name=isindex> should not be supported
  • OK [expected ERROR] /webxr/render_state_update.https.html (#27535)
  • OK /workers/WorkerGlobalScope-close.html (#23064)
    • PASS [expected FAIL] subtest: Test sending a message after closing.
Stable unexpected results that are known to be intermittent (16)
  • FAIL [expected PASS] /_mozilla/css/iframe/hide_and_show.html (#15265)
  • FAIL [expected PASS] /css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html (#32849)
  • OK [expected CRASH] /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '500' over '400 425'

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

    • FAIL [expected PASS] subtest: Matching font-weight: '430' should prefer '400 425' over '350 399'

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

    • FAIL [expected PASS] subtest: Matching font-weight: '500' should prefer '500' over '450 460'

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

    • FAIL [expected PASS] subtest: Matching font-weight: '500' should prefer '450 460' over '400'

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

    • FAIL [expected PASS] subtest: Matching font-stretch: '90%' should prefer '60% 70%' over '110% 140%'

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

    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 20deg' should prefer 'oblique -40deg -30deg' over 'italic'

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

    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 21deg' should prefer 'oblique 40deg 50deg' over 'oblique 20deg'

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

    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'oblique 0deg'

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

    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 10deg' should prefer 'oblique -40deg -30deg' over 'italic'

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

    • FAIL [expected PASS] subtest: Matching font-style: 'oblique 0deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'

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

    • And 9 more unexpected results...
  • OK /css/css-grid/alignment/grid-content-alignment-with-abspos-001.html (#34339)
    • PASS [expected FAIL] subtest: .grid 1
  • FAIL [expected PASS] /css/css-overflow/margin-block-end-scroll-area-001.html (#35134)
  • FAIL [expected PASS] /css/css-sizing/dynamic-available-size-iframe.html (#31559)
  • 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/008.html (#24456)
    • FAIL [expected PASS] subtest: Link with onclick form submit to javascript url and href navigation

      assert_equals: expected "href" but got "click"
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • FAIL [expected PASS] subtest: Cross-origin navigation started from unload handler must be ignored

      promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
      

  • 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
  • OK /html/browsers/windows/browsing-context-names/duplicate-name-order.html (#34623)
    • FAIL [expected PASS] subtest: Duplicate name lookup order

      assert_equals: then the rest of the tree expected "SiblingB" but got "PopupB"
      

  • TIMEOUT /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • OK /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • FAIL [expected PASS] subtest: Verifies that location navigations take precedence when following form submissions.

      assert_equals: expected "/html/semantics/forms/form-submission-0/resources/location.html" but got "/html/semantics/forms/form-submission-0/resources/form.html"
      

  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • PASS [expected FAIL] subtest: multipart/form-data: Basic test (formdata event)
    • PASS [expected FAIL] subtest: multipart/form-data: 0x00 in name (normal form)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: Basic test (normal form)
    • 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 /navigation-timing/test-navigation-type-reload.html (#33334)
    • FAIL [expected PASS] subtest: Reload domComplete > Original domComplete

      assert_true: Reload domComplete > Original domComplete expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventEnd > Original loadEventEnd

      assert_true: Reload loadEventEnd > Original loadEventEnd expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventStart > Original loadEventStart

      assert_true: Reload loadEventStart > Original loadEventStart expected true got false
      

@github-actions
Copy link
Copy Markdown

✨ Try run (#13422686696) succeeded.

@Taym95 Taym95 added the T-linux-wpt Do a try run of the WPT label Feb 20, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Feb 20, 2025
@github-actions
Copy link
Copy Markdown

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

@Taym95 Taym95 added the T-linux-wpt Do a try run of the WPT label Feb 20, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Feb 20, 2025
Signed-off-by: Taym Haddadi <[email protected]>
@Taym95 Taym95 requested a review from jdm March 6, 2025 21:42
Signed-off-by: Taym Haddadi <[email protected]>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2025

Test results for linux-wpt-layout-2020 from try job (#13708650290):

Flaky unexpected result (13)
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'

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

  • PASS [expected FAIL] /css/css-tables/table-cell-overflow-auto-scrolled.html (#35011)
  • OK [expected CRASH] /fetch/api/response/response-stream-with-broken-then.any.html (#35419)
  • OK [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/oversized-payload.tentative.https.window.html (#35210)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: link click
  • 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/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html (#34117)
  • OK /html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html (#28259)
    • PASS [expected FAIL] subtest: Autofocus elements in top-level browsing context's documents with URL fragments should be skipped.
  • TIMEOUT [expected OK] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • TIMEOUT [expected PASS] subtest: reparent-form-during-planned-navigation-task

      Test timed out
      

  • TIMEOUT [expected OK] /mixed-content/gen/top.meta/unset/audio-tag.https.html (#35744)
    • TIMEOUT [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and keep-scheme redirection from https context.

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and no-redirect redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-http origin and swap-scheme redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-https origin and keep-scheme redirection from https context.
    • NOTRUN [expected PASS] subtest: Mixed-Content: Expects allowed for audio-tag to same-https origin and no-redirect redirection from https context.
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • PASS [expected FAIL] subtest: Reload domContentLoadedEventEnd &gt; Original domContentLoadedEventEnd
    • 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 /xhr/open-url-multi-window-5.htm (#23360)
    • FAIL [expected PASS] subtest: XMLHttpRequest: open() resolving URLs (multi-Window; 5)

      assert_throws_dom: function "function() {client.open("GET", "...") }" did not throw
      

Stable unexpected results that are known to be intermittent (13)
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html (#32849)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/009.html (#24456)
    • FAIL [expected PASS] subtest: Link with onclick form submit to javascript url with document.write and href navigation

      assert_array_equals: expected property 1 to be "href" but got "click" (expected array ["write", "href"] got ["write", "click"])
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • FAIL [expected PASS] subtest: Check execution order from nested timeout

      assert_equals: Expected nested setTimeout to run second expected true but got false
      

    • FAIL [expected PASS] subtest: Check execution order on load handler

      assert_equals: Expected onload to run first expected false but got true
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html (#29048)
    • FAIL [expected PASS] subtest: Navigating to a different document with link click

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1" but got "about:blank"
      

    • FAIL [expected PASS] subtest: Navigating to a different document with form submission

      assert_equals: expected "http://web-platform.test:8000/common/blank.html?1=" but got "about:blank"
      

  • 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 /html/browsers/history/the-history-interface/traverse_the_history_4.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      Test timed out
      

  • TIMEOUT /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • OK /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • FAIL [expected PASS] subtest: Verifies that location navigations take precedence when following form submissions.

      myframe.contentDocument.location is null
      

  • OK [expected TIMEOUT] /mixed-content/gen/top.http-rp/opt-in/audio-tag.https.html (#35744)
  • TIMEOUT [expected OK] /resource-timing/nested-context-navigations-iframe.html (#24311)
    • TIMEOUT [expected PASS] subtest: Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent

      Test timed out
      

    • NOTRUN [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent
    • NOTRUN [expected PASS] subtest: Test that iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe navigations are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that crossorigin iframe refreshes are not observable by the parent
    • NOTRUN [expected PASS] subtest: Test that cross-site iframe refreshes are not observable by the parent

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2025

✨ Try run (#13708650290) succeeded.

@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

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

@gterzian
Copy link
Copy Markdown
Member

gterzian commented Mar 10, 2025

Copy link
Copy Markdown
Member

@gterzian gterzian left a comment

Choose a reason for hiding this comment

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

Lgtm, thanks for addressing my earlier comment about how the spec does early returns.

There are two tests that seem like they should pass?

Also it seems like some rebasing error with a css test slipped through.

Comment on lines +24 to +25
[templated.any.html]
[ReadableStream with byte source (empty): instances have the correct methods and properties]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This one and the one above seems like something that should pass?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Ah yes, don't knew why was not picked up when running test!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This still needed, check:

#35410 (comment)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

So those actually should fail: "assert_equals: has a pipeThrough method expected "function" but got "undefined""

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes tests failing because pipeThrough is not implemented

@Taym95 Taym95 added the T-linux-wpt Do a try run of the WPT label Mar 10, 2025
@github-actions github-actions bot removed the T-linux-wpt Do a try run of the WPT label Mar 10, 2025
@github-actions
Copy link
Copy Markdown

🔨 Triggering try run (#13766454248) 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#51210).

@github-actions
Copy link
Copy Markdown

Test results for linux-wpt-layout-2020 from try job (#13766454248):

Flaky unexpected result (19)
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • PASS [expected FAIL] /css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html (#32849)
  • OK /css/css-cascade/layer-cssom-order-reverse.html
    • PASS [expected FAIL] subtest: Delete layer invalidates @font-face
  • FAIL [expected PASS] /css/css-sizing/dynamic-available-size-iframe.html (#31559)
  • OK /css/css-values/cap-invalidation.html (#32757)
    • FAIL [expected PASS] subtest: CSS Values and Units Test: cap invalidation

      uncaught exception: Error: assert_not_equals: expect the capital height of Ahem and sans-serif to be different got disallowed value 371.3333333333333
      

  • OK [expected CRASH] /fetch/api/response/response-stream-with-broken-then.any.html (#35419)
  • OK [expected ERROR] /fetch/fetch-later/quota/same-origin-iframe/empty-payload.tentative.https.window.html (#35176)
  • 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
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html (#34819)
    • PASS [expected FAIL] subtest: form submission
  • 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
  • OK /html/browsers/browsing-the-web/overlapping-navigations-and-traversals/cross-document-nav-cross-document-nav.html (#29181)
    • PASS [expected FAIL] subtest: cross-document navigation then cross-document navigation
  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • TIMEOUT [expected ERROR] /html/canvas/element/manual/imagebitmap/createImageBitmap-flipY.html (#32745)
    • TIMEOUT [expected FAIL] subtest: createImageBitmap from an HTMLVideoElement from a data URL imageOrientation: "from-image", and drawImage on the created ImageBitmap

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: createImageBitmap from an HTMLVideoElement from a data URL imageOrientation: "flipY", and drawImage on the created ImageBitmap
    • NOTRUN [expected FAIL] subtest: createImageBitmap from a bitmap HTMLImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap
    • NOTRUN [expected FAIL] subtest: createImageBitmap from a bitmap HTMLImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap
    • NOTRUN [expected FAIL] subtest: createImageBitmap from a vector HTMLImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap
    • NOTRUN [expected FAIL] subtest: createImageBitmap from a vector HTMLImageElement imageOrientation: "flipY", and drawImage on the created ImageBitmap
    • NOTRUN [expected TIMEOUT] subtest: createImageBitmap from a bitmap SVGImageElement imageOrientation: "from-image", and drawImage on the created ImageBitmap
  • CRASH [expected OK] /html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html (#34117)
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Contenteditable element should support autofocus

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Element with tabindex should support autofocus
    • NOTRUN [expected PASS] subtest: Non-HTMLElement should not support autofocus
    • NOTRUN [expected FAIL] subtest: Host element with delegatesFocus should support autofocus
    • NOTRUN [expected FAIL] subtest: Host element with delegatesFocus including no focusable descendants should be skipped
    • NOTRUN [expected FAIL] subtest: Area element should support autofocus
  • 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_popups_escaping-2.html (#22667)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      Test timed out
      

  • OK /html/semantics/forms/form-submission-0/multipart-formdata.window.html (#28725)
    • PASS [expected FAIL] subtest: multipart/form-data: Basic test (normal form)
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: Basic test (normal form)
    • PASS [expected FAIL] subtest: text/plain: Basic test (formdata event)
    • PASS [expected FAIL] subtest: text/plain: \r\n in value (normal form)
Stable unexpected results that are known to be intermittent (15)
  • 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 /FileAPI/url/url-with-fetch.any.worker.html (#21517)
    • PASS [expected FAIL] subtest: Revoke blob URL after calling fetch, fetch should succeed
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • OK /css/css-fonts/variations/at-font-face-font-matching.html (#20684)
    • FAIL [expected PASS] subtest: Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg'

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

  • PASS [expected FAIL] /css/css-tables/table-cell-overflow-auto-scrolled.html (#35011)
  • OK /encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul.html?1-1000 (#35799)
    • FAIL [expected PASS] subtest: hangul U+AD90 궐 %26%2344432%3B

      assert_equals: expected "%26%2344432%3B" but got ""
      

    • FAIL [expected PASS] subtest: hangul U+AD91 궑 %26%2344433%3B

      assert_equals: expected (string) "%26%2344433%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD92 궒 %26%2344434%3B

      assert_equals: expected (string) "%26%2344434%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD93 궓 %26%2344435%3B

      assert_equals: expected (string) "%26%2344435%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD94 궔 %26%2344436%3B

      assert_equals: expected (string) "%26%2344436%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD95 궕 %26%2344437%3B

      assert_equals: expected (string) "%26%2344437%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD96 궖 %26%2344438%3B

      assert_equals: expected (string) "%26%2344438%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD97 궗 %26%2344439%3B

      assert_equals: expected (string) "%26%2344439%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD98 궘 %26%2344440%3B

      assert_equals: expected (string) "%26%2344440%3B" but got (undefined) undefined
      

    • FAIL [expected PASS] subtest: hangul U+AD99 궙 %26%2344441%3B

      assert_equals: expected (string) "%26%2344441%3B" but got (undefined) undefined
      

    • And 390 more unexpected results...
  • OK /fetch/metadata/generated/css-font-face.https.sub.tentative.html (#32732)
    • PASS [expected FAIL] subtest: sec-fetch-dest
    • PASS [expected FAIL] subtest: sec-fetch-user
    • PASS [expected FAIL] subtest: sec-fetch-storage-access - Cross-site
  • CRASH [expected OK] /html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.worker.html (#30164)
  • CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • TIMEOUT /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • OK /html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html (#29634)
    • FAIL [expected PASS] subtest: Verifies that location navigations take precedence when following form submissions.

      assert_equals: expected "/html/semantics/forms/form-submission-0/resources/location.html" but got "/html/semantics/forms/form-submission-0/resources/form.html"
      

  • TIMEOUT [expected OK] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • TIMEOUT [expected PASS] subtest: reparent-form-during-planned-navigation-task

      Test timed out
      

  • TIMEOUT /mixed-content/gen/top.http-rp/opt-in/audio-tag.https.html (#35744)
    • TIMEOUT [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to cross-http origin and no-redirect redirection from https context.

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to cross-http origin and swap-scheme redirection from https context.
    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to cross-https origin and swap-scheme redirection from https context.
    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to same-http origin and keep-scheme redirection from https context.
    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to same-http origin and no-redirect redirection from https context.
    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to same-http origin and swap-scheme redirection from https context.
    • NOTRUN [expected FAIL] subtest: Mixed-Content: Expects blocked for audio-tag to same-https origin and swap-scheme redirection from https context.
  • OK /navigation-timing/test-navigation-type-reload.html (#33334)
    • FAIL [expected PASS] subtest: Reload domComplete &gt; Original domComplete

      assert_true: Reload domComplete &gt; Original domComplete expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventEnd &gt; Original loadEventEnd

      assert_true: Reload loadEventEnd &gt; Original loadEventEnd expected true got false
      

    • FAIL [expected PASS] subtest: Reload loadEventStart &gt; Original loadEventStart

      assert_true: Reload loadEventStart &gt; Original loadEventStart expected true got false
      

Stable unexpected results (2)
  • OK /streams/readable-byte-streams/templated.any.html
    • FAIL [expected PASS] subtest: ReadableStream with byte source (empty): instances have the correct methods and properties

      assert_equals: has a pipeThrough method expected "function" but got "undefined"
      

  • OK /streams/readable-byte-streams/templated.any.worker.html
    • FAIL [expected PASS] subtest: ReadableStream with byte source (empty): instances have the correct methods and properties

      assert_equals: has a pipeThrough method expected "function" but got "undefined"
      

@github-actions
Copy link
Copy Markdown

⚠️ Try run (#13766454248) failed.

Signed-off-by: Taym Haddadi <[email protected]>
@Taym95 Taym95 force-pushed the script-implement-ReadableByteStreamController branch from d804dbf to d3af3b3 Compare March 10, 2025 14:27
@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

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

@Taym95
Copy link
Copy Markdown
Member Author

Taym95 commented Mar 10, 2025

@jdm do you still want to review this one?

@jdm
Copy link
Copy Markdown
Member

jdm commented Mar 10, 2025

I'm recovering from an illness right now so it does not make sense to wait on me.

@Taym95
Copy link
Copy Markdown
Member Author

Taym95 commented Mar 10, 2025

@jdm do you still want to review this one?

Got it. Hope you feel better soon! I'll proceed without waiting on your review.

@Taym95 Taym95 added this pull request to the merge queue Mar 10, 2025
Merged via the queue into servo:main with commit a5cf04c Mar 10, 2025
22 checks passed
@Taym95 Taym95 deleted the script-implement-ReadableByteStreamController branch March 10, 2025 20:12
@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

⛔ Failed to properly merge the upstream pull request (web-platform-tests/wpt#51210). Please address any CI issues and try to merge manually.

@Taym95 Taym95 mentioned this pull request May 8, 2025
27 tasks
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.

5 participants