[webkit-changes] [WebKit/WebKit] 78e6b5: Twitter is not filtered by content filter

Per Arne Vollan noreply at github.com
Mon Feb 27 11:09:09 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 78e6b51bca3333ed35eb4c3448440f52c565be38
      https://github.com/WebKit/WebKit/commit/78e6b51bca3333ed35eb4c3448440f52c565be38
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-02-27 (Mon, 27 Feb 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.https-expected.txt
    A LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.https.html
    A LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.js
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.h
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h

  Log Message:
  -----------
  Twitter is not filtered by content filter
https://bugs.webkit.org/show_bug.cgi?id=252496
rdar://103032824

Reviewed by Sihui Liu.

Twitter is not filtered by content filter since service worker fetch is missing filtering code.
Make sure content filtering is started on service worker fetch, and let the content filter
intercept the fetch if it should be blocked. The didReceiveData method in ServiceWorkerFetchTask
has been split into two methods, since it was being called both when receiving data over IPC and
from the network. The unsafeBuffer method in IPC::SharedBufferReference is only allowed to be
called on the receiver side. The call to startContentFiltering was moved to a location where it
will also be called on service worker fetch, which required a little refactoring.

* LayoutTests/TestExpectations:
* LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.https-expected.txt: Added.
* LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.https.html: Added.
* LayoutTests/http/wpt/service-workers/basic-fetch-with-contentfilter.js: Added.
(doTest):
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac/TestExpectations:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startRequest):
(WebKit::NetworkResourceLoader::startWithServiceWorker):
(WebKit::NetworkResourceLoader::requestIsForServiceWorkerOnly):
(WebKit::NetworkResourceLoader::serviceWorkerDidNotHandle):
(WebKit::NetworkResourceLoader::continueAfterServiceWorkerReceivedData):
(WebKit::NetworkResourceLoader::continueAfterServiceWorkerReceivedResponse):
(WebKit::NetworkResourceLoader::serviceWorkerDidFinish):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::processResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::didReceiveDataFromPreloader):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:

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




More information about the webkit-changes mailing list