Changeset 179007 in webkit
- Timestamp:
- Jan 23, 2015 6:30:21 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 12 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r178954 r179007 1 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add initial database process support 4 https://bugs.webkit.org/show_bug.cgi?id=139491 5 6 Reviewed by Sergio Villar Senin. 7 8 * Source/cmake/OptionsGTK.cmake: Set WebKit2_DatabaseProcess_OUTPUT_NAME. 9 1 10 2015-01-22 Ryosuke Niwa <rniwa@webkit.org> 2 11 -
trunk/Source/WTF/ChangeLog
r178954 r179007 1 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add initial database process support 4 https://bugs.webkit.org/show_bug.cgi?id=139491 5 6 Reviewed by Sergio Villar Senin. 7 8 Add support for using GRefPtr with GVariantBuilder. 9 10 * wtf/gobject/GRefPtr.cpp: 11 (WTF::refGPtr): 12 (WTF::derefGPtr): 13 * wtf/gobject/GRefPtr.h: 14 * wtf/gobject/GTypedefs.h: 15 1 16 2015-01-22 Ryosuke Niwa <rniwa@webkit.org> 2 17 -
trunk/Source/WTF/wtf/gobject/GRefPtr.cpp
r168059 r179007 90 90 } 91 91 92 template <> GVariantBuilder* refGPtr(GVariantBuilder* ptr) 93 { 94 if (ptr) 95 g_variant_builder_ref(ptr); 96 return ptr; 97 } 98 99 template <> void derefGPtr(GVariantBuilder* ptr) 100 { 101 if (ptr) 102 g_variant_builder_unref(ptr); 103 } 104 92 105 template <> GSource* refGPtr(GSource* ptr) 93 106 { -
trunk/Source/WTF/wtf/gobject/GRefPtr.h
r173765 r179007 226 226 template <> WTF_EXPORT_PRIVATE GVariant* refGPtr(GVariant* ptr); 227 227 template <> WTF_EXPORT_PRIVATE void derefGPtr(GVariant* ptr); 228 template <> WTF_EXPORT_PRIVATE GVariantBuilder* refGPtr(GVariantBuilder* ptr); 229 template <> WTF_EXPORT_PRIVATE void derefGPtr(GVariantBuilder* ptr); 228 230 template <> WTF_EXPORT_PRIVATE GSource* refGPtr(GSource* ptr); 229 231 template <> WTF_EXPORT_PRIVATE void derefGPtr(GSource* ptr); -
trunk/Source/WTF/wtf/gobject/GTypedefs.h
r157918 r179007 61 61 typedef struct _GSource GSource; 62 62 typedef struct _GVariant GVariant; 63 typedef struct _GVariantBuilder GVariantBuilder; 63 64 typedef union _GdkEvent GdkEvent; 64 65 typedef struct _GTimer GTimer; -
trunk/Source/WebCore/ChangeLog
r179006 r179007 1 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add initial database process support 4 https://bugs.webkit.org/show_bug.cgi?id=139491 5 6 Reviewed by Sergio Villar Senin. 7 8 * platform/sql/SQLiteFileSystem.cpp: 9 (WebCore::SQLiteFileSystem::openDatabase): Use 10 WebCore::fileSystemRepresentation() for the database filename, 11 otherwise sqlite3_open() fails when the filename contains "%2E". 12 1 13 2015-01-23 Byeongha Cho <byeongha.cho@samsung.com> 2 14 -
trunk/Source/WebCore/platform/sql/SQLiteFileSystem.cpp
r162943 r179007 51 51 int SQLiteFileSystem::openDatabase(const String& filename, sqlite3** database, bool) 52 52 { 53 return sqlite3_open(file name.utf8().data(), database);53 return sqlite3_open(fileSystemRepresentation(filename).data(), database); 54 54 } 55 55 -
trunk/Source/WebKit2/CMakeLists.txt
r178889 r179007 2 2 "${JAVASCRIPTCORE_DIR}/llint" 3 3 "${WEBKIT2_DIR}" 4 "${WEBKIT2_DIR}/DatabaseProcess" 5 "${WEBKIT2_DIR}/DatabaseProcess/IndexedDB" 6 "${WEBKIT2_DIR}/DatabaseProcess/IndexedDB/sqlite" 4 7 "${WEBKIT2_DIR}/NetworkProcess" 5 8 "${WEBKIT2_DIR}/NetworkProcess/FileAPI" … … 13 16 "${WEBKIT2_DIR}/Shared/Authentication" 14 17 "${WEBKIT2_DIR}/Shared/CoreIPCSupport" 18 "${WEBKIT2_DIR}/Shared/Databases" 15 19 "${WEBKIT2_DIR}/Shared/Databases/IndexedDB" 16 20 "${WEBKIT2_DIR}/Shared/Downloads" … … 27 31 "${WEBKIT2_DIR}/UIProcess/API/cpp" 28 32 "${WEBKIT2_DIR}/UIProcess/Authentication" 33 "${WEBKIT2_DIR}/UIProcess/Databases" 29 34 "${WEBKIT2_DIR}/UIProcess/Downloads" 30 35 "${WEBKIT2_DIR}/UIProcess/InspectorServer" … … 150 155 151 156 set(WebKit2_SOURCES 157 DatabaseProcess/DatabaseToWebProcessConnection.cpp 158 DatabaseProcess/DatabaseProcess.cpp 159 DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp 160 DatabaseProcess/IndexedDB/IDBSerialization.cpp 161 DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp 162 DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp 163 DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp 164 DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp 165 DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp 166 152 167 NetworkProcess/NetworkConnectionToWebProcess.cpp 153 168 NetworkProcess/NetworkProcess.cpp … … 198 213 199 214 Shared/ActivityAssertion.cpp 215 Shared/AsyncRequest.cpp 200 216 Shared/BlobDataFileReferenceWithSandboxExtension.cpp 201 217 Shared/CacheModel.cpp … … 228 244 Shared/WebContextMenuItemData.cpp 229 245 Shared/WebCoreArgumentCoders.cpp 246 Shared/WebCrossThreadCopier.cpp 230 247 Shared/WebEvent.cpp 231 248 Shared/WebEventConversion.cpp … … 276 293 277 294 Shared/Authentication/AuthenticationManager.cpp 295 296 Shared/Databases/DatabaseProcessCreationParameters.cpp 297 Shared/Databases/IndexedDB/IDBUtilities.cpp 278 298 279 299 Shared/Downloads/Download.cpp … … 417 437 UIProcess/Authentication/WebProtectionSpace.cpp 418 438 439 UIProcess/Databases/DatabaseProcessProxy.cpp 440 419 441 UIProcess/Downloads/DownloadProxy.cpp 420 442 UIProcess/Downloads/DownloadProxyMap.cpp … … 460 482 WebProcess/Databases/WebDatabaseProvider.cpp 461 483 WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp 484 WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp 485 WebProcess/Databases/WebToDatabaseProcessConnection.cpp 462 486 463 487 WebProcess/FileAPI/BlobRegistryProxy.cpp … … 587 611 588 612 set(WebKit2_MESSAGES_IN_FILES 613 DatabaseProcess/DatabaseToWebProcessConnection.messages.in 614 DatabaseProcess/DatabaseProcess.messages.in 615 DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in 616 589 617 NetworkProcess/NetworkConnectionToWebProcess.messages.in 590 618 NetworkProcess/NetworkProcess.messages.in … … 622 650 UIProcess/WebVibrationProxy.messages.in 623 651 652 UIProcess/Databases/DatabaseProcessProxy.messages.in 653 624 654 UIProcess/Downloads/DownloadProxy.messages.in 625 655 … … 641 671 642 672 WebProcess/Cookies/WebCookieManager.messages.in 673 674 WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in 643 675 644 676 WebProcess/FullScreen/WebFullScreenManager.messages.in … … 684 716 set(NetworkProcess_LIBRARIES 685 717 WebKit2 718 ) 719 720 set(DatabaseProcess_LIBRARIES 721 WebKit2 686 722 ) 687 723 … … 768 804 endif () 769 805 806 if (ENABLE_DATABASE_PROCESS) 807 add_definitions(-DENABLE_DATABASE_PROCESS=1) 808 add_executable(DatabaseProcess ${DatabaseProcess_SOURCES}) 809 add_webkit2_prefix_header(DatabaseProcess) 810 target_link_libraries(DatabaseProcess ${DatabaseProcess_LIBRARIES}) 811 set_target_properties(DatabaseProcess PROPERTIES FOLDER "WebKit") 812 install(TARGETS DatabaseProcess DESTINATION "${LIBEXEC_INSTALL_DIR}") 813 814 if (WebKit2_DatabaseProcess_OUTPUT_NAME) 815 set_target_properties(DatabaseProcess PROPERTIES OUTPUT_NAME ${WebKit2_DatabaseProcess_OUTPUT_NAME}) 816 endif () 817 endif () 818 770 819 POPULATE_LIBRARY_VERSION(WEBKIT2) 771 820 set_target_properties(WebKit2 PROPERTIES VERSION ${WEBKIT2_VERSION} SOVERSION ${WEBKIT2_VERSION_MAJOR}) -
trunk/Source/WebKit2/ChangeLog
r178980 r179007 1 2015-01-23 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add initial database process support 4 https://bugs.webkit.org/show_bug.cgi?id=139491 5 6 Reviewed by Sergio Villar Senin. 7 8 Add initial support for DatabaseProcess, disabled by default for 9 now. 10 11 * CMakeLists.txt: Add required files to compilation. 12 * DatabaseProcess/DatabaseProcess.cpp: 13 (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): 14 Add the unix domain sockets implementation. 15 * DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp: Added. 16 (main): 17 * DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp: Added. 18 (WebKit::DatabaseProcessMainUnix): 19 * DatabaseProcess/unix/DatabaseProcessMainUnix.h: Added. 20 * PlatformGTK.cmake: Add required files to compilation. 21 * Shared/ProcessExecutablePath.h: 22 * Shared/gtk/KeyedDecoder.cpp: Added. 23 (WebKit::KeyedDecoder::KeyedDecoder): 24 (WebKit::KeyedDecoder::~KeyedDecoder): 25 (WebKit::KeyedDecoder::buildDictionaryFromGVariant): 26 (WebKit::KeyedDecoder::decodeBytes): 27 (WebKit::KeyedDecoder::decodeBool): 28 (WebKit::KeyedDecoder::decodeUInt32): 29 (WebKit::KeyedDecoder::decodeInt32): 30 (WebKit::KeyedDecoder::decodeInt64): 31 (WebKit::KeyedDecoder::decodeFloat): 32 (WebKit::KeyedDecoder::decodeDouble): 33 (WebKit::KeyedDecoder::decodeString): 34 (WebKit::KeyedDecoder::beginObject): 35 (WebKit::KeyedDecoder::endObject): 36 (WebKit::KeyedDecoder::beginArray): 37 (WebKit::KeyedDecoder::beginArrayElement): 38 (WebKit::KeyedDecoder::endArrayElement): 39 (WebKit::KeyedDecoder::endArray): 40 * Shared/gtk/KeyedDecoder.h: Added. 41 * Shared/gtk/KeyedEncoder.cpp: Added. 42 (WebKit::KeyedEncoder::KeyedEncoder): 43 (WebKit::KeyedEncoder::~KeyedEncoder): 44 (WebKit::KeyedEncoder::encodeBytes): 45 (WebKit::KeyedEncoder::encodeBool): 46 (WebKit::KeyedEncoder::encodeUInt32): 47 (WebKit::KeyedEncoder::encodeInt32): 48 (WebKit::KeyedEncoder::encodeInt64): 49 (WebKit::KeyedEncoder::encodeFloat): 50 (WebKit::KeyedEncoder::encodeDouble): 51 (WebKit::KeyedEncoder::encodeString): 52 (WebKit::KeyedEncoder::beginObject): 53 (WebKit::KeyedEncoder::endObject): 54 (WebKit::KeyedEncoder::beginArray): 55 (WebKit::KeyedEncoder::beginArrayElement): 56 (WebKit::KeyedEncoder::endArrayElement): 57 (WebKit::KeyedEncoder::endArray): 58 (WebKit::KeyedEncoder::finishEncoding): 59 * Shared/gtk/KeyedEncoder.h: Added. 60 * Shared/gtk/ProcessExecutablePathGtk.cpp: 61 (WebKit::executablePathOfDatabaseProcess): 62 * UIProcess/Databases/DatabaseProcessProxy.cpp: 63 (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): 64 Add the unix domain sockets implementation. 65 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 66 (WebKit::ProcessLauncher::launchProcess): Handle the 67 DatabaseProcess too. 68 * UIProcess/gtk/WebContextGtk.cpp: 69 (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): 70 * WebProcess/WebProcess.cpp: 71 (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Add 72 the unix domain sockets implementation. 73 1 74 2015-01-22 Benjamin Poulain <bpoulain@apple.com> 2 75 -
trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp
r177917 r179007 40 40 #include "WebOriginDataManagerProxyMessages.h" 41 41 #include <WebCore/FileSystem.h> 42 #include <WebCore/NotImplemented.h> 42 43 #include <WebCore/TextEncoding.h> 43 44 #include <wtf/MainThread.h> … … 189 190 IPC::Attachment clientPort(listeningPort, MACH_MSG_TYPE_MAKE_SEND); 190 191 parentProcessConnection()->send(Messages::DatabaseProcessProxy::DidCreateDatabaseToWebProcessConnection(clientPort), 0); 192 #elif USE(UNIX_DOMAIN_SOCKETS) 193 IPC::Connection::SocketPair socketPair = IPC::Connection::createPlatformConnection(); 194 m_databaseToWebProcessConnections.append(DatabaseToWebProcessConnection::create(socketPair.server)); 195 parentProcessConnection()->send(Messages::DatabaseProcessProxy::DidCreateDatabaseToWebProcessConnection(IPC::Attachment(socketPair.client)), 0); 191 196 #else 192 197 notImplemented(); -
trunk/Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp
r172193 r179007 38 38 #include "WebIDBServerConnectionMessages.h" 39 39 #include <WebCore/IDBDatabaseMetadata.h> 40 #include <WebCore/IDBIndexMetadata.h> 41 #include <WebCore/IDBObjectStoreMetadata.h> 40 42 #include <WebCore/IDBServerConnection.h> 41 43 #include <WebCore/IndexedDB.h> -
trunk/Source/WebKit2/PlatformGTK.cmake
r178095 r179007 16 16 17 17 list(APPEND WebKit2_SOURCES 18 DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp 19 18 20 NetworkProcess/cache/NetworkCacheStorageSoup.cpp 19 21 … … 51 53 52 54 Shared/gtk/ArgumentCodersGtk.cpp 55 Shared/gtk/KeyedEncoder.cpp 56 Shared/gtk/KeyedDecoder.cpp 53 57 Shared/gtk/NativeWebKeyboardEventGtk.cpp 54 58 Shared/gtk/NativeWebMouseEventGtk.cpp … … 72 76 73 77 Shared/unix/ChildProcessMain.cpp 78 79 UIProcess/Databases/gtk/DatabaseProcessProxyGtk.cpp 74 80 75 81 UIProcess/DefaultUndoController.cpp … … 432 438 "${WEBCORE_DIR}/platform/network/soup" 433 439 "${WEBCORE_DIR}/platform/text/enchant" 440 "${WEBKIT2_DIR}/DatabaseProcess/unix" 434 441 "${WEBKIT2_DIR}/NetworkProcess/gtk" 435 442 "${WEBKIT2_DIR}/NetworkProcess/unix" … … 487 494 list(APPEND NetworkProcess_SOURCES 488 495 NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 496 ) 497 498 list(APPEND DatabaseProcess_SOURCES 499 DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp 489 500 ) 490 501 … … 951 962 ${WebProcess_SOURCES} 952 963 ${NetworkProcess_SOURCES} 964 ${DatabaseProcess_SOURCES} 953 965 ${PluginProcessGTK2_SOURCES} 954 966 ${PluginProcess_SOURCES} -
trunk/Source/WebKit2/Shared/ProcessExecutablePath.h
r155934 r179007 36 36 String executablePathOfNetworkProcess(); 37 37 #endif 38 38 #if ENABLE(DATABASE_PROCESS) 39 String executablePathOfDatabaseProcess(); 40 #endif 39 41 } 40 42 -
trunk/Source/WebKit2/Shared/gtk/ProcessExecutablePathGtk.cpp
r161020 r179007 80 80 #endif 81 81 82 #if ENABLE(DATABASE_PROCESS) 83 String executablePathOfDatabaseProcess() 84 { 85 return findWebKitProcess("WebKitDatabaseProcess"); 86 } 87 #endif 88 82 89 } // namespace WebKit -
trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.cpp
r178598 r179007 32 32 #include "WebOriginDataManagerProxyMessages.h" 33 33 #include "WebProcessPool.h" 34 #include <WebCore/NotImplemented.h> 34 35 35 36 #if ENABLE(DATABASE_PROCESS) … … 118 119 #if OS(DARWIN) 119 120 reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND)); 121 #elif USE(UNIX_DOMAIN_SOCKETS) 122 reply->send(connectionIdentifier); 120 123 #else 121 124 notImplemented(); -
trunk/Source/WebKit2/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp
r178825 r179007 80 80 break; 81 81 #endif 82 #if ENABLE(DATABASE_PROCESS) 83 case DatabaseProcess: 84 executablePath = executablePathOfDatabaseProcess(); 85 break; 86 #endif 82 87 default: 83 88 ASSERT_NOT_REACHED(); -
trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp
r178685 r179007 121 121 String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory() 122 122 { 123 notImplemented();124 return String();123 GUniquePtr<gchar> indexedDBDatabaseDirectory(g_build_filename(g_get_user_data_dir(), "webkitgtk", "databases", "indexeddb", nullptr)); 124 return WebCore::filenameToString(indexedDBDatabaseDirectory.get()); 125 125 } 126 126 -
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
r178940 r179007 1039 1039 #if OS(DARWIN) 1040 1040 IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.port()); 1041 if (IPC::Connection::identifierIsNull(connectionIdentifier))1042 return;1041 #elif USE(UNIX_DOMAIN_SOCKETS) 1042 IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.releaseFileDescriptor(); 1043 1043 #else 1044 1044 ASSERT_NOT_REACHED(); 1045 1045 #endif 1046 if (IPC::Connection::identifierIsNull(connectionIdentifier)) 1047 return; 1046 1048 m_webToDatabaseProcessConnection = WebToDatabaseProcessConnection::create(connectionIdentifier); 1047 1049 } -
trunk/Source/cmake/OptionsGTK.cmake
r178820 r179007 220 220 set(WebKit2_NetworkProcess_OUTPUT_NAME WebKitNetworkProcess) 221 221 set(WebKit2_PluginProcess_OUTPUT_NAME WebKitPluginProcess) 222 set(WebKit2_DatabaseProcess_OUTPUT_NAME WebKitDatabaseProcess) 222 223 223 224 add_definitions(-DBUILDING_GTK__=1)
Note: See TracChangeset
for help on using the changeset viewer.