[webkit-changes] [WebKit/WebKit] e37575: Link decoration filtering should be able to be con...

Charlie Wolfe noreply at github.com
Thu Dec 14 15:12:26 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e375751b5b526c89d630ddccad2e4f2df3ac0d2a
      https://github.com/WebKit/WebKit/commit/e375751b5b526c89d630ddccad2e4f2df3ac0d2a
  Author: Charlie Wolfe <charliew at 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




More information about the webkit-changes mailing list