tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 0e8888cdbb97763730c35aa48b46dc9b2e163514
parent cf03438176fb29d12403147de7676a951a8fe4da
Author: Anders Hartvoll Ruud <andruud@chromium.org>
Date:   Mon, 27 Oct 2025 10:07:39 +0000

Bug 1996258 [wpt PR 55638] - [@mixin] Add WPT for @mixin within @layer, a=testonly

Automatic update from web-platform-tests
[@mixin] Add WPT for @mixin within @layer

Note that while @mixin is valid within @layer, @layer is not valid
within @mixin [1]. @layer-in-@mixin is covered by another WPT
(mixin-parsing.html).

I'm deliberately not testing edge-cases related to order-dependent
mixins, since it's not clear yet how committed we are to this approach.

Bug: 406935599

[1] https://github.com/w3c/csswg-drafts/issues/12417

Change-Id: Ib1701cb6d77a1f5d4f8f5037b3b4ded652849a19
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7080105
Reviewed-by: Steinar H Gunderson <sesse@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1534922}

--

wpt-commits: 6d3dfbb94eab624408566d6884fa404db3d22ef3
wpt-pr: 55638

Diffstat:
Atesting/web-platform/tests/css/css-mixins/mixin-layers.html | 105+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 105 insertions(+), 0 deletions(-)

diff --git a/testing/web-platform/tests/css/css-mixins/mixin-layers.html b/testing/web-platform/tests/css/css-mixins/mixin-layers.html @@ -0,0 +1,105 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS Mixins: @layer</title> + <link rel="help" href="https://drafts.csswg.org/css-mixins-1/#mixin-preamble"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + + <!-- Note that the layer order is fixed across all sub-tests: --> + <style> + @layer one, two; + </style> + + + <style> + @layer one { + @mixin --m1() { + color: green; + } + } + + #e1 { + @apply --m1(); + } + </style> + <div id="e1">This text should be green.</div> + <script> + test(() => { + assert_equals(getComputedStyle(e1).color, 'rgb(0, 128, 0)'); + }, 'Mixins work inside layers'); + </script> + + + <style> + @layer { + @mixin --m2() { + color: green; + } + } + + #e2 { + @apply --m2(); + } + </style> + <div id="e2">This text should be green.</div> + <script> + test(() => { + assert_equals(getComputedStyle(e2).color, 'rgb(0, 128, 0)'); + }, 'Mixins work inside layers (anonymous)'); + </script> + + + <style> + @layer two { + @mixin --m3() { + color: green; + } + } + + @layer one { + @mixin --m3() { + color: red; + } + } + + #e3 { + @apply --m3(); + } + </style> + <div id="e3">This text should be green.</div> + <script> + test(() => { + assert_equals(getComputedStyle(e3).color, 'rgb(0, 128, 0)'); + }, 'Mixins in stronger layer wins'); + </script> + + + <style> + @layer one { + @mixin --m4() { + color: red; + } + } + + @layer two { + @mixin --m4() { + color: green; + } + } + + #e4 { + @apply --m4(); + } + </style> + <div id="e4">This text should be green.</div> + <script> + test(() => { + assert_equals(getComputedStyle(e4).color, 'rgb(0, 128, 0)'); + }, 'Mixins in stronger layer wins (source order matching layer order)'); + </script> + + </body> +</html>