Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5fe8dd6a3b46ad9e11f397ea324c5615cb7680bf
      
https://github.com/WebKit/WebKit/commit/5fe8dd6a3b46ad9e11f397ea324c5615cb7680bf
  Author: Sam Weinig <wei...@apple.com>
  Date:   2024-05-03 (Fri, 03 May 2024)

  Changed paths:
    M Source/WebCore/Modules/cache/DOMCache.cpp
    M Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp
    M Source/WebCore/Modules/entriesapi/FileSystemEntry.cpp
    M Source/WebCore/Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp
    M Source/WebCore/Modules/indexeddb/IDBKeyData.cpp
    M Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
    M Source/WebCore/bindings/js/JSDOMConvertUnion.h
    M Source/WebCore/css/CSSGradientValue.cpp
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/DeprecatedCSSOMValue.cpp
    M Source/WebCore/css/StyleRule.cpp
    M Source/WebCore/css/color/CSSResolvedColorMix.cpp
    M Source/WebCore/dom/Node.cpp
    M Source/WebCore/loader/SubresourceIntegrity.cpp
    M Source/WebCore/loader/appcache/ApplicationCacheManifestParser.cpp
    M Source/WebCore/platform/Length.cpp
    M Source/WebCore/platform/graphics/Color.cpp
    M Source/WebCore/platform/graphics/ColorBlending.cpp
    M Source/WebCore/platform/graphics/ColorConversion.cpp
    M Source/WebCore/platform/graphics/ColorInterpolation.cpp
    M Source/WebCore/platform/graphics/ColorInterpolationMethod.cpp
    M Source/WebCore/platform/graphics/ColorInterpolationMethod.h
    M Source/WebCore/platform/graphics/ColorSpace.h
    M Source/WebCore/platform/graphics/PathSegment.cpp
    M Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp
    M Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp
    M Source/WebCore/rendering/RenderBox.h
    M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
    M Source/WebCore/style/RuleFeature.cpp
    M Source/WebCore/svg/SVGViewSpec.cpp
    M Source/WebCore/workers/service/ServiceWorkerClients.cpp
    M Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp

  Log Message:
  -----------
  Replace potentially more confusing decltype() usage with template lambdas 
where possible
https://bugs.webkit.org/show_bug.cgi?id=273694

Reviewed by Darin Adler.

A somewhat common patter in WebCore is for a call site to use a generic lambda 
but still
want to know what the type of the generic argument was. Something like:

    function([](auto parameter) {
        using Type = std::decay_t<decltype(parameter)>;

        ...
    });

This was necessary in the past due to the lack of template lambdas, but now we 
have them
and this can be come:

    function([]<typename Type>(Type parameter) {
        ...
    });

Additionally, this now lets us provide a template parameter without the need 
for passing
an argument. For example, if the actual value of the parameter was not needed 
in the
example above, we could instead write:

    function([]<typename Type>() {
        ...
    });

This allows us to generalize a few places that needed a mapping of color space 
to color
type, allowing us to remove some duplicate copies of the big switch.

* Source/WebCore/Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::matchAll):
* Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp:
(WebCore::WorkerCacheStorageConnection::retrieveRecords):
* Source/WebCore/Modules/entriesapi/FileSystemEntry.cpp:
(WebCore::FileSystemEntry::getParent):
* Source/WebCore/Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp:
(WebCore::doFetch):
* Source/WebCore/Modules/indexeddb/IDBKeyData.cpp:
(WebCore::IDBKeyData::IDBKeyData):
(WebCore::IDBKeyData::type const):
* Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::addIceCandidate):
* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addIceCandidate):
* Source/WebCore/bindings/js/JSDOMConvertUnion.h:
(WebCore::Detail::forEachArgs):
(WebCore::forEach):
* Source/WebCore/css/CSSGradientValue.cpp:
(WebCore::appendColorInterpolationMethod):
* Source/WebCore/css/CSSValue.cpp:
(WebCore::CSSValue::equals const):
(WebCore::CSSValue::operator delete):
* Source/WebCore/css/DeprecatedCSSOMValue.cpp:
(WebCore::DeprecatedCSSOMValue::operator delete):
* Source/WebCore/css/StyleRule.cpp:
(WebCore::StyleRuleBase::operator delete):
(WebCore::StyleRuleBase::copy const):
* Source/WebCore/css/color/CSSResolvedColorMix.cpp:
(WebCore::mix):
* Source/WebCore/dom/Node.cpp:
(WebCore::NodeRareData::operator delete):
* Source/WebCore/loader/SubresourceIntegrity.cpp:
(WebCore::parseIntegrityMetadata):
* Source/WebCore/loader/appcache/ApplicationCacheManifestParser.cpp:
(WebCore::parseApplicationCacheManifest):
* Source/WebCore/platform/Length.cpp:
(WebCore::Length::Length):
* Source/WebCore/platform/graphics/Color.cpp:
(WebCore::Color::anyComponentIsNone const):
(WebCore::Color::invertedColorWithAlpha const):
* Source/WebCore/platform/graphics/ColorBlending.cpp:
(WebCore::requiresLegacyInterpolationRules):
* Source/WebCore/platform/graphics/ColorConversion.cpp:
(WebCore::convertAndResolveColorComponents):
* Source/WebCore/platform/graphics/ColorInterpolation.cpp:
(WebCore::interpolateColors):
* Source/WebCore/platform/graphics/ColorInterpolationMethod.cpp:
(WebCore::serializationForCSS):
(WebCore::operator<<):
* Source/WebCore/platform/graphics/ColorInterpolationMethod.h:
(WebCore::add):
(WebCore::serializationForCSS):
* Source/WebCore/platform/graphics/ColorSpace.h:
(WebCore::callWithColorType):
* Source/WebCore/platform/graphics/PathSegment.cpp:
(WebCore::PathSegment::applyElements const):
(WebCore::PathSegment::transform):
* Source/WebCore/platform/graphics/cg/GradientRendererCG.cpp:
(WebCore::GradientRendererCG::makeShading const):
* Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp:
(WebCore::DisplayList::isValid):
(WebCore::DisplayList::dumpItem):
* Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::lastLineBaseline const):
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox):
* Source/WebCore/style/RuleFeature.cpp:
(WebCore::Style::RuleFeatureSet::collectFeatures):
* Source/WebCore/svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::parseViewSpec):
* Source/WebCore/workers/service/ServiceWorkerClients.cpp:
(WebCore::ServiceWorkerClients::get):
(WebCore::ServiceWorkerClients::openWindow):
* Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to