RFR: 8368166: Media query should accept multiple rules

Andy Goryachev angorya at openjdk.org
Mon Sep 22 23:13:20 UTC 2025


On Sat, 20 Sep 2025 00:21:16 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:

> Given a media query with more than one rule:
> 
> 
> @media (prefers-color-scheme: dark) {
>     .foo1 {
>         -fx-background-color: black;
>     }
>     .foo2 {
>         -fx-background-color: white;
>     }
> }
> 
> 
> The following CSS parser error is encountered: `Expected RBRACE`
> 
> The reason for this bug is that the CSS parser mistakenly expects that after the first rule was parsed, the media query should be terminated with a closing curly brace. This is obviously incorrect, the fix is relatively simple.

The change looks good, verified with the monkey tester on macOS 15.6.1 M1.

Question:
When I supply a stylesheet with two missing close braces, the master branch complains about `Expected RBRACE at [3,0]` to stderr, the code in this PR does not.

Here is my CSS:

@media (prefers-reduced-motion: reduce) {
  .root { -fx-accent: yellow; }
  .foo { bar: bax; }
    @media (prefers-color-scheme: light) {
      .foo { bar: baxss; }
      .root { -fx-accent: red; }
    }
    @media (prefers-color-scheme: dark) {
      .foo { bar: baxss; }
      .root { -fx-accent: green; }


(the css is updated via `Scene::getStylesheets`)

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1915#issuecomment-3321821697


More information about the openjfx-dev mailing list