[webkit-changes] [WebKit/WebKit] 7c209c: [MQ4] Validate features against schemas

Antti Koivisto noreply at github.com
Sat Oct 15 12:47:58 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7c209cef52dd6e9b327b2a95be3645f7027e3f17
      https://github.com/WebKit/WebKit/commit/7c209cef52dd6e9b327b2a95be3645f7027e3f17
  Author: Antti Koivisto <antti at apple.com>
  Date:   2022-10-15 (Sat, 15 Oct 2022)

  Changed paths:
    M Source/WebCore/css/ContainerQueryParser.cpp
    M Source/WebCore/css/ContainerQueryParser.h
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/query/GenericMediaQueryParser.cpp
    M Source/WebCore/css/query/GenericMediaQueryParser.h
    M Source/WebCore/css/query/GenericMediaQueryTypes.h
    M Source/WebCore/css/query/MediaQueryParser.cpp
    M Source/WebCore/css/query/MediaQueryParser.h
    M Source/WebCore/style/ContainerQueryEvaluator.cpp

  Log Message:
  -----------
  [MQ4] Validate features against schemas
https://bugs.webkit.org/show_bug.cgi?id=246517
rdar://101170872

Reviewed by Alan Bujtas.

Make parser check that media features are known and have valid values.
This is done by checking against feature schemas that describe the valid
syntax for each feature.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/ContainerQueryParser.cpp:
(WebCore::ContainerQueryParser::featureSchemas):

Full schema for container queries.

* Source/WebCore/css/ContainerQueryParser.h:
(WebCore::ContainerQueryParser::rejectInvalidFeatures):
* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeMediaRule):
* Source/WebCore/css/query/GenericMediaQueryParser.h:
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::consumeQueryInParens):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::validateFeature):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::schemaForFeatureName const):
* Source/WebCore/css/query/GenericMediaQueryParser.cpp:
(WebCore::MQ::GenericMediaQueryParserBase::validateFeatureAgainstSchema):
* Source/WebCore/css/query/GenericMediaQueryTypes.h:
* Source/WebCore/css/query/MediaQueryParser.cpp:
(WebCore::MQ::MediaQueryParser::featureSchemas):

Stub schema for media queries (this is not used yet).

* Source/WebCore/css/query/MediaQueryParser.h:
(WebCore::MQ::MediaQueryParser::rejectInvalidFeatures):
* Source/WebCore/style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluateFeature const):

Canonical link: https://commits.webkit.org/255589@main




More information about the webkit-changes mailing list