WKWebView.ClearAppCache is a flaky API test failure on High Sierra.
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2018 02:34:25 +0000 (02:34 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2018 02:34:25 +0000 (02:34 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181546
<rdar://problem/36444327>

Reviewed by Ryosuke Niwa.

in LocalStorageDatabaseTracker::deleteDatabasesModifiedSince(), add origin
to originIdentifiersToDelete if we cannot determine the last modification
time of the database file. This likely means the database file does not
exist. However, we still needs to make sure the origin gets removed from
the origins database and there may be *.wal / *.shm variants of the database
that are still on disk and need to be deleted.

* UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp

index 2bdd1ad..ab50484 100644 (file)
@@ -1,5 +1,23 @@
 2018-03-19  Chris Dumez  <cdumez@apple.com>
 
+        WKWebView.ClearAppCache is a flaky API test failure on High Sierra.
+        https://bugs.webkit.org/show_bug.cgi?id=181546
+        <rdar://problem/36444327>
+
+        Reviewed by Ryosuke Niwa.
+
+        in LocalStorageDatabaseTracker::deleteDatabasesModifiedSince(), add origin
+        to originIdentifiersToDelete if we cannot determine the last modification
+        time of the database file. This likely means the database file does not
+        exist. However, we still needs to make sure the origin gets removed from
+        the origins database and there may be *.wal / *.shm variants of the database
+        that are still on disk and need to be deleted.
+
+        * UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
+        (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
+
+2018-03-19  Chris Dumez  <cdumez@apple.com>
+
         Have one service worker process per security origin
         https://bugs.webkit.org/show_bug.cgi?id=183600
         <rdar://problem/35280128>
index 3638fdd..821102b 100644 (file)
@@ -152,10 +152,7 @@ Vector<SecurityOriginData> LocalStorageDatabaseTracker::deleteDatabasesModifiedS
         String filePath = pathForDatabaseWithOriginIdentifier(origin);
 
         auto modificationTime = FileSystem::getFileModificationTime(filePath);
-        if (!modificationTime)
-            continue;
-
-        if (modificationTime.value() >= time)
+        if (!modificationTime || modificationTime.value() >= time)
             originIdentifiersToDelete.append(origin);
     }