Diff
Modified: trunk/Source/WebKit2/ChangeLog (159727 => 159728)
--- trunk/Source/WebKit2/ChangeLog 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/ChangeLog 2013-11-23 07:11:28 UTC (rev 159728)
@@ -1,3 +1,29 @@
+2013-11-22 Brady Eidson <beid...@apple.com>
+
+ Add DatabaseProcessCreationParameters, starting with the database path.
+ https://bugs.webkit.org/show_bug.cgi?id=124804
+
+ Reviewed by Dean Jackson and Benjamin Poulain.
+
+ * DatabaseProcess/DatabaseProcess.cpp:
+ (WebKit::DatabaseProcess::initializeDatabaseProcess):
+ * DatabaseProcess/DatabaseProcess.h:
+ (WebKit::DatabaseProcess::indexedDatabaseDirectory):
+ * DatabaseProcess/DatabaseProcess.messages.in:
+
+ * Shared/Databases/DatabaseProcessCreationParameters.cpp: Added.
+ (WebKit::DatabaseProcessCreationParameters::DatabaseProcessCreationParameters):
+ (WebKit::DatabaseProcessCreationParameters::encode):
+ (WebKit::DatabaseProcessCreationParameters::decode):
+ * Shared/Databases/DatabaseProcessCreationParameters.h: Added.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureDatabaseProcess):
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * Scripts/webkit2/messages.py:
+ (struct_or_class):
+
2013-11-22 Ryuan Choi <ryuan.c...@samsung.com>
[EFL] Build break after r159724
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (159727 => 159728)
--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp 2013-11-23 07:11:28 UTC (rev 159728)
@@ -26,6 +26,7 @@
#include "config.h"
#include "DatabaseProcess.h"
+#include "DatabaseProcessCreationParameters.h"
#include "DatabaseProcessProxyMessages.h"
#include "DatabaseToWebProcessConnection.h"
@@ -67,6 +68,11 @@
RunLoop::current()->stop();
}
+void DatabaseProcess::initializeDatabaseProcess(const DatabaseProcessCreationParameters& parameters)
+{
+ m_indexedDatabaseDirectory = parameters.indexedDatabaseDirectory;
+}
+
void DatabaseProcess::createDatabaseToWebProcessConnection()
{
#if PLATFORM(MAC)
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h (159727 => 159728)
--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h 2013-11-23 07:11:28 UTC (rev 159728)
@@ -41,6 +41,8 @@
public:
static DatabaseProcess& shared();
+ const String& indexedDatabaseDirectory() const { return m_indexedDatabaseDirectory; }
+
private:
DatabaseProcess();
~DatabaseProcess();
@@ -58,9 +60,12 @@
virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::StringReference messageReceiverName, CoreIPC::StringReference messageName) OVERRIDE;
// Message Handlers
+ void initializeDatabaseProcess(const DatabaseProcessCreationParameters&);
void createDatabaseToWebProcessConnection();
Vector<RefPtr<DatabaseToWebProcessConnection>> m_databaseToWebProcessConnections;
+
+ String m_indexedDatabaseDirectory;
};
} // namespace WebKit
Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in (159727 => 159728)
--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in 2013-11-23 07:11:28 UTC (rev 159728)
@@ -23,6 +23,9 @@
#if ENABLE(DATABASE_PROCESS)
messages -> DatabaseProcess {
+ # Initializes the DatabaseProcess with the correct parameters
+ InitializeDatabaseProcess(WebKit::DatabaseProcessCreationParameters processCreationParameters)
+
# Creates a connection for communication with a WebProcess
CreateDatabaseToWebProcessConnection()
}
Modified: trunk/Source/WebKit2/Scripts/webkit2/messages.py (159727 => 159728)
--- trunk/Source/WebKit2/Scripts/webkit2/messages.py 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/Scripts/webkit2/messages.py 2013-11-23 07:11:28 UTC (rev 159728)
@@ -202,6 +202,7 @@
'WebKit::AttributedString',
'WebKit::ColorSpaceData',
'WebKit::ContextMenuState',
+ 'WebKit::DatabaseProcessCreationParameters',
'WebKit::DictionaryPopupInfo',
'WebKit::DrawingAreaInfo',
'WebKit::EditorState',
Copied: trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.cpp (from rev 159727, trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.h) (0 => 159728)
--- trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.cpp (rev 0)
+++ trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.cpp 2013-11-23 07:11:28 UTC (rev 159728)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2013 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 "DatabaseProcessCreationParameters.h"
+
+#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+
+#include "ArgumentCoders.h"
+
+namespace WebKit {
+
+DatabaseProcessCreationParameters::DatabaseProcessCreationParameters()
+{
+}
+
+void DatabaseProcessCreationParameters::encode(CoreIPC::ArgumentEncoder& encoder) const
+{
+ encoder << indexedDatabaseDirectory;
+}
+
+bool DatabaseProcessCreationParameters::decode(CoreIPC::ArgumentDecoder& decoder, DatabaseProcessCreationParameters& result)
+{
+ if (!decoder.decode(result.indexedDatabaseDirectory))
+ return false;
+
+ return true;
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
Added: trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h (0 => 159728)
--- trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h (rev 0)
+++ trunk/Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h 2013-11-23 07:11:28 UTC (rev 159728)
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2013 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. ``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 COMPUTER, INC. OR
+ * 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.
+ *
+ */
+
+#ifndef DatabaseProcessCreationParameters_h
+#define DatabaseProcessCreationParameters_h
+
+#include <wtf/text/WTFString.h>
+
+#if ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+
+namespace CoreIPC {
+class ArgumentDecoder;
+class ArgumentEncoder;
+}
+
+namespace WebKit {
+
+struct DatabaseProcessCreationParameters {
+ DatabaseProcessCreationParameters();
+
+ void encode(CoreIPC::ArgumentEncoder&) const;
+ static bool decode(CoreIPC::ArgumentDecoder&, DatabaseProcessCreationParameters&);
+
+ String indexedDatabaseDirectory;
+};
+
+} // namespace WebKit
+
+#endif // ENABLE(INDEXED_DATABASE) && ENABLE(DATABASE_PROCESS)
+#endif // DatabaseProcessCreationParameters_h
Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (159727 => 159728)
--- trunk/Source/WebKit2/UIProcess/WebContext.cpp 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp 2013-11-23 07:11:28 UTC (rev 159728)
@@ -74,6 +74,11 @@
#include "WebNetworkInfoManagerProxy.h"
#endif
+#if ENABLE(DATABASE_PROCESS)
+#include "DatabaseProcessCreationParameters.h"
+#include "DatabaseProcessMessages.h"
+#endif
+
#if ENABLE(NETWORK_PROCESS)
#include "NetworkProcessCreationParameters.h"
#include "NetworkProcessMessages.h"
@@ -419,6 +424,16 @@
return;
m_databaseProcess = DatabaseProcessProxy::create(this);
+
+ DatabaseProcessCreationParameters parameters;
+
+ // Indexed databases exist in a subdirectory of the "database directory path."
+ // Currently, the top level of that directory contains entities related to WebSQL databases.
+ // We should fix this, and move WebSQL into a subdirectory (https://bugs.webkit.org/show_bug.cgi?id=124807)
+ // In the meantime, an entity name prefixed with three underscores will not conflict with any WebSQL entities.
+ parameters.indexedDatabaseDirectory = pathByAppendingComponent(databaseDirectory(), "___IndexedDB");
+
+ m_databaseProcess->send(Messages::DatabaseProcess::InitializeDatabaseProcess(parameters), 0);
}
void WebContext::getDatabaseProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply> reply)
Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (159727 => 159728)
--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2013-11-23 06:03:11 UTC (rev 159727)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2013-11-23 07:11:28 UTC (rev 159728)
@@ -537,6 +537,8 @@
51578B831209ECEF00A37C4A /* WebData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51578B821209ECEF00A37C4A /* WebData.h */; };
515E7727183DD6F60007203F /* AsyncRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 515E7725183DD6F60007203F /* AsyncRequest.cpp */; };
515E7728183DD6F60007203F /* AsyncRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 515E7726183DD6F60007203F /* AsyncRequest.h */; };
+ 515E772B184008B90007203F /* DatabaseProcessCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 515E7729184008B90007203F /* DatabaseProcessCreationParameters.cpp */; };
+ 515E772C184008B90007203F /* DatabaseProcessCreationParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 515E772A184008B90007203F /* DatabaseProcessCreationParameters.h */; };
5160BFE113381DF900918999 /* Logging.mac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5160BFE013381DF900918999 /* Logging.mac.mm */; };
516319921628980A00E22F00 /* NetworkProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */; };
5163199416289A6000E22F00 /* NetworkProcessMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51ACC9341628064800342550 /* NetworkProcessMessageReceiver.cpp */; };
@@ -2065,6 +2067,8 @@
51578B821209ECEF00A37C4A /* WebData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebData.h; sourceTree = "<group>"; };
515E7725183DD6F60007203F /* AsyncRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AsyncRequest.cpp; sourceTree = "<group>"; };
515E7726183DD6F60007203F /* AsyncRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncRequest.h; sourceTree = "<group>"; };
+ 515E7729184008B90007203F /* DatabaseProcessCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DatabaseProcessCreationParameters.cpp; sourceTree = "<group>"; };
+ 515E772A184008B90007203F /* DatabaseProcessCreationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseProcessCreationParameters.h; sourceTree = "<group>"; };
5160BFE013381DF900918999 /* Logging.mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Logging.mac.mm; sourceTree = "<group>"; };
516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkProcessProxyMac.mm; path = mac/NetworkProcessProxyMac.mm; sourceTree = "<group>"; };
5167EE9E170377BF007681CA /* DiskCacheMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiskCacheMonitor.h; sourceTree = "<group>"; };
@@ -4032,6 +4036,8 @@
isa = PBXGroup;
children = (
51E351C3180F2C8A00E53BE9 /* IndexedDB */,
+ 515E7729184008B90007203F /* DatabaseProcessCreationParameters.cpp */,
+ 515E772A184008B90007203F /* DatabaseProcessCreationParameters.h */,
);
path = Databases;
sourceTree = "<group>";
@@ -5779,6 +5785,7 @@
330934501315B94D0097A7BC /* WebCookieManager.h in Headers */,
330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */,
330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
+ 515E772C184008B90007203F /* DatabaseProcessCreationParameters.h in Headers */,
33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,
3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */,
BC1DD7B2114DC396005ADAF3 /* WebCoreArgumentCoders.h in Headers */,
@@ -7037,6 +7044,7 @@
E18E6917169B667B009B6670 /* SecItemShimProxyMessageReceiver.cpp in Sources */,
33152975130D0CB200ED2483 /* SecurityOriginData.cpp in Sources */,
518D2CCA12D51DFB003BB93B /* SessionState.cpp in Sources */,
+ 515E772B184008B90007203F /* DatabaseProcessCreationParameters.cpp in Sources */,
1A6420E412DCE2FF00CAAE2C /* ShareableBitmap.cpp in Sources */,
C01A260112662F2100C9ED55 /* ShareableBitmapCG.cpp in Sources */,
51217460164C20E30037A5C1 /* ShareableResource.cpp in Sources */,