[webkit-changes] [WebKit/WebKit] 6848a1: [MQ4] Simplify dynamic media feature handling with...

Antti Koivisto noreply at github.com
Mon Oct 31 13:47:31 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6848a1d81fc9eac386f1be778a0d071c6289bd8f
      https://github.com/WebKit/WebKit/commit/6848a1d81fc9eac386f1be778a0d071c6289bd8f
  Author: Antti Koivisto <antti at apple.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M Source/WebCore/css/LegacyMediaQueryEvaluator.cpp
    M Source/WebCore/css/LegacyMediaQueryEvaluator.h
    M Source/WebCore/css/parser/SizesAttributeParser.cpp
    M Source/WebCore/css/parser/SizesAttributeParser.h
    M Source/WebCore/css/query/MediaQuery.h
    M Source/WebCore/html/HTMLImageElement.cpp
    M Source/WebCore/html/HTMLImageElement.h
    M Source/WebCore/style/RuleSetBuilder.cpp
    M Source/WebCore/style/RuleSetBuilder.h
    M Source/WebCore/style/UserAgentStyle.cpp

  Log Message:
  -----------
  [MQ4] Simplify dynamic media feature handling with legacy evaluator
https://bugs.webkit.org/show_bug.cgi?id=247263
<rdar://problem/101758954>

Reviewed by Alan Baradlay.

This will make it simpler to implement dynamic features in the new evaluator.

* Source/WebCore/css/LegacyMediaQueryEvaluator.cpp:
(WebCore::LegacyMediaQueryEvaluator::evaluate const):

Remove the dynamic feature related parameters from evaluate().

(WebCore::mediaQueryDynamicDependencies):

Add a function to find dynamic dependencies separately from evaluation.

(WebCore::LegacyMediaQueryEvaluator::evaluateForChanges const): Deleted.
* Source/WebCore/css/LegacyMediaQueryEvaluator.h:
(WebCore::MediaQueryDynamicResults::append): Deleted.
(WebCore::MediaQueryDynamicResults::isEmpty const): Deleted.

Replace with a simple OptionSet.

* Source/WebCore/css/parser/SizesAttributeParser.cpp:
(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::mediaConditionMatches):
(WebCore::SizesAttributeParser::parse):

Collect the dynamic queries and the results to a member.

* Source/WebCore/css/parser/SizesAttributeParser.h:
(WebCore::SizesAttributeParser::dynamicMediaConditionResults const):
* Source/WebCore/css/query/MediaQuery.h:
* Source/WebCore/html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::evaluateDynamicMediaQueryDependencies):

Evaluate whole queries instead of individual expressions.

(WebCore::HTMLImageElement::selectImageSource):
* Source/WebCore/html/HTMLImageElement.h:
* Source/WebCore/style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::updateDynamicMediaQueries):
(WebCore::Style::RuleSetBuilder::MediaQueryCollector::pushAndEvaluate):
* Source/WebCore/style/RuleSetBuilder.h:
* Source/WebCore/style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::addToDefaultStyle):

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




More information about the webkit-changes mailing list