OSSCA Chromium

기여 목록 / 8425980

[css-pseudo] Support 'quotes' property in ::marker

BlinkfeatureMerged

CSSWG 결정에 따라 ::marker에서 quotes 속성을 지원하도록 했습니다.

문제 설명

기존에는 ::marker에 직접 지정한 quotes가 적용되지 않아, content의 open-quote와 close-quote에 해당 따옴표가 반영되지 않았습니다. 이로 인해 marker-quotes.html WPT가 실패했습니다.

해결 내용

  • css_properties.json5의 quotes 정의에 valid_for_marker: true를 추가했습니다.
  • ::marker에 지정한 quotes의 computed value를 확인하는 테스트를 추가했습니다.
  • animation·transition 테스트에 quotes 항목을 추가했습니다.
  • marker-quotes.html의 [ Failure ] 기대값을 제거했습니다.

전체 코드 diff는 다음과 같습니다.

diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
index 73263bc2..b8cc3d9 100644
--- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -5425,6 +5425,7 @@
       converter: "ConvertQuotes",
       keywords: ["auto", "none"],
       typedom_types: ["Keyword"],
+      valid_for_marker: true,
       valid_for_page_context: true,
       invalidate: ["layout", "paint"],
     },
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 6b1a047..7e9c47a4 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -919,7 +919,6 @@
 crbug.com/1066577 external/wpt/css/css-lists/counter-reset-reversed-siblings-003.html [ Failure ]
 crbug.com/947844 external/wpt/css/css-lists/list-item-definition.html [ Failure ]
 crbug.com/40110559 external/wpt/css/css-lists/marker-counter.html [ Failure ]
-crbug.com/40110559 external/wpt/css/css-lists/marker-quotes.html [ Failure ]

 # [css-counter-styles-3]
 crbug.com/1176323 external/wpt/css/css-counter-styles/counter-style-at-rule/prefix-suffix-syntax.html [ Failure ]
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
index 11811ba..08be386 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
@@ -184,6 +184,14 @@
     midPoint: "\"bar\"",
   },

+  // ::marker supports `quotes`.
+  {
+    property: "quotes",
+    from: '"[" "]"',
+    to: '"«" "»"',
+    midPoint: '"«" "»"',
+  },
+
   // ::marker supports text properties.
   {
     property: "hyphens",
diff --git a/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties.html b/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
index cb1d67b6..a934e96aaa 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
@@ -51,6 +51,9 @@
 // ::marker supports `content`
 test_pseudo_computed_value("::marker", "content", "\"foo\"");

+// ::marker supports `quotes`.
+test_pseudo_computed_value("::marker", "quotes", '"«" "»"');
+
 // ::marker supports animation properties.
 test_pseudo_computed_value("::marker", "animation", "1s linear 2s infinite alternate forwards paused anim");
 test_pseudo_computed_value("::marker", "animation-delay", "1s");

테스트 방법

CL에 기록한 검증 대상은 다음 WPT 3개입니다.

  • external/wpt/css/css-lists/marker-quotes.html: marker별 따옴표 렌더링
  • external/wpt/css/css-pseudo/parsing/marker-supported-properties.html: computed value
  • external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html: animation·transition에서의 속성 적용

CQ를 통해 2026년 9월 30일(한국 시간) Chromium main에 병합되었습니다.

배운 점

CSS 속성을 pseudo-element에서 지원하려면 속성 정의의 적용 범위도 확인해야 합니다. 렌더링 결과와 함께 computed style 및 animation·transition 경로를 검증해야 합니다.

참고 자료