Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e375751b5b526c89d630ddccad2e4f2df3ac0d2a
      
https://github.com/WebKit/WebKit/commit/e375751b5b526c89d630ddccad2e4f2df3ac0d2a
  Author: Charlie Wolfe <charl...@apple.com>
  Date:   2023-12-14 (Thu, 14 Dec 2023)

  Changed paths:
    M Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h
    M Source/WebCore/page/LinkDecorationFilteringData.h
    M Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Tools/TestWebKitAPI/Tests/WebKit/AdvancedPrivacyProtections.mm

  Log Message:
  -----------
  Link decoration filtering should be able to be conditional on URL path
https://bugs.webkit.org/show_bug.cgi?id=266382
rdar://111189162

Reviewed by Wenson Hsieh.

There are situations where we want query parameter removal to only happen for 
particular URL paths. This
patch adds support to do so.

Since link decoration filtering is now conditional on domains and paths, I 
removed
`m_domainScopedLinkDecorationFilteringData` and made 
`m_linkDecorationFilteringData` map from query
parameter to the domain and path conditionals.

I also made changes so that our API tests support testing link decoration 
filtering by domain and path.

* Source/WebCore/PAL/pal/spi/cocoa/WebPrivacySPI.h:
* Source/WebCore/page/LinkDecorationFilteringData.h:
(WebCore::LinkDecorationFilteringData::LinkDecorationFilteringData):
(WebCore::LinkDecorationFilteringData::operator=):
(WebCore::LinkDecorationFilteringData::linkDecoration): Deleted.
* Source/WebKit/Platform/cocoa/WebPrivacyHelpers.mm:
(WebKit::LinkDecorationFilteringController::updateStrings):
(WebKit::requestLinkDecorationFilteringData):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::applyLinkDecorationFilteringWithResult):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setLinkDecorationFilteringData):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Tools/TestWebKitAPI/Tests/WebKit/AdvancedPrivacyProtections.mm:
(TestWebKitAPI::makeQueryParameterRequestHandler):
(TestWebKitAPI::QueryParameterRequestSwizzler::QueryParameterRequestSwizzler):
(TestWebKitAPI::QueryParameterRequestSwizzler::update):
(TestWebKitAPI::TEST):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to