Replace almost all MR1 content with MR2 start, colorway and thank you screens. Reuse confetti from about:welcome. Add variant selection with transitions. Update triggering to show for 94 but not for windows 7.
Differential Revision: https://phabricator.services.mozilla.com/D127252
Automatic update from web-platform-tests
css: Use document (not base) URL for inline style preloads' referrers
crrev.com/c/2592447 fixed one code path where setting a document's base
URL (via the HTML <base> tag) led to requests from inline CSS using the
base URL as their referrer, rather than the document URL. This goes
against the recommendation in the Referrer Policy spec that requests
from inline CSS use their documents' referrers. [1] In general, we try
to avoid letting pages override outgoing requests' referrers to
different-origin URLs, even though this is not a hard security boundary.
It turns out a separate code path can also trigger requests from inline
style sheets: in particular, '@import' statements in inline stylesheets
get prefetched by the HTML parser, which currently has separate logic
that explicitly sets those requests' referrers to the document's base
URL.
This change removes that logic. After this change, preload requests from
inline style in the HTML parser will use the document's URL, not its
base URL, when generating their referrers. This CL also adds two new WPTs:
* "stylesheet-with-differentorigin-base-url.html" verifies the referrer
for an inline stylesheet requesting another stylesheet via an @import
statement. There are other tests inspecting the referrers for SVG and
image fetches from inline stylesheets, but not for child stylesheet
fetches. This test passes even without this CL applied (because of
crrev.com/c/2592447).
* "stylesheet-with-differentorigin-base-url-from-preload.html" does the
same thing, except from a srcdoc iframe. Using a srcdoc iframe triggers
the preload code path since the inline stylesheet is hardcoded in a
<style> HTML tag. (In contrast, the test above uses JS to add the style
element to the DOM.) Because this second test exercises the preload
codepath, it fails without this patch's functional changes applied.
With this patch applied, the repro in the linked bug no longer succeeds.
[1] https://www.w3.org/TR/referrer-policy/#integration-with-css
Test: New WPT covers the preload path. Manually tested the bug's repro.
Change-Id: I6bd797978b207a4bc0bb1b35565eb93c7162729f
Fixed: 1233375
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3078937
Commit-Queue: David Van Cleve <davidvc@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#924146}
--
wpt-commits: 617fa69a4969e0765590322112166388471783ed
wpt-pr: 29940
Automatic update from web-platform-tests
Reland "[@layer] Fix cascade ordering of inline style and layered style"
This is a reland of crrev.com/c/3167095 with a bug fix that,
presentational hints should be added to match result without setting the
is_inline_style flag.
Test case presentational-hints-cascade.html somehow passed in the
original patch with the bug due to an experimental feature
CustomElementDefaultStyle. This patch adds it to the virtual/stable test
suite to make sure it fails without the bug fix.
Original description:
This patch adds a new flag to MatchResult and CascadePriority to
indicate if a declaration is from inline style or other style sheets, so
that we can compare inline style and other layered style correctly.
Without this flag, currently we are treating inline style as regular
declarations in the implicit outer layer, and therefore mistakenly
override it with layered style rules in other style sheets.
Bug: 1095765
Change-Id: Ibeb0ed2d7e571c136bb4a636b99a766fc9b6e4b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3174310
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#924101}
--
wpt-commits: 4bffb947f356ab179f50e70bdf637262c6b0bb66
wpt-pr: 30908
Automatic update from web-platform-tests
wpt: Add documentation for device API testing methodology
Adds references to MojoJS to the README.md files for the Web Bluetooth,
WebHID, Web Serial and WebUSB APIs.
Also adds README files linking from the Chromium-specific WPT test
directories to the main documentation in WPT.
Bug: 983364
Change-Id: I8db37a0fad4b93a13b7c56d56fbefc400f7b7513
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3171406
Reviewed-by: Chris Mumford <cmumford@google.com>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923995}
--
wpt-commits: 667e30800021bb3490b8d7b9aa18d02d95d6e682
wpt-pr: 30892
Automatic update from web-platform-tests
FSA: Split up move() tests and update expectations
move() is currently only supported for file handles. This CL splits the
tests into separate files (testing moving files vs. directories) so
that tests can be disabled per-file rather than per-test.
Bug: 1140805, 1250534
Change-Id: Iaa599cb2a8c9c277e81c2e302ec4685ec18befd1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3171919
Commit-Queue: Austin Sullivan <asully@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923939}
--
wpt-commits: d9b6dcef5f6f85577143e4ff199a2f39c234cb91
wpt-pr: 30899
Automatic update from web-platform-tests
nfc: Convert some web tests from HTML to pure JS.
Nothing has changed in the test contents, but this makes it possible to
format them via clang-format (and removes some HTML boilerplate from
them as well).
Change-Id: Ifb2cb7aae19d9ecc4920895974f7c4775515fac8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3172625
Reviewed-by: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/main@{#923932}
--
wpt-commits: a6760fe8d61bb9877c4347e1050787eed7fa7b1f
wpt-pr: 30912
Automatic update from web-platform-tests
Add all legacy name aliases to CSSStyleDeclaration compat test.
Bug: 1238510
Change-Id: I844897bb64bb4b47a3a9cf87c298859f7f15c345
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3168813
Auto-Submit: Mike Taylor <miketaylr@chromium.org>
Commit-Queue: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923898}
--
wpt-commits: 2760058cdb505f7bfa5abf3d28a978ffcf6e721d
wpt-pr: 30855
Automatic update from web-platform-tests
[credentialless] Update redirect behavior.
In the Fetch specification PR, we changed our mind and decided to omit
credentials as soon as there at least one cross-origin request.
Previously, only the current URL was taken into account.
See:
https://github.com/whatwg/fetch/pull/1229#discussion_r712175485
Bug: 1175099
Change-Id: I308281bdab95be264ca7a2ef990341bddd0e9bc2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3168346
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923884}
--
wpt-commits: 2d6d77b3054e9b7f35bdd2b3e7de9b53ecfed7d5
wpt-pr: 30871
Automatic update from web-platform-tests
[layout] Fix metrics DCHECK.
Previously we'd hit this check quite often in clusterfuzz:
Crash Type: CHECK failure
Crash Address:
Crash State:
!metrics_.IsEmpty() || IsEmptyLineBox() in ng_physical_line_box_fragment.cc
blink::NGPhysicalLineBoxFragment::NGPhysicalLineBoxFragment
scoped_refptr<blink::NGPhysicalLineBoxFragment> base::MakeRefCounted<blink::NGPh
This particular testcase is an atomic-inline with a saturated -ve margin
at the bottom.
As a result the call to BaselineMetrics within the inline layout
algorithm:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/layout/ng/inline/ng_inline_layout_algorithm.cc;l=589-593?q=baselinemetrics&ss=chromium
would result in a FontHeight of [LayoutUnit::Min(), LayoutUnit()].
This would return true for FontHeight::IsEmpty() as it only checked the
ascent.
This fixes the issue by checking the descent as will within IsEmpty().
Bug: 1243485
Change-Id: I63d9dd57a6e08dd361f21c68b60fabe025e7befc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3173984
Commit-Queue: Koji Ishii <kojii@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923759}
--
wpt-commits: 30619eb589be9a693c0a4535c296826ef5fcd617
wpt-pr: 30904
Automatic update from web-platform-tests
Fix wpt resize observer test
See
https://github.com/w3c/csswg-drafts/issues/6610#issuecomment-918778072
smfr complained that our tests are spewing RO errors, and they were.
This fixes it
Change-Id: I8074082a2a02e5b1a80971fcc31993ae434386a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3174434
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923664}
--
wpt-commits: 8dffdd0c1a6c69234deb519cbe9399d95614bf4f
wpt-pr: 30907
Automatic update from web-platform-tests
CSS highlight processing model
This patch implements the inheritance-based propagation for highlight
pseudo-elements, as described in css-pseudo’s #highlight-cascade and
introduced in w3c/csswg-drafts#2474.
Highlight pseudos like ::selection were historically implemented such
that only the ::selection selector (*::selection) worked intuitively.
The spec’s processing model essentially makes it possible to define
both general ::selection styles and more specific ::selection styles.
We add a feature (HighlightInheritance) and a new computed style extra
field of type scoped_refptr<StyleHighlightData>, which in turn points
to four refcounted ComputedStyle instances, one for each highlight.
Only a handful of properties are applicable, but reusing ComputedStyle
like this simplifies the applying code, and allows us to share many of
the field groups between instances anyway.
We update the initial style singleton to point to a set of four empty
highlight styles, which we only use when the feature is enabled.
When the feature is disabled (or resolving custom ::highlight styles),
there is no functional change. Highlight styles are lazily computed on
paint’s demand, inherit only from the originating element styles, and
we store the result in the Element’s pseudo cache (StyleCachedData).
When the feature is enabled, we compute highlight styles during the
originating element’s recalc (RecalcOwnStyle), skipping any highlight
pseudos that the element had no matching rules for (a question that
can already be answered thanks to pseudo bits).
Style resolution is largely unchanged: we start with default styles,
then use output of the cascade to change those styles. But defaulting
is much easier for highlight styles: all properties are inherited, so
we can simply clone the whole ComputedStyle.
Relevant test page and screenshots:
• https://bucket.daz.cat/work/igalia/0/8.html
• https://bucket.daz.cat/4f37833aa15299a5.png (before)
• https://bucket.daz.cat/67d2abdd9bcda17c.png (after)
WPT already has some tests (css/css-pseudo/cascade-highlight-*), but
more thorough test coverage will land in these patches:
• https://github.com/web-platform-tests/wpt/pull/30688
• https://github.com/web-platform-tests/wpt/pull/30692
Bug: 1024156
Change-Id: I1f54f36ef2ac80165261a3f80d3a21cdf359c199
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2850068
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Delan Azabani <dazabani@igalia.com>
Cr-Commit-Position: refs/heads/main@{#923485}
--
wpt-commits: 4eb26e6225ed30a6cfc73eb743eaf9f59086521c
wpt-pr: 30813
Automatic update from web-platform-tests
Rename some css highlight test cases (#30905)
We now have tests with the same file name in chromium and wpt upstream,
which cause a merge conflict when exporting and importing the changes.
Rename the file names at upstream to resolve such conflict.
--
wpt-commits: 4f50940a6a8864ef73232048f7d41892216cb080
wpt-pr: 30905
Automatic update from web-platform-tests
Revert "[@layer] Fix cascade ordering of inline style and layered style"
This reverts commit 65f6b482860b4dda8933a19f1f4b4115c3812b41.
Reason for revert: Caused b/200698937
Original change's description:
> [@layer] Fix cascade ordering of inline style and layered style
>
> This patch adds a new flag to MatchResult and CascadePriority to
> indicate if a declaration is from inline style or other style sheets, so
> that we can compare inline style and other layered style correctly.
>
> Without this flag, currently we are treating inline style as regular
> declarations in the implicit outer layer, and therefore mistakenly
> override it with layered style rules in other style sheets.
>
> Bug: 1095765
> Change-Id: I10dbafcf9721fc5b8a5b11edeaeab48c82df86d4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3167095
> Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
> Reviewed-by: Rune Lillesveen <futhark@chromium.org>
> Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#923216}
Bug: 1095765
Change-Id: I93b6caffbaa777338f1b05769f85ae2becbdabab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3174089
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#923601}
--
wpt-commits: 7f0082f448285e9adcae0373042618dbb704baee
wpt-pr: 30906
Automatic update from web-platform-tests
Handle BR clear=all correctly in block fragmentation.
BR clearance is special in that it's applied *after* the content (the
line), while regular CSS clearance is about adding spacing *before*
something. If clearance from a BR element crosses fragmentainer
boundaries, do two things:
1. If the line has content before the BR clear element, add an
additional line break before it, so that we can fit everything on the
line before the BR in the correct fragmentainer. In addition to looking
good, the line may contain floats, and we cannot push those ahead of us,
as we'd get no progress that way!
2. Abort layout of a line with an isolated BR clear element, if it needs
to be pushed to a subsequent fragmentainer, and ignore any orphans and
widows requests in this case (we're creating a line that doesn't really
exist, spec-wise). Layout is aborted with
NGLayoutResult::kOutOfFragmentainerSpace.
We were already handling kOutOfFragmentainerSpace layout abortions for
new-FC children, as this was already supported for nested multicol
containers. Now that we also support it for same-FC children (such as
lines), we need to update the code to not assume that layout was
successful. Handle block fragmentation a bit earlier (so that we'll
return before attempting to access the resulting fragment), and add
checks for successful layout where needed.
It might be possible to add real support for trailing clearance to the
block fragmentation engine, but it just seemed like an unreasonably
large effort (especially maintenance-wise) for such a corner-case.
This fixes the following tests in external/wpt/css/CSS2/floats-clear/
(not part of the virtual/layout_ng_block_frag/ testsuite) when
LayoutNGBlockFragmentation is enabled:
floats-clear-multicol-000.html
floats-clear-multicol-001.html
floats-clear-multicol-balancing-000.html
floats-clear-multicol-balancing-001.html
Bug: 829028
Change-Id: If3ebb307cac4afd388e5edfc2ac576510afe283e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3168884
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923551}
--
wpt-commits: 98d42726729f9b673ea057d48de64b7273b82518
wpt-pr: 30874
Automatic update from web-platform-tests
c-v: Distinguish the type of forced updates.
This patch ensures that we can force an update for style without
forcing layout, etc. This is useful since we need to determine whether
we have a lock that blocks, for e.g. layout, and if we force a lock
it's unclear whether layout would be updated without this patch.
With the patch, functions like UpdateStyleAndLayoutTree only force
style updates.
R=chrishtr@chromium.org, jarhar@chromium.org
Fixed: 1250742
Change-Id: I9856acbcabedfb0b232518b438ca43a16a0cfd09
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3168328
Commit-Queue: vmpstr <vmpstr@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923524}
--
wpt-commits: bc1925dd5349f8beec43c0f94a2c3e1cdd2e8466
wpt-pr: 30887
Automatic update from web-platform-tests
Don't include BR clearance in the line's height.
Including clearance in the line height may result in tall monolithic
content, which is problematic for block fragmentation, especially for
column balancing.
Instead, store trailing clearance in the layout result, so that the
block layout algorithm can add it to the layout position for subsequent
content.
We already use a similar trick for ruby annotations, and some care is
required so that we don't move back above the clearance offset when
canceling ruby annotations overflow (which happens in some cases). There
was no test coverage for this, so added three tests for that (they pass
both and without this CL).
Also added a multicol test that demonstrates what this fixes in column
balancing.
Bug: 829028
Change-Id: I84e58326e9ada78e3f29ad01d8043a173626aea3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3168645
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923502}
--
wpt-commits: faa9a85d068538c986ba01119789194f92f8d344
wpt-pr: 30876
Automatic update from web-platform-tests
Remove stashed request headers for speculative parser tests
The old code would append all of the request headers for the request
to the stashed value. That causes the failure string for all dependent
tests to change when, e.g. the User-Agent string changes due to the
test being run on a different bot.
This CL removes the headers, as those seem only useful for debugging,
and are causing lots of flaky behavior on at least Chromium bots.
Prior failure message:
FAIL Speculative parsing, document.write(): link-rel-stylesheet-disabled Unhandled rejection: assert_equals: speculative case incorrectly fetched expected "" but got "param-encodingcheck: %C4%9E\r\nHost: web-platform.test:8001\nConnection: keep-alive\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/999.77.34.5 Safari/537.36\nAccept: text/css,*/*;q=0.1\nReferer: http://web-platform.test:8001/html/syntax/speculative-parsing/generated/document-write/link-rel-stylesheet-disabled.tentative.sub.html\nAccept-Encoding: gzip, deflate\nAccept-Language: en-us,en\n\n"
New failure message:
FAIL Speculative parsing, document.write(): link-rel-stylesheet-disabled Unhandled rejection: assert_equals: speculative case incorrectly fetched expected "" but got "param-encodingcheck: %C4%9E\r\n"
Fixed: 1250457,1249920,1249921,1249954,1250003,1250004
Bug: 1144176
Change-Id: I45dbbb8794c6bf2d5e962cecf531e06a7af09160
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3170927
Commit-Queue: Mason Freed <masonf@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923491}
--
wpt-commits: 2dc665185ccac1b30667190b05e5e0cd9885d7c5
wpt-pr: 30891
Automatic update from web-platform-tests
Use interpolation at the endpoints of animations.
Use interpolation at the endpoints of animations (by removing various
optimizations to return the endpoint values at the endpoints), since
it's needed to get the correct axis for animation of the 'rotate'
property, the correct conversion away from a 'none' value at one
endpoint for the 'rotate', 'scale', and 'translate' properties, and
correct list lengths for list-valued properties that can interpolate
between lists of mismatched lengths, whether by repeating to the least
common multiple length (stroke-dasharray) or filling the shorter list
with no-op or zero values (filter, backdrop-filter, box-shadow,
text-shadow, some registered custom properties).
The changes to translate-composition.html and scale-composition.html
cause Firefox to pass the tests whose expectations are being modified,
and thus, like Chrome, pass the entire file (whereas they cause Safari
to fail additional tests). The test changes are discussed further in
https://github.com/web-platform-tests/wpt/issues/30377 .
The differences between the test expectations for background-image
(where the test expects discrete animation, per the spec) and for
-webkit-mask-image (where the test expects -webkit-cross-fade()) is
rather suspicious, but I've left the difference as-is for now.
Fixed: 1026169, 1180834
Change-Id: I6320b74b0aff29989a748fab1bff78b91426701e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3139948
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923427}
--
wpt-commits: 30e724ac90157333d34198f0c29131b2e2a6b1da
wpt-pr: 30807
Automatic update from web-platform-tests
Use assert_approx_equals in css/css-text/i18n
Fixes#25084.
--
wpt-commits: 0f6907dc33c953257475f7bf9fe37b6c53a424f3
wpt-pr: 29346
Automatic update from web-platform-tests
[wave] Use the correct part of uri for the reporturl api
uri_parts[3] is the function "reporturl" in this case, the
api is the part before that.
This fix targets the comparison view in the wave UI. Without this
fix wave won't even try to make a comparison since it will use
"reporturl" as identifier for the test group. It should be "acid"
for the "acid" test group etc.
However, note that the comparison view depends on a specific
version of wptreport to function properly, namely
https://github.com/fraunhoferfokus/wptreport
The reason is that it uses the --tokenFileName command line
flag which is only available in that version of wptreport at the
time of preparing this patch.
--
wpt-commits: 809b09cfd3adfa9fb931445b243da9d7288c5ddb
wpt-pr: 30252
Automatic update from web-platform-tests
Add clearance correctly past fragmented floats.
It used to be possible to squeeze in a zero-height child (in-flow or
floated) at the bottom of a fragmentainer with fragmented floats, even
if the child should have clearance applied.
So, just adding an exclusion that goes all the way to the bottom of the
fragmentainer won't do. That part ensures that containers are stretched
correctly, but we actually need some additional logic to make sure that
we don't attempt to insert content that should be cleared past the
current fragmentainer.
Bug: 829028
Change-Id: Ib9363936d1602bff7dc5ecb0e36eecdf62c91270
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3170395
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923287}
--
wpt-commits: fed9a1c33add1474b2d34463ff1621a18f8cd071
wpt-pr: 30877