[webkit-changes] [WebKit/WebKit] 819eb4: [Script Telemetry] Refactor telemetry for script-w...

Wenson Hsieh noreply at github.com
Tue Feb 18 15:27:48 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 819eb48b813d66244aa2b3ea565d756a4e824954
      https://github.com/WebKit/WebKit/commit/819eb48b813d66244aa2b3ea565d756a4e824954
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    M Source/WebCore/loader/CookieJar.cpp
    M Source/WebCore/platform/network/NetworkStorageSession.cpp
    M Source/WebCore/platform/network/NetworkStorageSession.h
    M Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm
    M Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp
    M Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp
    M Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp

  Log Message:
  -----------
  [Script Telemetry] Refactor telemetry for script-written cookies
https://bugs.webkit.org/show_bug.cgi?id=287864
rdar://145065129

Reviewed by Richard Robinson and Megan Gardner.

Change how script telemetry works for script-written cookies; see below for more details.

* Source/WebCore/loader/CookieJar.cpp:
(WebCore::CookieJar::setCookies):
* Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::setAgeCapForClientSideCookies):
(WebCore::NetworkStorageSession::clientSideCookieCap const):
* Source/WebCore/platform/network/NetworkStorageSession.h:
* Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:

Plumb a new `RequiresScriptTelemetry` flag from `WebCookieJar` → `NetworkStorageSession` through the
network/web content process boundary.

(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookieFromDOM const):

Pass the new `RequiresScriptTelemetry` flag into `clientSideCookieCap`, when determining whether or
not to limit the expiry of client-side cookies.

* Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookieFromDOM const):
* Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookieFromDOM const):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::setCookieFromDOMAsync):
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h:
* Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):

Serialize the new `RequiresScriptTelemetry` enum.

* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/WebCookieCache.cpp:
(WebKit::WebCookieCache::setCookiesFromDOM):
(WebKit::WebCookieCache::didSetCookieFromDOM):
* Source/WebKit/WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::WebCookieJar::cookies const):

Remove script telemetry checks from various methods in `WebCookieJar`, now that activating script
telemetry no longer blocks access.

(WebKit::WebCookieJar::setCookies):

Compute `RequiresScriptTelemetry` and pass it in when setting cookies through the network process.
See above for more details.

(WebKit::WebCookieJar::cookiesEnabled):
(WebKit::WebCookieJar::cookieRequestHeaderFieldValue const):
(WebKit::WebCookieJar::getRawCookies const):
(WebKit::WebCookieJar::getCookiesAsync const):
(WebKit::WebCookieJar::setCookieAsync const):

Compute `RequiresScriptTelemetry` and pass it in when setting cookies through the network process
asynchronously. See above for more details.

(WebKit::requiresScriptExecutionTelemetry): Deleted.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list