Title: [290115] trunk/Source/WebKit
Revision
290115
Author
[email protected]
Date
2022-02-17 23:45:54 -0800 (Thu, 17 Feb 2022)

Log Message

Exclude new LocalStorage directory from backup on iOS
https://bugs.webkit.org/show_bug.cgi?id=236423
<rdar://problem/89060863>

Reviewed by Chris Dumez.

We've been excluding LocalStorage data from backup on iOS since r212555, and we need to make sure this applies
to new LocalStorage directory after migration (r289878).

Manually tested on iOS device.

* NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (290114 => 290115)


--- trunk/Source/WebKit/ChangeLog	2022-02-18 05:41:47 UTC (rev 290114)
+++ trunk/Source/WebKit/ChangeLog	2022-02-18 07:45:54 UTC (rev 290115)
@@ -1,3 +1,19 @@
+2022-02-17  Sihui Liu  <[email protected]>
+
+        Exclude new LocalStorage directory from backup on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=236423
+        <rdar://problem/89060863>
+
+        Reviewed by Chris Dumez.
+
+        We've been excluding LocalStorage data from backup on iOS since r212555, and we need to make sure this applies
+        to new LocalStorage directory after migration (r289878).
+
+        Manually tested on iOS device.
+
+        * NetworkProcess/storage/OriginStorageManager.cpp:
+        (WebKit::OriginStorageManager::StorageBucket::resolvedLocalStoragePath):
+
 2022-02-17  Diego Pino Garcia  <[email protected]>
 
         [GTK] Debian Stable build is broken after r290026

Modified: trunk/Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp (290114 => 290115)


--- trunk/Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp	2022-02-18 05:41:47 UTC (rev 290114)
+++ trunk/Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp	2022-02-18 07:45:54 UTC (rev 290115)
@@ -252,15 +252,18 @@
         if (m_shouldUseCustomPaths) {
             ASSERT(m_customLocalStoragePath.isEmpty() == m_rootPath.isEmpty());
             m_resolvedLocalStoragePath = m_customLocalStoragePath;
-        } else {
-            auto localStoragePath = LocalStorageManager::localStorageFilePath(typeStoragePath(StorageType::LocalStorage));
-            if (!m_customLocalStoragePath.isEmpty() && !FileSystem::fileExists(localStoragePath)) {
-                FileSystem::makeAllDirectories(FileSystem::parentPath(localStoragePath));
+        } else if (!m_rootPath.isEmpty()) {
+            auto localStorageDirectory = typeStoragePath(StorageType::LocalStorage);
+            FileSystem::makeAllDirectories(localStorageDirectory);
+            FileSystem::excludeFromBackup(localStorageDirectory);
+
+            auto localStoragePath = LocalStorageManager::localStorageFilePath(localStorageDirectory);
+            if (!m_customLocalStoragePath.isEmpty() && !FileSystem::fileExists(localStoragePath))
                 WebCore::SQLiteFileSystem::moveDatabaseFile(m_customLocalStoragePath, localStoragePath);
-            }
 
             m_resolvedLocalStoragePath = localStoragePath;
-        }
+        } else
+            m_resolvedLocalStoragePath = emptyString();
 
         return m_resolvedLocalStoragePath;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to