[webkit-changes] [WebKit/WebKit] e23513: Background fetch response bodies need to be stored...

youennf noreply at github.com
Sat Mar 4 02:42:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e23513fa4f02b36817d8f0f11e455673386d8891
      https://github.com/WebKit/WebKit/commit/e23513fa4f02b36817d8f0f11e455673386d8891
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
    A LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window-expected.txt
    A LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.html
    A LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.js
    M LayoutTests/http/wpt/background-fetch/sw.js
    M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp
    M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
    M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm

  Log Message:
  -----------
  Background fetch response bodies need to be stored in memory for ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=253148
rdar://problem/106080848

Reviewed by Chris Dumez.

In case path is empty (ephemeral sessions), BackgroundFetchStoreManager now stores the response chunks in a map.
Add support for clearing the map as needed.

* LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window-expected.txt: Added.
* LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.html: Added.
* LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.js: Added.
(promise_test.async t):
* LayoutTests/http/wpt/background-fetch/sw.js:
(onmessage):
(onbackgroundfetchsuccess.async event):
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp:
(WebKit::BackgroundFetchStoreManager::clearFetch):
(WebKit::BackgroundFetchStoreManager::clearAllFetches):
(WebKit::BackgroundFetchStoreManager::storeFetchResponseBodyChunk):
(WebKit::BackgroundFetchStoreManager::retrieveResponseBody):
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestBackgroundFetchPermission):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::requestBackgroundFetchPermission):
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformInitializeDataStore):
* Tools/WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate requestBackgroundFetchPermission:frameOrigin:decisionHandler:]):

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




More information about the webkit-changes mailing list