Title: [260856] trunk/Source/WebKit
Revision
260856
Author
[email protected]
Date
2020-04-28 17:03:23 -0700 (Tue, 28 Apr 2020)

Log Message

[iOS][WK2] Drop process assertion logic for holding locked files
https://bugs.webkit.org/show_bug.cgi?id=206910

Reviewed by Alex Christensen.

Drop process assertion logic for holding locked files as it is causing issues and
should no longer be needed.

The intention of this code was that the Network Process would send a
SetIsHoldingLockedFiles(bool) IPC to the UIProcess whenever there are pending
SQLite transactions and the UIProcess would then take a process assertion on behalf
of the WebProcess (or release it) to prevent / allow suspension.

This approach has some issues:
1. It was noisy in terms of IPC
2. Because it relies on an IPC to the UIProcess to keep running, it was inherently
   racy
3. We already have logic to deal with suspension in the network / web processes.
   The UIProcess sends a PrepareForSuspension IPC to its child processes. In turn,
   those processes will make sure to suspend their database threads to prevent any
   further database work. The child processes would then respond to the
   PrepareForSuspension IPC to let the UIProcess know they are ready to suspend.
   The 2 approaches were conflicting, because after the PrepareForSuspension IPC is
   sent, the child process could process a transaction and send the
   SetIsHoldingLockedFiles() IPC to the UIProcess which would incorrectly cancel the
   suspension.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::m_messagePortChannelRegistry): Deleted.
* NetworkProcess/NetworkProcess.h:
* Shared/WebSQLiteDatabaseTracker.cpp: Removed.
* Shared/WebSQLiteDatabaseTracker.h: Removed.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::didSetAssertionState):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::m_nonVisibleProcessCleanupTimer):
(WebKit::m_webSQLiteDatabaseTracker): Deleted.
* WebProcess/WebProcess.h:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (260855 => 260856)


--- trunk/Source/WebKit/ChangeLog	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/ChangeLog	2020-04-29 00:03:23 UTC (rev 260856)
@@ -1,3 +1,55 @@
+2020-04-28  Chris Dumez  <[email protected]>
+
+        [iOS][WK2] Drop process assertion logic for holding locked files
+        https://bugs.webkit.org/show_bug.cgi?id=206910
+
+        Reviewed by Alex Christensen.
+
+        Drop process assertion logic for holding locked files as it is causing issues and
+        should no longer be needed.
+
+        The intention of this code was that the Network Process would send a
+        SetIsHoldingLockedFiles(bool) IPC to the UIProcess whenever there are pending
+        SQLite transactions and the UIProcess would then take a process assertion on behalf
+        of the WebProcess (or release it) to prevent / allow suspension.
+
+        This approach has some issues:
+        1. It was noisy in terms of IPC
+        2. Because it relies on an IPC to the UIProcess to keep running, it was inherently
+           racy
+        3. We already have logic to deal with suspension in the network / web processes.
+           The UIProcess sends a PrepareForSuspension IPC to its child processes. In turn,
+           those processes will make sure to suspend their database threads to prevent any
+           further database work. The child processes would then respond to the
+           PrepareForSuspension IPC to let the UIProcess know they are ready to suspend.
+           The 2 approaches were conflicting, because after the PrepareForSuspension IPC is
+           sent, the child process could process a transaction and send the
+           SetIsHoldingLockedFiles() IPC to the UIProcess which would incorrectly cancel the
+           suspension.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::NetworkProcess):
+        (WebKit::m_messagePortChannelRegistry): Deleted.
+        * NetworkProcess/NetworkProcess.h:
+        * Shared/WebSQLiteDatabaseTracker.cpp: Removed.
+        * Shared/WebSQLiteDatabaseTracker.h: Removed.
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::didClose):
+        (WebKit::NetworkProcessProxy::didSetAssertionState):
+        (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles): Deleted.
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/Network/NetworkProcessProxy.messages.in:
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::shutDown):
+        (WebKit::WebProcessProxy::setIsHoldingLockedFiles): Deleted.
+        * UIProcess/WebProcessProxy.h:
+        * UIProcess/WebProcessProxy.messages.in:
+        * WebKit.xcodeproj/project.pbxproj:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::m_nonVisibleProcessCleanupTimer):
+        (WebKit::m_webSQLiteDatabaseTracker): Deleted.
+        * WebProcess/WebProcess.h:
+
 2020-04-28  Noam Rosenthal  <[email protected]>
 
         Implement FCP (first contentful paint)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (260855 => 260856)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2020-04-29 00:03:23 UTC (rev 260856)
@@ -151,9 +151,6 @@
 #if ENABLE(CONTENT_EXTENSIONS)
     , m_networkContentRuleListManager(*this)
 #endif
-#if PLATFORM(IOS_FAMILY)
-    , m_webSQLiteDatabaseTracker([this](bool isHoldingLockedFiles) { parentProcessConnection()->send(Messages::NetworkProcessProxy::SetIsHoldingLockedFiles(isHoldingLockedFiles), 0); })
-#endif
     , m_messagePortChannelRegistry(createMessagePortChannelRegistry(*this))
 {
     NetworkProcessPlatformStrategies::initialize();
@@ -2210,13 +2207,9 @@
 
 #if PLATFORM(IOS_FAMILY) && ENABLE(INDEXED_DATABASE)
     for (auto& server : m_webIDBServers.values())
-        server->suspend(isSuspensionImminent ? WebIDBServer::ShouldForceStop::Yes : WebIDBServer::ShouldForceStop::No);
+        server->suspend(WebIDBServer::ShouldForceStop::Yes);
 #endif
 
-#if PLATFORM(IOS_FAMILY)
-    m_webSQLiteDatabaseTracker.setIsSuspended(true);
-#endif
-
     lowMemoryHandler(Critical::Yes);
 
     RefPtr<CallbackAggregator> callbackAggregator = CallbackAggregator::create([this, completionHandler = WTFMove(completionHandler)]() mutable {
@@ -2267,10 +2260,6 @@
 
 void NetworkProcess::resume()
 {
-#if PLATFORM(IOS_FAMILY)
-    m_webSQLiteDatabaseTracker.setIsSuspended(false);
-#endif
-
     platformProcessDidResume();
     for (auto& connection : m_webProcessConnections.values())
         connection->endSuspension();

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (260855 => 260856)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2020-04-29 00:03:23 UTC (rev 260856)
@@ -58,10 +58,6 @@
 #include <wtf/RetainPtr.h>
 #include <wtf/WeakPtr.h>
 
-#if PLATFORM(IOS_FAMILY)
-#include "WebSQLiteDatabaseTracker.h"
-#endif
-
 #if PLATFORM(COCOA)
 typedef struct OpaqueCFHTTPCookieStorage*  CFHTTPCookieStorageRef;
 #endif
@@ -553,10 +549,6 @@
     NetworkContentRuleListManager m_networkContentRuleListManager;
 #endif
 
-#if PLATFORM(IOS_FAMILY)
-    WebSQLiteDatabaseTracker m_webSQLiteDatabaseTracker;
-#endif
-
     Ref<WorkQueue> m_storageTaskQueue { WorkQueue::create("com.apple.WebKit.StorageTask") };
 
 #if ENABLE(INDEXED_DATABASE)

Deleted: trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp (260855 => 260856)


--- trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.cpp	2020-04-29 00:03:23 UTC (rev 260856)
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebSQLiteDatabaseTracker.h"
-
-#include "NetworkProcess.h"
-#include "NetworkProcessProxyMessages.h"
-#include "WebProcess.h"
-#include "WebProcessProxyMessages.h"
-#include <WebCore/SQLiteDatabaseTracker.h>
-
-namespace WebKit {
-using namespace WebCore;
-
-WebSQLiteDatabaseTracker::WebSQLiteDatabaseTracker(IsHoldingLockedFilesHandler&& isHoldingLockedFilesHandler)
-    : m_isHoldingLockedFilesHandler(WTFMove(isHoldingLockedFilesHandler))
-    , m_hysteresis([this](PAL::HysteresisState state) { setIsHoldingLockedFiles(state == PAL::HysteresisState::Started); })
-{
-    ASSERT(RunLoop::isMain());
-    SQLiteDatabaseTracker::setClient(this);
-}
-
-WebSQLiteDatabaseTracker::~WebSQLiteDatabaseTracker()
-{
-    ASSERT(RunLoop::isMain());
-    SQLiteDatabaseTracker::setClient(nullptr);
-
-    if (m_hysteresis.state() == PAL::HysteresisState::Started)
-        setIsHoldingLockedFiles(false);
-}
-
-void WebSQLiteDatabaseTracker::setIsSuspended(bool isSuspended)
-{
-    ASSERT(RunLoop::isMain());
-    m_isSuspended = isSuspended;
-}
-
-void WebSQLiteDatabaseTracker::willBeginFirstTransaction()
-{
-    RunLoop::main().dispatch([weakThis = makeWeakPtr(*this)] {
-        if (weakThis)
-            weakThis->m_hysteresis.start();
-    });
-}
-
-void WebSQLiteDatabaseTracker::didFinishLastTransaction()
-{
-    RunLoop::main().dispatch([weakThis = makeWeakPtr(*this)] {
-        if (weakThis)
-            weakThis->m_hysteresis.stop();
-    });
-}
-
-void WebSQLiteDatabaseTracker::setIsHoldingLockedFiles(bool isHoldingLockedFiles)
-{
-    ASSERT(RunLoop::isMain());
-
-    if (m_isSuspended)
-        return;
-
-    m_isHoldingLockedFilesHandler(isHoldingLockedFiles);
-}
-
-} // namespace WebKit

Deleted: trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.h (260855 => 260856)


--- trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.h	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/Shared/WebSQLiteDatabaseTracker.h	2020-04-29 00:03:23 UTC (rev 260856)
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include <WebCore/SQLiteDatabaseTrackerClient.h>
-#include <pal/HysteresisActivity.h>
-#include <wtf/Noncopyable.h>
-#include <wtf/WeakPtr.h>
-
-namespace WebKit {
-
-// Use eager initialization for the WeakPtrFactory since we call makeWeakPtr() from a non-main thread.
-class WebSQLiteDatabaseTracker final : public WebCore::SQLiteDatabaseTrackerClient, public CanMakeWeakPtr<WebSQLiteDatabaseTracker, WeakPtrFactoryInitialization::Eager> {
-    WTF_MAKE_NONCOPYABLE(WebSQLiteDatabaseTracker)
-public:
-    using IsHoldingLockedFilesHandler = Function<void(bool)>;
-    explicit WebSQLiteDatabaseTracker(IsHoldingLockedFilesHandler&&);
-
-    ~WebSQLiteDatabaseTracker();
-
-    void setIsSuspended(bool);
-
-private:
-    void setIsHoldingLockedFiles(bool);
-
-    // WebCore::SQLiteDatabaseTrackerClient.
-    void willBeginFirstTransaction() final;
-    void didFinishLastTransaction() final;
-
-    IsHoldingLockedFilesHandler m_isHoldingLockedFilesHandler;
-    PAL::HysteresisActivity m_hysteresis;
-    bool m_isSuspended { false };
-};
-
-} // namespace WebKit

Modified: trunk/Source/WebKit/SourcesCocoa.txt (260855 => 260856)


--- trunk/Source/WebKit/SourcesCocoa.txt	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/SourcesCocoa.txt	2020-04-29 00:03:23 UTC (rev 260856)
@@ -134,7 +134,6 @@
 Shared/DocumentEditingContext.mm
 Shared/FocusedElementInformation.cpp
 Shared/VisibleContentRectUpdateInfo.cpp
-Shared/WebSQLiteDatabaseTracker.cpp
 
 Shared/cf/ArgumentCodersCF.cpp @no-unify
 Shared/cf/CookieStorageUtilsCF.mm

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2020-04-29 00:03:23 UTC (rev 260856)
@@ -265,8 +265,6 @@
 #if ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER)
     m_customProtocolManagerProxy.invalidate();
 #endif
-
-    m_activityForHoldingLockedFiles = nullptr;
     
     m_syncAllCookiesActivity = nullptr;
     m_syncAllCookiesCounter = 0;
@@ -1180,19 +1178,6 @@
     if (canSendMessage())
         send(Messages::NetworkProcess::ProcessDidResume(), 0);
 }
-    
-void NetworkProcessProxy::setIsHoldingLockedFiles(bool isHoldingLockedFiles)
-{
-    if (!isHoldingLockedFiles) {
-        RELEASE_LOG(ProcessSuspension, "UIProcess is releasing a background assertion because the Network process is no longer holding locked files");
-        m_activityForHoldingLockedFiles = nullptr;
-        return;
-    }
-    if (!m_activityForHoldingLockedFiles) {
-        RELEASE_LOG(ProcessSuspension, "UIProcess is taking a background assertion because the Network process is holding locked files");
-        m_activityForHoldingLockedFiles = m_throttler.backgroundActivity("Holding locked files"_s).moveToUniquePtr();
-    }
-}
 
 void NetworkProcessProxy::syncAllCookies()
 {

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2020-04-29 00:03:23 UTC (rev 260856)
@@ -183,8 +183,6 @@
     
     void synthesizeAppIsBackground(bool background);
 
-    void setIsHoldingLockedFiles(bool);
-
     void syncAllCookies();
     void didSyncAllCookies();
 
@@ -303,7 +301,6 @@
     LegacyCustomProtocolManagerProxy m_customProtocolManagerProxy;
 #endif
     ProcessThrottler m_throttler;
-    std::unique_ptr<ProcessThrottler::BackgroundActivity> m_activityForHoldingLockedFiles;
     std::unique_ptr<ProcessThrottler::BackgroundActivity> m_syncAllCookiesActivity;
     ProcessThrottler::ActivityVariant m_activityFromWebProcesses;
     

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2020-04-29 00:03:23 UTC (rev 260856)
@@ -34,8 +34,6 @@
     TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous
     TerminateUnresponsiveServiceWorkerProcesses(WebCore::ProcessIdentifier processIdentifier)
 
-    SetIsHoldingLockedFiles(bool isHoldingLockedFiles)
-
     # Diagnostic messages logging
     LogDiagnosticMessage(WebKit::WebPageProxyIdentifier pageID, String message, String description, enum:bool WebCore::ShouldSample shouldSample)
     LogDiagnosticMessageWithResult(WebKit::WebPageProxyIdentifier pageID, String message, String description, uint32_t result, enum:bool WebCore::ShouldSample shouldSample)

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-04-29 00:03:23 UTC (rev 260856)
@@ -413,7 +413,6 @@
 
     m_responsivenessTimer.invalidate();
     m_backgroundResponsivenessTimer.invalidate();
-    m_activityForHoldingLockedFiles = nullptr;
     m_audibleMediaActivity = WTF::nullopt;
 
     for (auto& frame : copyToVector(m_frameMap.values()))
@@ -1402,19 +1401,6 @@
     }
 }
 
-void WebProcessProxy::setIsHoldingLockedFiles(bool isHoldingLockedFiles)
-{
-    if (!isHoldingLockedFiles) {
-        RELEASE_LOG(ProcessSuspension, "UIProcess is releasing a background assertion because the WebContent process is no longer holding locked files");
-        m_activityForHoldingLockedFiles = nullptr;
-        return;
-    }
-    if (!m_activityForHoldingLockedFiles) {
-        RELEASE_LOG(ProcessSuspension, "UIProcess is taking a background assertion because the WebContent process is holding locked files");
-        m_activityForHoldingLockedFiles = m_throttler.backgroundActivity("Holding locked files"_s).moveToUniquePtr();
-    }
-}
-
 void WebProcessProxy::isResponsive(CompletionHandler<void(bool isWebProcessResponsive)>&& callback)
 {
     if (m_isResponsive == NoOrMaybe::No) {

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2020-04-29 00:03:23 UTC (rev 260856)
@@ -242,8 +242,6 @@
 
     void windowServerConnectionStateChanged();
 
-    void setIsHoldingLockedFiles(bool);
-
     ProcessThrottler& throttler() { return m_throttler; }
 
     void isResponsive(CompletionHandler<void(bool isWebProcessResponsive)>&&);
@@ -537,7 +535,6 @@
 
     int m_numberOfTimesSuddenTerminationWasDisabled;
     ProcessThrottler m_throttler;
-    std::unique_ptr<ProcessThrottler::BackgroundActivity> m_activityForHoldingLockedFiles;
     ForegroundWebProcessToken m_foregroundToken;
     BackgroundWebProcessToken m_backgroundToken;
 

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in (260855 => 260856)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2020-04-29 00:03:23 UTC (rev 260856)
@@ -42,8 +42,6 @@
     GetGPUProcessConnection() -> (struct WebKit::GPUProcessConnectionInfo connectionInfo) Synchronous
 #endif
 
-    SetIsHoldingLockedFiles(bool isHoldingLockedFiles)
-
     DidExceedActiveMemoryLimit()
     DidExceedInactiveMemoryLimit()
     DidExceedCPULimit()

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (260855 => 260856)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2020-04-29 00:03:23 UTC (rev 260856)
@@ -1324,7 +1324,6 @@
 		832AE2521BE2E8CD00FAAE10 /* NetworkCacheSpeculativeLoadManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 832AE2501BE2E8CD00FAAE10 /* NetworkCacheSpeculativeLoadManager.h */; };
 		832ED18C1E2FE157006BA64A /* PerActivityStateCPUUsageSampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 832ED18A1E2FE13B006BA64A /* PerActivityStateCPUUsageSampler.h */; };
 		834B250F1A831A8D00CFB150 /* NetworkCacheFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 834B250E1A831A8D00CFB150 /* NetworkCacheFileSystem.h */; };
-		836034A01ACB34D600626549 /* WebSQLiteDatabaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8360349E1ACB34D600626549 /* WebSQLiteDatabaseTracker.h */; };
 		8372DB251A674C8F00C697C5 /* WKPageDiagnosticLoggingClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 8372DB241A674C8F00C697C5 /* WKPageDiagnosticLoggingClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		8372DB291A67562800C697C5 /* WebPageDiagnosticLoggingClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 8372DB271A67562800C697C5 /* WebPageDiagnosticLoggingClient.h */; };
 		8372DB2F1A677D4A00C697C5 /* WKDiagnosticLoggingResultType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8372DB2E1A677D4A00C697C5 /* WKDiagnosticLoggingResultType.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -4324,8 +4323,6 @@
 		83397C6622124BD100B62388 /* WebProcessCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessCache.cpp; sourceTree = "<group>"; };
 		83397C6722124BD100B62388 /* WebProcessCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessCache.h; sourceTree = "<group>"; };
 		834B250E1A831A8D00CFB150 /* NetworkCacheFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkCacheFileSystem.h; sourceTree = "<group>"; };
-		8360349D1ACB34D600626549 /* WebSQLiteDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSQLiteDatabaseTracker.cpp; sourceTree = "<group>"; };
-		8360349E1ACB34D600626549 /* WebSQLiteDatabaseTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSQLiteDatabaseTracker.h; sourceTree = "<group>"; };
 		8372DB241A674C8F00C697C5 /* WKPageDiagnosticLoggingClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPageDiagnosticLoggingClient.h; sourceTree = "<group>"; };
 		8372DB261A67562800C697C5 /* WebPageDiagnosticLoggingClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageDiagnosticLoggingClient.cpp; sourceTree = "<group>"; };
 		8372DB271A67562800C697C5 /* WebPageDiagnosticLoggingClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageDiagnosticLoggingClient.h; sourceTree = "<group>"; };
@@ -6174,8 +6171,6 @@
 				5C13024A1FE341A7000D9B31 /* WebsitePoliciesData.h */,
 				0EDE85022004E74900030560 /* WebsitePopUpPolicy.h */,
 				71FB810A2260627A00323677 /* WebsiteSimulatedMouseEventsDispatchPolicy.h */,
-				8360349D1ACB34D600626549 /* WebSQLiteDatabaseTracker.cpp */,
-				8360349E1ACB34D600626549 /* WebSQLiteDatabaseTracker.h */,
 				C0337DD7127A51B6008FF4F4 /* WebTouchEvent.cpp */,
 				7C065F291C8CD95F00C2D950 /* WebUserContentControllerDataTypes.cpp */,
 				7C065F2A1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h */,
@@ -11370,7 +11365,6 @@
 				417915AF2256BB7500D6F97E /* WebSocketChannel.h in Headers */,
 				417915B12256C0D600D6F97E /* WebSocketChannelManager.h in Headers */,
 				C149380922347104000CD707 /* WebSpeechSynthesisClient.h in Headers */,
-				836034A01ACB34D600626549 /* WebSQLiteDatabaseTracker.h in Headers */,
 				1A52C0F81A38CDC70016160A /* WebStorageNamespaceProvider.h in Headers */,
 				9356F2DC2152B6B500E6D5DF /* WebSWClientConnection.h in Headers */,
 				517A53101F47A86200DCDC0A /* WebSWClientConnectionMessages.h in Headers */,

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (260855 => 260856)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2020-04-29 00:03:23 UTC (rev 260856)
@@ -146,10 +146,6 @@
 #include "UserMediaCaptureManager.h"
 #endif
 
-#if PLATFORM(IOS_FAMILY)
-#include "WebSQLiteDatabaseTracker.h"
-#endif
-
 #if ENABLE(SEC_ITEM_SHIM)
 #include "SecItemShim.h"
 #endif
@@ -227,9 +223,6 @@
     , m_pluginProcessConnectionManager(PluginProcessConnectionManager::create())
 #endif
     , m_nonVisibleProcessCleanupTimer(*this, &WebProcess::nonVisibleProcessCleanupTimerFired)
-#if PLATFORM(IOS_FAMILY)
-    , m_webSQLiteDatabaseTracker([this](bool isHoldingLockedFiles) { parentProcessConnection()->send(Messages::WebProcessProxy::SetIsHoldingLockedFiles(isHoldingLockedFiles), 0); })
-#endif
 {
     // Initialize our platform strategies.
     WebPlatformStrategies::initialize();
@@ -1439,7 +1432,6 @@
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-    m_webSQLiteDatabaseTracker.setIsSuspended(true);
     SQLiteDatabase::setIsDatabaseOpeningForbidden(true);
     if (DatabaseTracker::isInitialized())
         DatabaseTracker::singleton().closeAllDatabases(CurrentQueryBehavior::Interrupt);
@@ -1518,7 +1510,6 @@
     unfreezeAllLayerTrees();
     
 #if PLATFORM(IOS_FAMILY)
-    m_webSQLiteDatabaseTracker.setIsSuspended(false);
     SQLiteDatabase::setIsDatabaseOpeningForbidden(false);
     accessibilityProcessSuspendedNotification(false);
 #endif

Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (260855 => 260856)


--- trunk/Source/WebKit/WebProcess/WebProcess.h	2020-04-28 23:37:20 UTC (rev 260855)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h	2020-04-29 00:03:23 UTC (rev 260856)
@@ -39,7 +39,6 @@
 #include "WebInspectorInterruptDispatcher.h"
 #include "WebPageProxyIdentifier.h"
 #include "WebProcessCreationParameters.h"
-#include "WebSQLiteDatabaseTracker.h"
 #include "WebSocketChannelManager.h"
 #include <WebCore/ActivityState.h>
 #include <WebCore/FrameIdentifier.h>
@@ -579,7 +578,6 @@
     RefPtr<WebCore::ApplicationCacheStorage> m_applicationCacheStorage;
 
 #if PLATFORM(IOS_FAMILY)
-    WebSQLiteDatabaseTracker m_webSQLiteDatabaseTracker;
     std::unique_ptr<ProcessAssertion> m_uiProcessDependencyProcessAssertion;
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to