Wpt Versions Save

Test suites for Web platform specs — including WHATWG, W3C, and others

merge_pr_46198

2 weeks ago

Fetch: bytes() method on Body mixin

For https://github.com/whatwg/fetch/pull/1753.

merge_pr_46235

2 weeks ago

Implement |setCodecPreferences| in RTCRtpTransceiver

Differential Revision: https://phabricator.services.mozilla.com/D207472

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1396922 gecko-commit: c9bfe7c044aacff41982fd440ae2f83476c1318b gecko-reviewers: bwc, jib, webidl, smaug

merge_pr_46139

2 weeks ago

Fix two more bugs in ShadowDOM Selection

Bug #1: AbstractRange::(Mark|Unmark)Descendants should always use the shadow tree of web-exposed shadow root, instead of using light DOM elements of the host.

Bug #2: aRange could possibly create mCrossShadowBoundaryRange first (due to boundaries are in different tree), and later moves the boundaries to the same tree. When this happens, we should remove mCrossShadowBoundaryRange and use the default range to represent it.

Differential Revision: https://phabricator.services.mozilla.com/D207608

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1891783 gecko-commit: 0f54a84c32d1c22d71ff7307944b824639adbd6f gecko-reviewers: jjaschke, smaug, dom-core

merge_pr_46192

2 weeks ago

[FedCM] Replace the scopes API with the fields API

This implements the new proposal here: https://github.com/fedidcg/FedCM/issues/559

If one or two but not all of ["name", "email", "picture"] are requested, we reject the promise. Otherwise, we show the disclosure text if either field is not specified or contains the three default fields. All specified fields are passed to the server in the "fields" parameter; if fields was unspecified we pass the default fields here.

All this is for forwards compatibility.

Bug: 40262526, 340194462 Change-Id: I13833691e5f2851f0dc8e9568d007e57a47b8127 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5529071 Reviewed-by: Yi Gu [email protected] Reviewed-by: Brendon Tiszka [email protected] Commit-Queue: Christian Biesinger [email protected] Cr-Commit-Position: refs/heads/main@{#1300264}

merge_pr_46152

2 weeks ago

Change base-select icon from background-image to svg elements (#46152)

Putting the svg in a data url for background-image was not as customizable in CSS for developers, but using an actual svg element is: https://github.com/openui/open-ui/issues/881

Bug: 40146374 Fixed: 337904202 Change-Id: If1528b3df97e31de5b86b27a6aa935223ff0f0a4 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5522663 Reviewed-by: David Baron [email protected] Commit-Queue: Joey Arhar [email protected] Cr-Commit-Position: refs/heads/main@{#1300224}

Co-authored-by: Joey Arhar [email protected]

merge_pr_46234

2 weeks ago

Revert "[text-box-trim] Fix text-box-edge to be inherited"

This reverts commit 66b9710a5337aaefeb1a4e71ba5675b2a8744cb2.

Reason for revert: crbug.com/339684347

Original change's description:

[text-box-trim] Fix text-box-edge to be inherited

As per the spec for:

Bug: 41494590 Change-Id: I934e272f964fce6f2c57818c94102046fc0f309a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5532122 Commit-Queue: Koji Ishii [email protected] Commit-Queue: Kent Tamura [email protected] Auto-Submit: Koji Ishii [email protected] Reviewed-by: Kent Tamura [email protected] Cr-Commit-Position: refs/heads/main@{#1299895}

Bug: 41494590, 339684347 Change-Id: I4768cd2ba204b147a8e9bd8ac5459393763c7d91 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5533288 Bot-Commit: Rubber Stamper [email protected] Commit-Queue: Koji Ishii [email protected] Cr-Commit-Position: refs/heads/main@{#1300233}

merge_pr_46205

2 weeks ago

Move page margin handling over to Blink.

Remove the margin handling code from PrintRenderFrameHelper (used by the actual browser) and SpoolPagesWithBoundariesForTesting() (web tests).

This allows @page backgrounds to cover the entire page box, including the margin area. Tests included.

This CL also paves the road for implementing @page margin boxes (such as author-specified headers and footers), which was the main objective anyway.

The fact that Blink is now responsible for the entire page box means that the code that deals with shrinking / centering paginated content to fit the target paper also has to be moved over to Blink.

WebPrintPageDescription still provides margin info for each page. Although PrintRenderFrameHelper no longer needs to position the page area within the page box based on margins, the margins are still needed in order to figure out if there's enough room for UA-generated headers and footers.

By moving all of this into Blink, it will be rather straight-forward to add web tests for page fitting, rather than writing clunky PrintRenderFrameHelper component browser tests for it. Will follow up with a CL for this.

Three page-orientation tests now start passing. The code in SpoolPagesWithBoundariesForTesting() didn't add margin translation at the correct time when rotating. The margins are no longer added there, so the problem is gone.

Bug: 40286153, 40341678 Change-Id: I418b2e08ed76b297ea5d5fc223545b52b3e9b09f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5526464 Reviewed-by: Lei Zhang [email protected] Commit-Queue: Morten Stenshorne [email protected] Reviewed-by: Ian Kilpatrick [email protected] Cr-Commit-Position: refs/heads/main@{#1300225}

merge_pr_46213

2 weeks ago

webnn: Use TFLite for CPU execution on Linux

This CL primarily does two things:

  1. Use TFLite backend (instead of XNNPACK) on Linux for "cpu" contexts
  2. Refactor the existing Virtual Test Suite on Linux to run "cpu" tests now that the "gpu" workaround is no longer needed to target the TFLite backend

Note that - assuming TFLite-on-CPU behaves the same across platforms - this "cpu" Virtual Test Suite and the corresponding expectations will be re-used as other backends (or at least Windows) migrate "cpu" context execution to TFLite in follow-up CLs

Before (on Linux):

  • using a "cpu" context targets the XNNPACK backend in the renderer
  • using a "gpu" context targets the TFLite backend in //services (which currently runs on CPU anyways) After (on Linux):
  • using either a "cpu" or "gpu" context targets the TFLite backend in //services

This opens the door for TFLite to truly target the GPU if instructed, and gets us one step closer to removing the XNNPACK backend

Bug: 325612086 Change-Id: I421d97b7d91b604afbfb3c8aa71b55a5bc78bd6f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5532576 Reviewed-by: David Baron [email protected] Commit-Queue: Austin Sullivan [email protected] Reviewed-by: ningxin hu [email protected] Cr-Commit-Position: refs/heads/main@{#1300171}

merge_pr_46158

2 weeks ago

DOM: Implement <iframe> state-preserving atomic moves

This CL implements iframe-specific logic for state-preserving atomic moves, as well as some web platform tests and unit tests. We test specifically that iframe documents are not reloaded during a call to moveBefore(), and that the order of frames in window.frames remains untouched. Much of the implementation revolves around how we manage internal bookkeeping of subframe counts; this bookkeeping is used for real world behavior in the node insertion/removal path 1, internal optimizations 2, and Blink logic consistency assertions.

There is still implementation work general to all nodes (non-iframe-specific) to be done for state-preserving atomic moves overall, like suppressing mutation events, and tweaking how MutationObserver reacts to moveBefore() calls. That work will be done in follow-up CLs.

Bug: 40150299 Change-Id: If22ce5f96f8fbe98e126f2e8909aa852e5307bd6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5314005 Reviewed-by: Mason Freed [email protected] Commit-Queue: Dominic Farolino [email protected] Cr-Commit-Position: refs/heads/main@{#1300121}

merge_pr_46163

2 weeks ago

Resolve page size using standard length utils. (#46163)

Calculating the page area size is very similar to how the content box size of a regular non-replaced CSS box is calculated.

content box + padding + border + margin = size of containing block

The only differences:

  1. percentage-based padding/margins in a given dimension are resolved against the containing block size in that dimension (i.e. a percentage-based margin-top is resolved against the containing block height), not unconditionally against the inline-size of the containing block (regular CSS boxes)

  2. Overconstrainedness is resolved differently. Rather than adjusting margins to fix the equation, the containing block size is adjusted.

Auto @page margins are also handled correctly now. Tests included.

Clean up pagination stuff in Document, and move the logic of GetPageDescription() into pagination utils in layout, and only call it from external APIs (we used to need it during layout as well, but not anymore). The end goal here is to be able to implement this by examining the physical fragments, but we're not quite there yet, since Blink still doesn't control the margin area of the page.

Improve detection of unusable page sizes (if margins+border+padding are larger than the containing block). We'll now recalculate computed style for such page containers, and just ignore all author styles.

Bug: 40286153 Change-Id: Id660b7e60d71256f32cb56db1cf419ad8ac91c2c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5522379 Reviewed-by: Ian Kilpatrick [email protected] Commit-Queue: Morten Stenshorne [email protected] Cr-Commit-Position: refs/heads/main@{#1299921}

Co-authored-by: Morten Stenshorne [email protected]