tor-browser

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

commit f4944870263721268967d7829f8296a88ad70c0b
parent 6bbcf4b20183dfdabced33bd00d2a01bd3da796a
Author: Nicolas Chevobbe <nchevobbe@mozilla.com>
Date:   Fri, 31 Oct 2025 05:58:41 +0000

Bug 1997145 - [devtools] Add test for CSSRule.selectorMatchesElement for view-transition pseudo element rules. r=firefox-style-system-reviewers,layout-reviewers,view-transitions-reviewers,emilio

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

Diffstat:
Mlayout/inspector/tests/test_selectormatcheselement.html | 38++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+), 0 deletions(-)

diff --git a/layout/inspector/tests/test_selectormatcheselement.html b/layout/inspector/tests/test_selectormatcheselement.html @@ -38,6 +38,10 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1037519 #bar::first-letter { font-variant: small-caps; } + + ::view-transition-group(root), #bar { + animation-duration: 3600s; + } </style> </head> <body> @@ -106,6 +110,40 @@ add_task(async () => { "Doesn't match on #bar" + pseudo ); } + + info("Create a view transition"); + const transition = document.startViewTransition(() => { + element.replaceChildren("updated foo content"); + }); + await transition.ready; + await transition.updateCallbackDone; + + const viewTransitionGroupRule = InspectorUtils.getMatchingCSSRules( + document.documentElement, + "::view-transition-group(root)" + ).find(rule => { + try { + return rule.selectorText === "::view-transition-group(root), #bar"; + } catch {} + return false; + }); + + ok( + !!viewTransitionGroupRule, + "Got the expected ::view-transition-group rule" + ); + ok( + viewTransitionGroupRule.selectorMatchesElement( + 0, + document.documentElement, + "::view-transition-group(root)" + ), + "Matches ::view-transition-group(root)" + ); + ok( + !viewTransitionGroupRule.selectorMatchesElement(1, document.documentElement), + "Doesn't match #bar" + ); }); </script>