[webkit-changes] [WebKit/WebKit] aa8f2c: Make MediaKeysStorage directory name private

Sihui noreply at github.com
Mon Oct 2 11:28:53 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: aa8f2cebaa0975801430b2421afc68884d0b3911
      https://github.com/WebKit/WebKit/commit/aa8f2cebaa0975801430b2421afc68884d0b3911
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2023-10-02 (Mon, 02 Oct 2023)

  Changed paths:
    M Source/WebCore/Modules/encryptedmedia/CDM.cpp
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
    M Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp
    M Source/WebCore/Modules/storage/DummyStorageProvider.h
    M Source/WebCore/Modules/storage/StorageProvider.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/storage/StorageUtilities.cpp
    M Source/WebCore/storage/StorageUtilities.h
    M Source/WebKit/Shared/WebProcessDataStoreParameters.h
    M Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebStorageProvider.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKitLegacy/mac/WebView/WebView.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm

  Log Message:
  -----------
  Make MediaKeysStorage directory name private
https://bugs.webkit.org/show_bug.cgi?id=259985
rdar://99984441

Reviewed by Brent Fulgham.

MediaKeysStorage uses domain string as directory name, and that could reveal information about what sites are visisted.
This patch makes MediaKeysStorage start to use hashed origin string for directory name instead.

API test: WKWebsiteDataStore.FetchAndDeleteMediaKeysData

* Source/WebCore/Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::storageDirectory const):
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::mediaKeysStorageDirectory const):
* Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
(WebCore::WebKitMediaKeySession::mediaKeysStorageDirectory const):
* Source/WebCore/Modules/storage/DummyStorageProvider.h:
* Source/WebCore/Modules/storage/StorageProvider.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::mediaKeysStorageDirectory):
* Source/WebCore/dom/Document.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerMediaKeysStorageDirectory const):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::ensureMediaKeysStorageDirectoryForOrigin):
(WebCore::Page::setMediaKeysStorageDirectory):
* Source/WebCore/page/Page.h:
* Source/WebCore/storage/StorageUtilities.cpp:
(WebCore::StorageUtilities::encodeSecurityOriginForFileName):
* Source/WebCore/storage/StorageUtilities.h:
* Source/WebKit/Shared/WebProcessDataStoreParameters.h:
* Source/WebKit/Shared/WebProcessDataStoreParameters.serialization.in:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::webProcessDataStoreParameters):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeMediaKeyFile):
(WebKit::WebsiteDataStore::migrateMediaKeysStorageIfNecessary):
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::mediaKeysStorageOrigins):
(WebKit::WebsiteDataStore::removeMediaKeysStorage):
(WebKit::WebsiteDataStore::mediaKeysStorageSalt const):
(WebKit::WebsiteDataStore::mediaKeyOrigins): Deleted.
(WebKit::WebsiteDataStore::removeMediaKeys): Deleted.
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebStorageProvider.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::m_historyItemClient):
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setWebsiteDataStoreParameters):
* Source/WebKit/WebProcess/WebProcess.h:
(WebKit::WebProcess::mediaKeysStorageDirectory const):
(WebKit::WebProcess::mediaKeysStorageSalt const):
* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

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




More information about the webkit-changes mailing list