[webkit-changes] [WebKit/WebKit] 7ea03b: [MQ4] Add FeatureSchemas for most media query feat...

Antti Koivisto noreply at github.com
Wed Oct 26 11:43:22 PDT 2022


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

  Changed paths:
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/query/ContainerQueryFeatures.cpp
    M Source/WebCore/css/query/ContainerQueryFeatures.h
    M Source/WebCore/css/query/GenericMediaQueryEvaluator.cpp
    M Source/WebCore/css/query/GenericMediaQueryEvaluator.h
    M Source/WebCore/css/query/GenericMediaQueryParser.cpp
    M Source/WebCore/css/query/GenericMediaQueryTypes.h
    M Source/WebCore/css/query/MediaQueryEvaluator.cpp
    M Source/WebCore/css/query/MediaQueryEvaluator.h
    A Source/WebCore/css/query/MediaQueryFeatures.cpp
    A Source/WebCore/css/query/MediaQueryFeatures.h
    M Source/WebCore/css/query/MediaQueryParser.cpp
    M Source/WebCore/loader/DocumentLoader.h
    M Source/WebCore/style/ContainerQueryEvaluator.cpp

  Log Message:
  -----------
  [MQ4] Add FeatureSchemas for most media query features
https://bugs.webkit.org/show_bug.cgi?id=247061
<rdar://problem/101586285>

Reviewed by Alan Bujtas.

Add schemas with evaluation functions for most media query features (everything except the resolution queries).
Evaluation functions are based on the existing ones in LegacyMediaQueryEvaluator.cpp.

These are not used yet.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/query/ContainerQueryFeatures.cpp:
(WebCore::CQ::Features::SizeFeatureSchema::SizeFeatureSchema):
(WebCore::CQ::Features::orientation):
* Source/WebCore/css/query/ContainerQueryFeatures.h:
* Source/WebCore/css/query/GenericMediaQueryEvaluator.cpp:
(WebCore::MQ::evaluateNumberComparison):
(WebCore::MQ::evaluateIntegerComparison):
(WebCore::MQ::evaluateBooleanFeature):
(WebCore::MQ::evaluateIntegerFeature):
(WebCore::MQ::evaluateNumberFeature):
(WebCore::MQ::evaluateIdentifierFeature):
(WebCore::MQ::evaluateDiscreteFeature): Deleted.
* Source/WebCore/css/query/GenericMediaQueryEvaluator.h:
* Source/WebCore/css/query/GenericMediaQueryParser.cpp:
(WebCore::MQ::GenericMediaQueryParserBase::validateFeatureAgainstSchema):
* Source/WebCore/css/query/GenericMediaQueryTypes.h:
(WebCore::MQ::FeatureSchema::FeatureSchema):
* Source/WebCore/css/query/MediaQueryEvaluator.cpp:
(WebCore::MQ::MediaQueryEvaluator::MediaQueryEvaluator):
(WebCore::MQ::MediaQueryEvaluator::evaluate const):
(WebCore::MQ::MediaQueryEvaluator::evaluateFeature const): Deleted.
* Source/WebCore/css/query/MediaQueryEvaluator.h:
* Source/WebCore/css/query/MediaQueryFeatures.cpp: Added.
(WebCore::MQ::Features::BooleanSchema::BooleanSchema):
(WebCore::MQ::Features::BooleanSchema::valueFunction):
(WebCore::MQ::Features::IntegerSchema::IntegerSchema):
(WebCore::MQ::Features::IntegerSchema::valueFunction):
(WebCore::MQ::Features::LengthSchema::LengthSchema):
(WebCore::MQ::Features::LengthSchema::valueFunction):
(WebCore::MQ::Features::RatioSchema::RatioSchema):
(WebCore::MQ::Features::RatioSchema::valueFunction):
(WebCore::MQ::Features::IdentifierSchema::IdentifierSchema):
(WebCore::MQ::Features::IdentifierSchema::valueFunction):
(WebCore::MQ::Features::animation):
(WebCore::MQ::Features::anyHover):
(WebCore::MQ::Features::anyPointer):
(WebCore::MQ::Features::aspectRatio):
(WebCore::MQ::Features::color):
(WebCore::MQ::Features::colorGamut):
(WebCore::MQ::Features::colorIndex):
(WebCore::MQ::Features::deviceAspectRatio):
(WebCore::MQ::Features::deviceHeight):
(WebCore::MQ::Features::deviceWidth):
(WebCore::MQ::Features::dynamicRange):
(WebCore::MQ::Features::forcedColors):
(WebCore::MQ::Features::grid):
(WebCore::MQ::Features::height):
(WebCore::MQ::Features::hover):
(WebCore::MQ::Features::invertedColors):
(WebCore::MQ::Features::monochrome):
(WebCore::MQ::Features::orientation):
(WebCore::MQ::Features::pointer):
(WebCore::MQ::Features::prefersContrast):
(WebCore::MQ::Features::prefersDarkInterface):
(WebCore::MQ::Features::prefersReducedMotion):
(WebCore::MQ::Features::scan):
(WebCore::MQ::Features::transform2d):
(WebCore::MQ::Features::transform3d):
(WebCore::MQ::Features::transition):
(WebCore::MQ::Features::videoPlayableInline):
(WebCore::MQ::Features::width):
(WebCore::MQ::Features::displayMode):
(WebCore::MQ::Features::prefersColorScheme):
* Source/WebCore/css/query/MediaQueryFeatures.h: Added.
* Source/WebCore/css/query/MediaQueryParser.cpp:
* Source/WebCore/loader/DocumentLoader.h:
* Source/WebCore/style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::featureEvaluationContextForQuery const):

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




More information about the webkit-changes mailing list