Title: [291367] trunk/Source/WebKit
Revision
291367
Author
[email protected]
Date
2022-03-16 14:32:49 -0700 (Wed, 16 Mar 2022)

Log Message

Do not suspend NetworkStorageManager if it is used for ephemeral session
https://bugs.webkit.org/show_bug.cgi?id=237943

Reviewed by Chris Dumez.

The reason we need to suspend NetworkStorageManager when process is suspended, is that it might hold file lock
during its operations. NetworkStorageManager of ephemeral sessions will not hold file lock; suspending its
WorkQueue will only delay storage operations.

* NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::suspend):
(WebKit::NetworkStorageManager::resume):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (291366 => 291367)


--- trunk/Source/WebKit/ChangeLog	2022-03-16 21:20:01 UTC (rev 291366)
+++ trunk/Source/WebKit/ChangeLog	2022-03-16 21:32:49 UTC (rev 291367)
@@ -1,3 +1,18 @@
+2022-03-16  Sihui Liu  <[email protected]>
+
+        Do not suspend NetworkStorageManager if it is used for ephemeral session
+        https://bugs.webkit.org/show_bug.cgi?id=237943
+
+        Reviewed by Chris Dumez.
+
+        The reason we need to suspend NetworkStorageManager when process is suspended, is that it might hold file lock 
+        during its operations. NetworkStorageManager of ephemeral sessions will not hold file lock; suspending its 
+        WorkQueue will only delay storage operations.
+
+        * NetworkProcess/storage/NetworkStorageManager.cpp:
+        (WebKit::NetworkStorageManager::suspend):
+        (WebKit::NetworkStorageManager::resume):
+
 2022-03-16  Fujii Hironori  <[email protected]>
 
         [WinCairo][WebGL] Crash in WebKit::WCContentBuffer::platformLayerWillBeDestroyed()

Modified: trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp (291366 => 291367)


--- trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-03-16 21:20:01 UTC (rev 291366)
+++ trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-03-16 21:32:49 UTC (rev 291367)
@@ -645,6 +645,9 @@
 {
     ASSERT(RunLoop::isMain());
 
+    if (m_sessionID.isEphemeral())
+        return;
+
     m_queue->suspend([this, protectedThis = Ref { *this }] {
         for (auto& manager : m_localOriginStorageManagers.values()) {
             if (auto localStorageManager = manager->existingLocalStorageManager())
@@ -659,6 +662,9 @@
 {
     ASSERT(RunLoop::isMain());
 
+    if (m_sessionID.isEphemeral())
+        return;
+
     m_queue->resume();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to