Diff
Modified: trunk/LayoutTests/ChangeLog (276417 => 276418)
--- trunk/LayoutTests/ChangeLog 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/ChangeLog 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,3 +1,22 @@
+2021-04-21 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r276380 and r276386.
+ https://bugs.webkit.org/show_bug.cgi?id=224912
+
+ Caused WPT css/css-counter-styles/cssom test crashes on macOS
+ WK1 with ASan
+
+ Reverted changesets:
+
+ "[css-counter-styles] Parse @counter-style descriptors"
+ https://bugs.webkit.org/show_bug.cgi?id=224718
+ https://trac.webkit.org/changeset/276380
+
+ "CSSComputedStyleDeclaration.cpp should use C++ style
+ comments"
+ https://bugs.webkit.org/show_bug.cgi?id=224875
+ https://trac.webkit.org/changeset/276386
+
2021-04-21 Robert Jenner <[email protected]>
Mass removing prior test expectations that don't need to be set anymore
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,3 +1,22 @@
+2021-04-21 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r276380 and r276386.
+ https://bugs.webkit.org/show_bug.cgi?id=224912
+
+ Caused WPT css/css-counter-styles/cssom test crashes on macOS
+ WK1 with ASan
+
+ Reverted changesets:
+
+ "[css-counter-styles] Parse @counter-style descriptors"
+ https://bugs.webkit.org/show_bug.cgi?id=224718
+ https://trac.webkit.org/changeset/276380
+
+ "CSSComputedStyleDeclaration.cpp should use C++ style
+ comments"
+ https://bugs.webkit.org/show_bug.cgi?id=224875
+ https://trac.webkit.org/changeset/276386
+
2021-04-21 Tyler Wilcock <[email protected]>
[css-counter-styles] Parse @counter-style descriptors
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-fallback-expected.txt (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-fallback-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-fallback-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,5 +1,5 @@
-PASS @counter-style 'fallback: bar' is valid
+FAIL @counter-style 'fallback: bar' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'fallback: "bar"' is invalid
PASS @counter-style 'fallback: none' is invalid
PASS @counter-style 'fallback: initial' is invalid
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-prefix-suffix-syntax-expected.txt (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-prefix-suffix-syntax-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-prefix-suffix-syntax-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -7,8 +7,8 @@
FAIL @counter-style 'suffix: "inherit"' is valid assert_not_equals: got disallowed value -1
FAIL @counter-style 'prefix: "unset"' is valid assert_not_equals: got disallowed value -1
FAIL @counter-style 'suffix: "unset"' is valid assert_not_equals: got disallowed value -1
-PASS @counter-style 'prefix: custom-ident' is valid
-PASS @counter-style 'suffix: custom-ident' is valid
+FAIL @counter-style 'prefix: custom-ident' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'suffix: custom-ident' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'prefix: initial' is invalid
PASS @counter-style 'suffix: initial' is invalid
PASS @counter-style 'prefix: inherit' is invalid
@@ -15,12 +15,12 @@
PASS @counter-style 'suffix: inherit' is invalid
PASS @counter-style 'prefix: unset' is invalid
PASS @counter-style 'suffix: unset' is invalid
-PASS @counter-style 'prefix: url("https://example.com/foo.png")' is valid
-PASS @counter-style 'suffix: url("https://example.com/foo.png")' is valid
-PASS @counter-style 'prefix: url(https://example.com/foo.png)' is valid
-PASS @counter-style 'suffix: url(https://example.com/foo.png)' is valid
-PASS @counter-style 'prefix: linear-gradient(yellow, blue)' is valid
-PASS @counter-style 'suffix: linear-gradient(yellow, blue)' is valid
+FAIL @counter-style 'prefix: url("https://example.com/foo.png")' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'suffix: url("https://example.com/foo.png")' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'prefix: url(https://example.com/foo.png)' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'suffix: url(https://example.com/foo.png)' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'prefix: linear-gradient(yellow, blue)' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'suffix: linear-gradient(yellow, blue)' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'prefix: ' is invalid
PASS @counter-style 'suffix: ' is invalid
PASS @counter-style 'prefix: foo bar' is invalid
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-range-syntax-expected.txt (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-range-syntax-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-range-syntax-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,10 +1,10 @@
-PASS @counter-style 'range: auto' is valid
-PASS @counter-style 'range: infinite infinite' is valid
-PASS @counter-style 'range: infinite 0' is valid
-PASS @counter-style 'range: 0 infinite' is valid
-PASS @counter-style 'range: infinite 0, 5 10, 100 infinite' is valid
-PASS @counter-style 'range: infinite 10, 5 20, 15 infinite' is valid
+FAIL @counter-style 'range: auto' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'range: infinite infinite' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'range: infinite 0' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'range: 0 infinite' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'range: infinite 0, 5 10, 100 infinite' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'range: infinite 10, 5 20, 15 infinite' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'range: ' is invalid
PASS @counter-style 'range: 0 -1' is invalid
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-speak-as-syntax-expected.txt (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-speak-as-syntax-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-speak-as-syntax-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,11 +1,11 @@
-PASS @counter-style 'speak-as: auto' is valid
-PASS @counter-style 'speak-as: bullets' is valid
-PASS @counter-style 'speak-as: numbers' is valid
-PASS @counter-style 'speak-as: words' is valid
-PASS @counter-style 'speak-as: spell-out' is valid
-PASS @counter-style 'speak-as: bar' is valid
-PASS @counter-style 'speak-as: spellout' is valid
+FAIL @counter-style 'speak-as: auto' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: bullets' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: numbers' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: words' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: spell-out' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: bar' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'speak-as: spellout' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'speak-as: bullets numbers' is invalid
PASS @counter-style 'speak-as: none' is invalid
PASS @counter-style 'speak-as: initial' is invalid
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-system-syntax-expected.txt (276417 => 276418)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-system-syntax-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-counter-styles/counter-style-system-syntax-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,13 +1,13 @@
-PASS @counter-style 'system: cyclic' is valid
-PASS @counter-style 'system: fixed' is valid
-PASS @counter-style 'system: fixed 100' is valid
-PASS @counter-style 'system: fixed -1' is valid
-PASS @counter-style 'system: symbolic' is valid
-PASS @counter-style 'system: alphabetic' is valid
-PASS @counter-style 'system: numeric' is valid
-PASS @counter-style 'system: additive' is valid
-PASS @counter-style 'system: extends bar' is valid
+FAIL @counter-style 'system: cyclic' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: fixed' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: fixed 100' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: fixed -1' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: symbolic' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: alphabetic' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: numeric' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: additive' is valid assert_not_equals: got disallowed value -1
+FAIL @counter-style 'system: extends bar' is valid assert_not_equals: got disallowed value -1
PASS @counter-style 'system: float' is invalid
PASS @counter-style 'system: cyclic cyclic' is invalid
PASS @counter-style 'system: extends none' is invalid
Modified: trunk/LayoutTests/platform/win/TestExpectations (276417 => 276418)
--- trunk/LayoutTests/platform/win/TestExpectations 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/platform/win/TestExpectations 2021-04-22 03:28:03 UTC (rev 276418)
@@ -4657,7 +4657,3 @@
fast/forms/option-mouseevents.html [ Pass Failure ]
fast/forms/password-doubleclick-selection.html [ Pass Failure ]
fast/text/offsetForPosition-complex-fallback.html [ Pass Failure ]
-
-# This test is skipped because the necessary feature flag functionality specific to the Windows WebKit legacy port is
-# not implemented. The feature flags in question are CSSCounterStyleAtRulesEnabled and CSSCounterStyleAtRuleImageSymbolsEnabled.
-webexposed/counter-style-image-symbols-not-exposed.html [ Skip ]
Deleted: trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed-expected.txt (276417 => 276418)
--- trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed-expected.txt 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed-expected.txt 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,3 +0,0 @@
-
-PASS @counter-style image symbols are not exposed
-
Deleted: trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed.html (276417 => 276418)
--- trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed.html 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/LayoutTests/webexposed/counter-style-image-symbols-not-exposed.html 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,17 +0,0 @@
-<!DOCTYPE html> <!-- webkit-test-runner [ CSSCounterStyleAtRuleImageSymbolsEnabled=false ] -->
-<script src=""
-<script src=""
-<style>
- @counter-style foo {
- system: cyclic;
- suffix: " ";
- symbols: linear-gradient(yellow, blue);
- }
-</style>
-<script>
- test(function() {
- const cssRules = document.styleSheets[0].cssRules
- assert_equals(cssRules.length, 1, 'Should\'ve been able to parse @counter-style.')
- assert_equals(cssRules[0].symbols, '', 'Shouldn\'t have been able to parse image symbol value with the runtime feature flag disabled.')
- }, '@counter-style image symbols are not exposed')
-</script>
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (276417 => 276418)
--- trunk/Source/WebCore/ChangeLog 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/ChangeLog 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,3 +1,22 @@
+2021-04-21 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r276380 and r276386.
+ https://bugs.webkit.org/show_bug.cgi?id=224912
+
+ Caused WPT css/css-counter-styles/cssom test crashes on macOS
+ WK1 with ASan
+
+ Reverted changesets:
+
+ "[css-counter-styles] Parse @counter-style descriptors"
+ https://bugs.webkit.org/show_bug.cgi?id=224718
+ https://trac.webkit.org/changeset/276380
+
+ "CSSComputedStyleDeclaration.cpp should use C++ style
+ comments"
+ https://bugs.webkit.org/show_bug.cgi?id=224875
+ https://trac.webkit.org/changeset/276386
+
2021-04-21 Peng Liu <[email protected]>
[GPUP] Refactor SourceBuffer::enqueuedSamplesForTrackID() for testing purposes
Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (276417 => 276418)
--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2021-04-22 03:28:03 UTC (rev 276418)
@@ -3906,7 +3906,7 @@
}
#endif
- // Individual properties not part of the spec
+ /* Individual properties not part of the spec */
case CSSPropertyBackgroundRepeatX:
case CSSPropertyBackgroundRepeatY:
break;
@@ -3947,13 +3947,13 @@
case CSSPropertyQuotes:
return valueForQuotes(style.quotes());
- // Unimplemented CSS 3 properties (including CSS3 shorthand properties)
+ /* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */
case CSSPropertyAll:
case CSSPropertyAnimation:
case CSSPropertyWebkitTextEmphasis:
break;
- // Directional properties are resolved by resolveDirectionAwareProperty() before the switch.
+ /* Directional properties are resolved by resolveDirectionAwareProperty() before the switch. */
case CSSPropertyBorderBlockEnd:
case CSSPropertyBorderBlockEndColor:
case CSSPropertyBorderBlockEndStyle:
@@ -4003,30 +4003,18 @@
ASSERT_NOT_REACHED();
break;
- // These are intentionally unimplemented because they are actually descriptors for @counter-style.
- case CSSPropertySystem:
- case CSSPropertyNegative:
- case CSSPropertyPrefix:
- case CSSPropertySuffix:
- case CSSPropertyRange:
- case CSSPropertyPad:
- case CSSPropertyFallback:
- case CSSPropertySymbols:
- case CSSPropertyAdditiveSymbols:
- break;
-
- // Unimplemented @font-face properties
+ /* Unimplemented @font-face properties */
case CSSPropertySrc:
case CSSPropertyUnicodeRange:
case CSSPropertyFontDisplay:
break;
- // Other unimplemented properties
+ /* Other unimplemented properties */
case CSSPropertyPage: // for @page
case CSSPropertySize: // for @page
break;
- // Unimplemented -webkit- properties
+ /* Unimplemented -webkit- properties */
case CSSPropertyWebkitBorderRadius:
case CSSPropertyWebkitMarginCollapse:
case CSSPropertyWebkitMarqueeDirection:
Modified: trunk/Source/WebCore/css/CSSCounterStyleRule.cpp (276417 => 276418)
--- trunk/Source/WebCore/css/CSSCounterStyleRule.cpp 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/CSSCounterStyleRule.cpp 2021-04-22 03:28:03 UTC (rev 276418)
@@ -26,12 +26,6 @@
#include "config.h"
#include "CSSCounterStyleRule.h"
-#include "CSSPropertyParser.h"
-#include "CSSStyleSheet.h"
-#include "CSSTokenizer.h"
-#include "Pair.h"
-#include <wtf/text/StringBuilder.h>
-
namespace WebCore {
StyleRuleCounterStyle::StyleRuleCounterStyle(const AtomString& name, Ref<StyleProperties>&& properties)
@@ -46,94 +40,6 @@
return adoptRef(*new StyleRuleCounterStyle(name, WTFMove(properties)));
}
-static CounterStyleSystem toCounterStyleSystemEnum(RefPtr<CSSValue> system)
-{
- if (!system || !system->isPrimitiveValue())
- return CounterStyleSystem::Symbolic;
-
- auto& primitiveSystemValue = downcast<CSSPrimitiveValue>(*system);
- ASSERT(primitiveSystemValue.isValueID() || primitiveSystemValue.isPair());
- CSSValueID systemKeyword = CSSValueInvalid;
- if (primitiveSystemValue.isValueID())
- systemKeyword = primitiveSystemValue.valueID();
- else if (auto* pair = primitiveSystemValue.pairValue()) {
- // This value must be `fixed` or `extends`, both of which can or must have an additional component.
- auto firstValue = pair->first();
- ASSERT(firstValue && firstValue->isValueID());
- if (firstValue)
- systemKeyword = firstValue->valueID();
- }
-
- switch (systemKeyword) {
- case CSSValueCyclic:
- return CounterStyleSystem::Cyclic;
- case CSSValueFixed:
- return CounterStyleSystem::Fixed;
- case CSSValueSymbolic:
- return CounterStyleSystem::Symbolic;
- case CSSValueAlphabetic:
- return CounterStyleSystem::Alphabetic;
- case CSSValueNumeric:
- return CounterStyleSystem::Numeric;
- case CSSValueAdditive:
- return CounterStyleSystem::Additive;
- case CSSValueExtends:
- return CounterStyleSystem::Extends;
- default:
- ASSERT_NOT_REACHED();
- return CounterStyleSystem::Symbolic;
- }
-}
-
-static bool symbolsValidForSystem(CounterStyleSystem system, RefPtr<CSSValue> symbols, RefPtr<CSSValue> additiveSymbols)
-{
- switch (system) {
- case CounterStyleSystem::Cyclic:
- case CounterStyleSystem::Fixed:
- case CounterStyleSystem::Symbolic:
- return symbols && symbols->isValueList() && downcast<CSSValueList>(*symbols).length();
- case CounterStyleSystem::Alphabetic:
- case CounterStyleSystem::Numeric:
- return symbols && symbols->isValueList() && downcast<CSSValueList>(*symbols).length() >= 2u;
- case CounterStyleSystem::Additive:
- return additiveSymbols && additiveSymbols->isValueList() && downcast<CSSValueList>(*additiveSymbols).length();
- case CounterStyleSystem::Extends:
- return !symbols && !additiveSymbols;
- default:
- ASSERT_NOT_REACHED();
- return false;
- }
-}
-
-bool StyleRuleCounterStyle::newValueInvalidOrEqual(CSSPropertyID propertyID, const RefPtr<CSSValue> newValue) const
-{
- auto currentValue = m_properties->getPropertyCSSValue(propertyID);
- if (compareCSSValuePtr(currentValue, newValue))
- return true;
-
- RefPtr<CSSValue> symbols;
- RefPtr<CSSValue> additiveSymbols;
- switch (propertyID) {
- case CSSPropertySystem:
- // If the attribute being set is `system`, and the new value would change the algorithm used, do nothing
- // and abort these steps.
- // (It's okay to change an aspect of the algorithm, like the first symbol value of a `fixed` system.)
- return toCounterStyleSystemEnum(currentValue) != toCounterStyleSystemEnum(newValue);
- case CSSPropertySymbols:
- symbols = newValue;
- additiveSymbols = m_properties->getPropertyCSSValue(CSSPropertyAdditiveSymbols);
- break;
- case CSSPropertyAdditiveSymbols:
- symbols = m_properties->getPropertyCSSValue(CSSPropertySymbols);
- additiveSymbols = newValue;
- break;
- default:
- return false;
- }
- auto system = m_properties->getPropertyCSSValue(CSSPropertySystem);
- return symbolsValidForSystem(toCounterStyleSystemEnum(system), symbols, additiveSymbols);
-}
-
StyleRuleCounterStyle::~StyleRuleCounterStyle() = default;
MutableStyleProperties& StyleRuleCounterStyle::mutableProperties()
@@ -158,47 +64,8 @@
String CSSCounterStyleRule::cssText() const
{
- String systemText = system();
- const char* systemPrefix = systemText.isEmpty() ? "" : " system: ";
- const char* systemSuffix = systemText.isEmpty() ? "" : ";";
-
- String symbolsText = symbols();
- const char* symbolsPrefix = symbolsText.isEmpty() ? "" : " symbols: ";
- const char* symbolsSuffix = symbolsText.isEmpty() ? "" : ";";
-
- String additiveSymbolsText = additiveSymbols();
- const char* additiveSymbolsPrefix = additiveSymbolsText.isEmpty() ? "" : " additive-symbols: ";
- const char* additiveSymbolsSuffix = additiveSymbolsText.isEmpty() ? "" : ";";
-
- String negativeText = negative();
- const char* negativePrefix = negativeText.isEmpty() ? "" : " negative: ";
- const char* negativeSuffix = negativeText.isEmpty() ? "" : ";";
-
- String prefixText = prefix();
- const char* prefixTextPrefix = prefixText.isEmpty() ? "" : " prefix: ";
- const char* prefixTextSuffix = prefixText.isEmpty() ? "" : ";";
-
- String suffixText = suffix();
- const char* suffixTextPrefix = suffixText.isEmpty() ? "" : " suffix: ";
- const char* suffixTextSuffix = suffixText.isEmpty() ? "" : ";";
-
- String padText = pad();
- const char* padPrefix = padText.isEmpty() ? "" : " pad: ";
- const char* padSuffix = padText.isEmpty() ? "" : ";";
-
- String rangeText = range();
- const char* rangePrefix = rangeText.isEmpty() ? "" : " range: ";
- const char* rangeSuffix = rangeText.isEmpty() ? "" : ";";
-
- String fallbackText = fallback();
- const char* fallbackPrefix = fallbackText.isEmpty() ? "" : " fallback: ";
- const char* fallbackSuffix = fallbackText.isEmpty() ? "" : ";";
-
- String speakAsText = speakAs();
- const char* speakAsPrefix = speakAsText.isEmpty() ? "" : " speak-as: ";
- const char* speakAsSuffix = speakAsText.isEmpty() ? "" : ";";
-
- return makeString("@counter-style ", name(), " {", systemPrefix, systemText, systemSuffix, symbolsPrefix, symbolsText, symbolsSuffix, additiveSymbolsPrefix, additiveSymbolsText, additiveSymbolsSuffix, negativePrefix, negativeText, negativeSuffix, prefixTextPrefix, prefixText, prefixTextSuffix, suffixTextPrefix, suffixText, suffixTextSuffix, padPrefix, padText, padSuffix, rangePrefix, rangeText, rangeSuffix, fallbackPrefix, fallbackText, fallbackSuffix, speakAsPrefix, speakAsText, speakAsSuffix, " }");
+ // FIXME: Implement this function when we parse @counter-style descriptors.
+ return emptyString();
}
void CSSCounterStyleRule::reattach(StyleRuleBase& rule)
@@ -206,77 +73,4 @@
m_counterStyleRule = static_cast<StyleRuleCounterStyle&>(rule);
}
-// https://drafts.csswg.org/css-counter-styles-3/#dom-csscounterstylerule-name
-void CSSCounterStyleRule::setName(const String& text)
-{
- auto tokens = CSSTokenizer(text).tokenRange();
- auto name = CSSPropertyParserHelpers::consumeCounterStyleNameInPrelude(tokens);
- if (name.isNull() || name == m_counterStyleRule->name())
- return;
-
- CSSStyleSheet::RuleMutationScope mutationScope(this);
- m_counterStyleRule->setName(name);
-}
-
-void CSSCounterStyleRule::setterInternal(CSSPropertyID propertyID, const String& valueText)
-{
- auto tokens = CSSTokenizer(valueText).tokenRange();
- auto newValue = CSSPropertyParser::parseCounterStyleDescriptor(propertyID, tokens, parserContext());
- if (m_counterStyleRule->newValueInvalidOrEqual(propertyID, newValue))
- return;
-
- CSSStyleSheet::RuleMutationScope mutationScope(this);
- m_counterStyleRule->mutableProperties().setProperty(propertyID, WTFMove(newValue));
-}
-
-void CSSCounterStyleRule::setSystem(const String& text)
-{
- setterInternal(CSSPropertySystem, text);
-}
-
-void CSSCounterStyleRule::setNegative(const String& text)
-{
- setterInternal(CSSPropertyNegative, text);
-}
-
-void CSSCounterStyleRule::setPrefix(const String& text)
-{
- setterInternal(CSSPropertyPrefix, text);
-}
-
-void CSSCounterStyleRule::setSuffix(const String& text)
-{
- setterInternal(CSSPropertySuffix, text);
-}
-
-void CSSCounterStyleRule::setRange(const String& text)
-{
- setterInternal(CSSPropertyRange, text);
-}
-
-void CSSCounterStyleRule::setPad(const String& text)
-{
- setterInternal(CSSPropertyPad, text);
-}
-
-void CSSCounterStyleRule::setFallback(const String& text)
-{
- setterInternal(CSSPropertyFallback, text);
-}
-
-void CSSCounterStyleRule::setSymbols(const String& text)
-{
- setterInternal(CSSPropertySymbols, text);
-}
-
-void CSSCounterStyleRule::setAdditiveSymbols(const String& text)
-{
- setterInternal(CSSPropertyAdditiveSymbols, text);
-}
-
-void CSSCounterStyleRule::setSpeakAs(const String& text)
-{
- setterInternal(CSSPropertySpeakAs, text);
-}
-
} // namespace WebCore
Modified: trunk/Source/WebCore/css/CSSCounterStyleRule.h (276417 => 276418)
--- trunk/Source/WebCore/css/CSSCounterStyleRule.h 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/CSSCounterStyleRule.h 2021-04-22 03:28:03 UTC (rev 276418)
@@ -32,18 +32,6 @@
namespace WebCore {
-// The keywords that can be used as values for the counter-style `system` descriptor.
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-system
-enum class CounterStyleSystem : uint8_t {
- Cyclic,
- Numeric,
- Alphabetic,
- Symbolic,
- Additive,
- Fixed,
- Extends
-};
-
class StyleRuleCounterStyle final : public StyleRuleBase {
public:
static Ref<StyleRuleCounterStyle> create(const AtomString& name, Ref<StyleProperties>&&);
@@ -53,21 +41,7 @@
MutableStyleProperties& mutableProperties();
const AtomString& name() const { return m_name; }
- String system() const { return m_properties->getPropertyValue(CSSPropertySystem); }
- String negative() const { return m_properties->getPropertyValue(CSSPropertyNegative); }
- String prefix() const { return m_properties->getPropertyValue(CSSPropertyPrefix); }
- String suffix() const { return m_properties->getPropertyValue(CSSPropertySuffix); }
- String range() const { return m_properties->getPropertyValue(CSSPropertyRange); }
- String pad() const { return m_properties->getPropertyValue(CSSPropertyPad); }
- String fallback() const { return m_properties->getPropertyValue(CSSPropertyFallback); }
- String symbols() const { return m_properties->getPropertyValue(CSSPropertySymbols); }
- String additiveSymbols() const { return m_properties->getPropertyValue(CSSPropertyAdditiveSymbols); }
- String speakAs() const { return m_properties->getPropertyValue(CSSPropertySpeakAs); }
- bool newValueInvalidOrEqual(CSSPropertyID, const RefPtr<CSSValue> newValue) const;
-
- void setName(const AtomString& name) { m_name = name; }
-
private:
explicit StyleRuleCounterStyle(const AtomString&, Ref<StyleProperties>&&);
@@ -85,34 +59,34 @@
CSSRule::Type type() const final { return COUNTER_STYLE_RULE; }
String name() const { return m_counterStyleRule->name(); }
- String system() const { return m_counterStyleRule->system(); }
- String negative() const { return m_counterStyleRule->negative(); }
- String prefix() const { return m_counterStyleRule->prefix(); }
- String suffix() const { return m_counterStyleRule->suffix(); }
- String range() const { return m_counterStyleRule->range(); }
- String pad() const { return m_counterStyleRule->pad(); }
- String fallback() const { return m_counterStyleRule->fallback(); }
- String symbols() const { return m_counterStyleRule->symbols(); }
- String additiveSymbols() const { return m_counterStyleRule->additiveSymbols(); }
- String speakAs() const { return m_counterStyleRule->speakAs(); }
+ // FIXME: Implement after we parse @counter-style descriptors.
+ String system() const { return emptyString(); }
+ String negative() const { return emptyString(); }
+ String prefix() const { return emptyString(); }
+ String suffix() const { return emptyString(); }
+ String range() const { return emptyString(); }
+ String pad() const { return emptyString(); }
+ String fallback() const { return emptyString(); }
+ String symbols() const { return emptyString(); }
+ String additiveSymbols() const { return emptyString(); }
+ String speakAs() const { return emptyString(); }
- void setName(const String&);
- void setSystem(const String&);
- void setNegative(const String&);
- void setPrefix(const String&);
- void setSuffix(const String&);
- void setRange(const String&);
- void setPad(const String&);
- void setFallback(const String&);
- void setSymbols(const String&);
- void setAdditiveSymbols(const String&);
- void setSpeakAs(const String&);
+ // FIXME: Implement after we parse @counter-style descriptors.
+ void setName(const String&) { }
+ void setSystem(const String&) { }
+ void setNegative(const String&) { }
+ void setPrefix(const String&) { }
+ void setSuffix(const String&) { }
+ void setRange(const String&) { }
+ void setPad(const String&) { }
+ void setFallback(const String&) { }
+ void setSymbols(const String&) { }
+ void setAdditiveSymbols(const String&) { }
+ void setSpeakAs(const String&) { }
private:
CSSCounterStyleRule(StyleRuleCounterStyle&, CSSStyleSheet* parent);
- void setterInternal(CSSPropertyID, const String&);
-
Ref<StyleRuleCounterStyle> m_counterStyleRule;
};
Modified: trunk/Source/WebCore/css/CSSProperties.json (276417 => 276418)
--- trunk/Source/WebCore/css/CSSProperties.json 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/CSSProperties.json 2021-04-22 03:28:03 UTC (rev 276418)
@@ -803,16 +803,6 @@
"url": "https://www.w3.org/TR/css-ruby-1/#rubypos"
}
},
- "additive-symbols": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-symbols"
- }
- },
"alignment-baseline": {
"values": [
"auto",
@@ -2446,16 +2436,6 @@
"category": "svg"
}
},
- "fallback": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-fallback"
- }
- },
"fill": {
"inherited": true,
"codegen-properties": {
@@ -3397,16 +3377,6 @@
"url": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-y"
}
},
- "pad": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-pad"
- }
- },
"padding": {
"codegen-properties": {
"longhands": [
@@ -3880,16 +3850,6 @@
"url": "https://www.w3.org/TR/css3-speech/#speak-as"
}
},
- "symbols": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-symbols"
- }
- },
"table-layout": {
"values": [
"auto",
@@ -6084,16 +6044,6 @@
},
"status": "non-standard"
},
- "negative": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-negative"
- }
- },
"color-scheme": {
"inherited": true,
"values": [
@@ -6179,16 +6129,6 @@
"url": "https://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin"
}
},
- "prefix": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-prefix"
- }
- },
"-webkit-print-color-adjust": {
"inherited": true,
"values": [
@@ -6197,16 +6137,6 @@
],
"status": "non-standard"
},
- "range": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-range"
- }
- },
"-webkit-rtl-ordering": {
"inherited": true,
"values": [
@@ -6219,16 +6149,6 @@
},
"status": "non-standard"
},
- "suffix": {
- "runtime-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-suffix"
- }
- },
"-webkit-svg-shadow": {
"codegen-properties": {
"skip-codegen": true
@@ -7051,16 +6971,6 @@
"url": "https://www.w3.org/TR/css-shapes/#propdef-shape-image-threshold"
}
},
- "system": {
- "settings-flag": "cssCounterStyleAtRule",
- "codegen-properties": {
- "skip-builder": true
- },
- "specification": {
- "category": "css-counter-styles",
- "url": "https://www.w3.org/TR/css-counter-styles-3/#counter-style-system"
- }
- },
"-webkit-tap-highlight-color": {
"inherited": true,
"codegen-properties": {
@@ -7231,11 +7141,6 @@
"longname": "CSS Generated Content Module",
"url": "https://www.w3.org/TR/css-content-3/"
},
- "css-counter-styles": {
- "shortname": "CSS Counter Styles",
- "longname": "CSS Counter Styles Module",
- "url": "https://www.w3.org/TR/css-counter-styles-3"
- },
"css-device-adapt": {
"shortname": "CSS Device Adaptation",
"longname": "CSS Device Adaptation Module",
Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (276417 => 276418)
--- trunk/Source/WebCore/css/CSSValueKeywords.in 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1505,24 +1505,6 @@
standard
high
-// @counter-style `system` descriptor values
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-system
-cyclic
-numeric
-// alphabetic
-symbolic
-additive
-// fixed
-extends
-
-// @counter-style `speak-as` descriptor values
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-speak-as
-// auto
-bullets
-numbers
-words
-// spell-out
-
// @supports selector()
// https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn
selector
Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (276417 => 276418)
--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2021-04-22 03:28:03 UTC (rev 276418)
@@ -4535,219 +4535,15 @@
return nullptr;
}
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-system
-static RefPtr<CSSPrimitiveValue> consumeCounterStyleSystem(CSSParserTokenRange& range)
-{
- if (auto ident = consumeIdent<CSSValueCyclic, CSSValueNumeric, CSSValueAlphabetic, CSSValueSymbolic, CSSValueAdditive>(range))
- return ident;
-
- if (auto ident = consumeIdent<CSSValueFixed>(range)) {
- if (range.atEnd())
- return ident;
- // If we have the `fixed` keyword but the range is not at the end, the next token must be a integer.
- // If it's not, this value is invalid.
- auto firstSymbolValue = consumeInteger(range);
- if (!firstSymbolValue)
- return nullptr;
- return createPrimitiveValuePair(ident.releaseNonNull(), firstSymbolValue.releaseNonNull());
- }
-
- if (auto ident = consumeIdent<CSSValueExtends>(range)) {
- // There must be a `<counter-style-name>` following the `extends` keyword. If there isn't, this value is invalid.
- auto parsedCounterStyleName = consumeCounterStyleName(range);
- if (!parsedCounterStyleName)
- return nullptr;
- return createPrimitiveValuePair(ident.releaseNonNull(), parsedCounterStyleName.releaseNonNull());
- }
- return nullptr;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#typedef-symbol
-static RefPtr<CSSValue> consumeCounterStyleSymbol(CSSParserTokenRange& range, const CSSParserContext& context)
-{
- if (auto string = consumeString(range))
- return string;
- if (auto customIdent = consumeCustomIdent(range))
- return customIdent;
- // There are inherent difficulties in supporting <image> symbols in @counter-styles, so gate them behind a
- // flag for now. https://bugs.webkit.org/show_bug.cgi?id=167645
- if (context.counterStyleAtRuleImageSymbolsEnabled) {
- if (auto image = consumeImage(range, context, { AllowedImageType::URLFunction, AllowedImageType::GeneratedImage }))
- return image;
- }
- return nullptr;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-negative
-static RefPtr<CSSValue> consumeCounterStyleNegative(CSSParserTokenRange& range, const CSSParserContext& context)
-{
- auto prependValue = consumeCounterStyleSymbol(range, context);
- if (!prependValue)
- return nullptr;
- if (range.atEnd())
- return prependValue;
-
- auto appendValue = consumeCounterStyleSymbol(range, context);
- if (!appendValue || !range.atEnd())
- return nullptr;
-
- RefPtr<CSSValueList> values = CSSValueList::createSpaceSeparated();
- values->append(prependValue.releaseNonNull());
- values->append(appendValue.releaseNonNull());
- return values;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-range
-static RefPtr<CSSPrimitiveValue> consumeCounterStyleRangeBound(CSSParserTokenRange& range)
-{
- if (auto infinite = consumeIdent<CSSValueInfinite>(range))
- return infinite;
- if (auto integer = consumeInteger(range))
- return integer;
- return nullptr;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-range
-static RefPtr<CSSValue> consumeCounterStyleRange(CSSParserTokenRange& range)
-{
- if (auto autoValue = consumeIdent<CSSValueAuto>(range))
- return autoValue;
-
- auto rangeList = CSSValueList::createCommaSeparated();
- do {
- auto lowerBound = consumeCounterStyleRangeBound(range);
- if (!lowerBound)
- return nullptr;
- auto upperBound = consumeCounterStyleRangeBound(range);
- if (!upperBound)
- return nullptr;
-
- // If the lower bound of any range is higher than the upper bound, the entire descriptor is invalid and must be
- // ignored.
- if (lowerBound->isNumber() && upperBound->isNumber() && lowerBound->intValue() > upperBound->intValue())
- return nullptr;
- rangeList->append(createPrimitiveValuePair(lowerBound.releaseNonNull(), upperBound.releaseNonNull(), Pair::IdenticalValueEncoding::DoNotCoalesce));
- } while (consumeCommaIncludingWhitespace(range));
- if (!range.atEnd() || !rangeList->length())
- return nullptr;
- return rangeList;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-pad
-static RefPtr<CSSValue> consumeCounterStylePad(CSSParserTokenRange& range, const CSSParserContext& context)
-{
- RefPtr<CSSValue> integer;
- RefPtr<CSSValue> symbol;
- while (!integer || !symbol) {
- if (!integer) {
- integer = consumeInteger(range, ValueRangeNonNegative);
- if (integer)
- continue;
- }
- if (!symbol) {
- symbol = consumeCounterStyleSymbol(range, context);
- if (symbol)
- continue;
- }
- return nullptr;
- }
- if (!range.atEnd())
- return nullptr;
- auto values = CSSValueList::createSpaceSeparated();
- values->append(integer.releaseNonNull());
- values->append(symbol.releaseNonNull());
- return values;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-symbols
-static RefPtr<CSSValue> consumeCounterStyleSymbols(CSSParserTokenRange& range, const CSSParserContext& context)
-{
- auto symbols = CSSValueList::createSpaceSeparated();
- while (!range.atEnd()) {
- auto symbol = consumeCounterStyleSymbol(range, context);
- if (!symbol)
- return nullptr;
- symbols->append(symbol.releaseNonNull());
- }
- if (!symbols->length())
- return nullptr;
- return symbols;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-symbols
-static RefPtr<CSSValue> consumeCounterStyleAdditiveSymbols(CSSParserTokenRange& range, const CSSParserContext& context)
-{
- auto values = CSSValueList::createCommaSeparated();
- RefPtr<CSSPrimitiveValue> lastInteger;
- do {
- RefPtr<CSSPrimitiveValue> integer;
- RefPtr<CSSValue> symbol;
- while (!integer || !symbol) {
- if (!integer) {
- integer = consumeInteger(range, ValueRangeNonNegative);
- if (integer)
- continue;
- }
- if (!symbol) {
- symbol = consumeCounterStyleSymbol(range, context);
- if (symbol)
- continue;
- }
- return nullptr;
- }
-
- if (lastInteger) {
- // The additive tuples must be specified in order of strictly descending
- // weight; otherwise, the declaration is invalid and must be ignored.
- if (integer->intValue() >= lastInteger->intValue())
- return nullptr;
- }
- lastInteger = integer;
- values->append(integer.releaseNonNull());
- values->append(symbol.releaseNonNull());
- } while (consumeCommaIncludingWhitespace(range));
- if (!range.atEnd() || !values->length())
- return nullptr;
- return values;
-}
-
-// https://www.w3.org/TR/css-counter-styles-3/#counter-style-speak-as
-static RefPtr<CSSValue> consumeCounterStyleSpeakAs(CSSParserTokenRange& range)
-{
- if (auto speakAsIdent = consumeIdent<CSSValueAuto, CSSValueBullets, CSSValueNumbers, CSSValueWords, CSSValueSpellOut>(range))
- return speakAsIdent;
- return consumeCounterStyleName(range);
-}
-
RefPtr<CSSValue> CSSPropertyParser::parseCounterStyleDescriptor(CSSPropertyID propId, CSSParserTokenRange& range, const CSSParserContext& context)
{
if (!context.counterStyleAtRulesEnabled)
return nullptr;
-
- switch (propId) {
- case CSSPropertySystem:
- return consumeCounterStyleSystem(range);
- case CSSPropertyNegative:
- return consumeCounterStyleNegative(range, context);
- case CSSPropertyPrefix:
- case CSSPropertySuffix:
- return consumeCounterStyleSymbol(range, context);
- case CSSPropertyRange:
- return consumeCounterStyleRange(range);
- case CSSPropertyPad:
- return consumeCounterStylePad(range, context);
- case CSSPropertyFallback:
- return consumeCounterStyleName(range);
- case CSSPropertySymbols:
- return consumeCounterStyleSymbols(range, context);
- case CSSPropertyAdditiveSymbols:
- return consumeCounterStyleAdditiveSymbols(range, context);
- case CSSPropertySpeakAs:
- return consumeCounterStyleSpeakAs(range);
- default:
- ASSERT_NOT_REACHED();
- return nullptr;
- }
+ // FIXME: Implement this function when we can parse @counter-style descriptors.
+ UNUSED_PARAM(propId);
+ UNUSED_PARAM(range);
+ UNUSED_PARAM(context);
+ return nullptr;
}
bool CSSPropertyParser::parseCounterStyleDescriptor(CSSPropertyID propId, const CSSParserContext& context)
Modified: trunk/Tools/ChangeLog (276417 => 276418)
--- trunk/Tools/ChangeLog 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Tools/ChangeLog 2021-04-22 03:28:03 UTC (rev 276418)
@@ -1,3 +1,22 @@
+2021-04-21 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r276380 and r276386.
+ https://bugs.webkit.org/show_bug.cgi?id=224912
+
+ Caused WPT css/css-counter-styles/cssom test crashes on macOS
+ WK1 with ASan
+
+ Reverted changesets:
+
+ "[css-counter-styles] Parse @counter-style descriptors"
+ https://bugs.webkit.org/show_bug.cgi?id=224718
+ https://trac.webkit.org/changeset/276380
+
+ "CSSComputedStyleDeclaration.cpp should use C++ style
+ comments"
+ https://bugs.webkit.org/show_bug.cgi?id=224875
+ https://trac.webkit.org/changeset/276386
+
2021-04-21 Chris Dumez <[email protected]>
Regression(r275887) open.spotify.com says Safari is not supported
Modified: trunk/Tools/DumpRenderTree/TestOptions.cpp (276417 => 276418)
--- trunk/Tools/DumpRenderTree/TestOptions.cpp 2021-04-22 03:20:47 UTC (rev 276417)
+++ trunk/Tools/DumpRenderTree/TestOptions.cpp 2021-04-22 03:28:03 UTC (rev 276418)
@@ -133,7 +133,7 @@
{ "AsyncClipboardAPIEnabled", false },
{ "AttachmentElementEnabled", false },
{ "CSSContainmentEnabled", false },
- { "CSSCounterStyleAtRulesEnabled", false },
+ { "CSSCounterStyleAtRuleEnabled", false },
{ "CSSCounterStyleAtRuleImageSymbolsEnabled", false },
{ "CSSLogicalEnabled", false },
{ "CSSOMViewSmoothScrollingEnabled", false },