[webkit-changes] [WebKit/WebKit] bd9231: Create IndexedDB version directory in network process

Sihui noreply at github.com
Fri Mar 1 08:35:28 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bd9231efecf2d6baba24f3b2d65846a90c9259dc
      https://github.com/WebKit/WebKit/commit/bd9231efecf2d6baba24f3b2d65846a90c9259dc
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/IDBStorageManager.h
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h

  Log Message:
  -----------
  Create IndexedDB version directory in network process
https://bugs.webkit.org/show_bug.cgi?id=270192
rdar://123725258

Reviewed by Geoffrey Garen and Chris Dumez.

We currently create a v0 directory under IndexedDB root directory on main thread of UI process. This patch moves that to
the storage queue in network process to avoid blocking UI process. Also, instead of creating a symlink that points to
the root directory, we create an actual directory and move files into it, because the version upgrade was shipped over
4 years ago and most data should already be migrated to v1 directory. We don't have to keep the circular symlink now.
This patch also removes the v0 directory if it is not needed.

This change is covered by existing IndexedDB API tests (e.g IndexedDB.IndexedDBFileNameV0) as they are using different
versions of data.

* Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::createVersionDirectoryIfNeeded):
* Source/WebKit/NetworkProcess/storage/IDBStorageManager.h:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::NetworkStorageManager):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::addSession):
(WebKit::NetworkProcessProxy::createSymLinkForFileUpgrade): Deleted.
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:

Canonical link: https://commits.webkit.org/275555@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