Changeset 73808 in webkit
- Timestamp:
- Dec 10, 2010 3:12:15 PM (13 years ago)
- Location:
- trunk/WebKit2
- Files:
-
- 6 added
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit2/ChangeLog
r73807 r73808 1 2010-12-10 Jessie Berlin <jberlin@apple.com> 2 3 Reviewed by Adam Roben and Sam Weinig. 4 5 WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager 6 https://bugs.webkit.org/show_bug.cgi?id=50606 7 8 Add a WebDatabaseManagerProxy owned by the WebContext. 9 10 Expose API (similar to the WebKit1 API) to get a list of origins for which there are 11 Databases, delete all the databases for a given origin, and delete all the databases. 12 13 Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers. 14 * DerivedSources.make: 15 * Platform/CoreIPC/MessageID.h: 16 17 Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager). 18 * Shared/API/c/WKBase.h: 19 * Shared/APIObject.h: 20 * UIProcess/API/C/WKAPICast.h: 21 22 * UIProcess/API/C/WKContext.cpp: 23 (WKContextGetDatabaseManager): 24 Expose API to get the DatabaseManager. 25 * UIProcess/API/C/WKContext.h: 26 27 * UIProcess/API/C/WKDatabaseManager.cpp: Added. 28 (WKDatabaseManagerGetTypeID): 29 (WKDatabaseManagerGetDatabaseOrigins): 30 (callGetDatabaseOriginsBlockBlockAndDispose): 31 (WKDatabaseManagerGetDatabaseOrigins_b): 32 (WKDatabaseManagerDeleteDatabasesForOrigin): 33 (WKDatabaseManagerDeleteAllDatabases): 34 * UIProcess/API/C/WKDatabaseManager.h: Added. 35 36 * UIProcess/WebContext.cpp: 37 (WebKit::WebContext::WebContext): 38 Create the WebDatabaseManagerProxy. 39 (WebKit::WebContext::processDidClose): 40 Invalidate the WebDatabaseManagerProxy. 41 (WebKit::WebContext::didReceiveMessage): 42 Forward messages to the WebDatabaseManagerProxy. 43 * UIProcess/WebContext.h: 44 (WebKit::WebContext::databaseManagerProxy): 45 46 * UIProcess/WebDatabaseManagerProxy.cpp: Added. 47 (WebKit::WebDatabaseManagerProxy::create): 48 (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): 49 (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): 50 (WebKit::WebDatabaseManagerProxy::invalidate): 51 Invalidate the map of callbacks for getDatabaseOrigins. 52 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 53 Store the callback and send the request for the origins which have databases to the 54 WebProcess. 55 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 56 Call the callback function with the SecurityOrigins created from the identifiers received. 57 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 58 If the origin exists, send the message on to the WebProcess to delete the databases 59 associated with that origin. 60 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 61 Send the message to the WebProcess to delete all the databases. 62 * UIProcess/WebDatabaseManagerProxy.h: Added. 63 (WebKit::WebDatabaseManagerProxy::type): 64 * UIProcess/WebDatabaseManagerProxy.messages.in: Added. 65 66 * UIProcess/WebPageProxy.cpp: 67 Move invalidateCallbackMap from here ... 68 * UIProcess/GenericCallback.h: 69 (WebKit::invalidateCallbackMap): 70 .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy). 71 72 * UIProcess/WebProcessProxy.cpp: 73 (WebKit::WebProcessProxy::didReceiveMessage): 74 Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext. 75 76 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 77 (WebKit::WebDatabaseManager::didReceiveMessage): 78 (WebKit::WebDatabaseManager::getDatabaseOrigins): 79 Send an array of the identifiers for the SecurityOrigins for which there are databases to 80 the UIProcess. 81 (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): 82 If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the 83 databases for that origin. 84 (WebKit::WebDatabaseManager::deleteAllDatabases): 85 Tell the DatabaseTracker to delete the databases for that origin. 86 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 87 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added. 88 * WebProcess/WebProcess.cpp: 89 (WebKit::WebProcess::didReceiveMessage): 90 91 * WebKit2.pro: 92 Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h 93 * WebKit2.xcodeproj/project.pbxproj: 94 Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in. 95 * win/WebKit2.vcproj: 96 Ditto. 97 * win/WebKit2Generated.make: 98 Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows. 99 1 100 2010-12-10 Ada Chan <adachan@apple.com> 2 101 -
trunk/WebKit2/DerivedSources.make
r73281 r73808 26 26 $(WebKit2)/WebProcess/Authentication \ 27 27 $(WebKit2)/WebProcess/Plugins \ 28 $(WebKit2)/WebProcess/WebCoreSupport \ 28 29 $(WebKit2)/WebProcess/WebPage \ 29 30 $(WebKit2)/WebProcess \ … … 42 43 PluginProxy \ 43 44 WebContext \ 45 WebDatabaseManager \ 46 WebDatabaseManagerProxy \ 44 47 WebInspector \ 45 48 WebInspectorProxy \ -
trunk/WebKit2/Platform/CoreIPC/MessageID.h
r73281 r73808 39 39 MessageClassDrawingArea, 40 40 MessageClassInjectedBundle, 41 MessageClassWebDatabaseManager, 41 42 MessageClassWebInspector, 42 43 MessageClassWebPage, … … 48 49 MessageClassWebContext, 49 50 MessageClassWebContextLegacy, 51 MessageClassWebDatabaseManagerProxy, 50 52 MessageClassWebInspectorProxy, 51 53 MessageClassWebPageProxy, -
trunk/WebKit2/Shared/API/c/WKBase.h
r73281 r73808 67 67 typedef const struct OpaqueWKContext* WKContextRef; 68 68 typedef const struct OpaqueWKCredential* WKCredentialRef; 69 typedef const struct OpaqueWKDatabaseManager* WKDatabaseManagerRef; 69 70 typedef const struct OpaqueWKDownload* WKDownloadRef; 70 71 typedef const struct OpaqueWKFormSubmissionListener* WKFormSubmissionListenerRef; -
trunk/WebKit2/Shared/APIObject.h
r73281 r73808 63 63 TypeBackForwardListItem, 64 64 TypeContext, 65 TypeDatabaseManager, 65 66 TypeDownload, 66 67 TypeFormSubmissionListener, -
trunk/WebKit2/UIProcess/API/C/WKAPICast.h
r73614 r73808 48 48 class WebContext; 49 49 class WebCredential; 50 class WebDatabaseManagerProxy; 50 51 class WebFormSubmissionListenerProxy; 51 52 class WebFramePolicyListenerProxy; … … 65 66 WK_ADD_API_MAPPING(WKContextRef, WebContext) 66 67 WK_ADD_API_MAPPING(WKCredentialRef, WebCredential) 68 WK_ADD_API_MAPPING(WKDatabaseManagerRef, WebDatabaseManagerProxy) 67 69 WK_ADD_API_MAPPING(WKDownloadRef, DownloadProxy) 68 70 WK_ADD_API_MAPPING(WKFormSubmissionListenerRef, WebFormSubmissionListenerProxy) -
trunk/WebKit2/UIProcess/API/C/WKContext.cpp
r73215 r73808 142 142 toImpl(contextRef)->clearApplicationCache(); 143 143 } 144 145 WKDatabaseManagerRef WKContextGetDatabaseManager(WKContextRef contextRef) 146 { 147 return toAPI(toImpl(contextRef)->databaseManagerProxy()); 148 } -
trunk/WebKit2/UIProcess/API/C/WKContext.h
r73215 r73808 119 119 WK_EXPORT void WKContextClearApplicationCache(WKContextRef context); 120 120 121 WK_EXPORT WKDatabaseManagerRef WKContextGetDatabaseManager(WKContextRef context); 122 121 123 #ifdef __cplusplus 122 124 } -
trunk/WebKit2/UIProcess/GenericCallback.h
r69214 r73808 30 30 31 31 #include "WebError.h" 32 #include <wtf/HashMap.h> 32 33 #include <wtf/PassRefPtr.h> 33 34 #include <wtf/RefCounted.h> … … 90 91 }; 91 92 93 template<typename T> 94 void invalidateCallbackMap(HashMap<uint64_t, T>& map) 95 { 96 Vector<T> callbacksVector; 97 copyValuesToVector(map, callbacksVector); 98 for (size_t i = 0, size = callbacksVector.size(); i < size; ++i) 99 callbacksVector[i]->invalidate(); 100 map.clear(); 101 } 102 92 103 } // namespace WebKit 93 104 -
trunk/WebKit2/UIProcess/WebContext.cpp
r73569 r73808 34 34 #include "WebContextUserMessageCoders.h" 35 35 #include "WebCoreArgumentCoders.h" 36 #include "WebDatabaseManagerProxy.h" 36 37 #include "WebPageGroup.h" 37 38 #include "WebPageNamespace.h" … … 85 86 , m_clearResourceCachesForNewWebProcess(false) 86 87 , m_clearApplicationCacheForNewWebProcess(false) 88 , m_databaseManagerProxy(WebDatabaseManagerProxy::create(this)) 87 89 #if PLATFORM(WIN) 88 90 , m_shouldPaintNativeControls(true) … … 207 209 m_downloads.clear(); 208 210 211 m_databaseManagerProxy->invalidate(); 212 209 213 m_process = 0; 210 214 } … … 435 439 downloadProxy->didReceiveDownloadProxyMessage(connection, messageID, arguments); 436 440 441 return; 442 } 443 444 if (messageID.is<CoreIPC::MessageClassWebDatabaseManagerProxy>()) { 445 m_databaseManagerProxy->didReceiveWebDatabaseManagerProxyMessage(connection, messageID, arguments); 437 446 return; 438 447 } -
trunk/WebKit2/UIProcess/WebContext.h
r73569 r73808 48 48 49 49 class DownloadProxy; 50 class WebDatabaseManagerProxy; 50 51 class WebPageGroup; 51 52 class WebPageNamespace; … … 125 126 static HashSet<String, CaseFoldingHash> pdfAndPostScriptMIMETypes(); 126 127 128 WebDatabaseManagerProxy* databaseManagerProxy() const { return m_databaseManagerProxy.get(); } 129 127 130 private: 128 131 WebContext(ProcessModel, const String& injectedBundlePath); … … 182 185 bool m_clearResourceCachesForNewWebProcess; 183 186 bool m_clearApplicationCacheForNewWebProcess; 184 187 188 RefPtr<WebDatabaseManagerProxy> m_databaseManagerProxy; 189 185 190 #if PLATFORM(WIN) 186 191 bool m_shouldPaintNativeControls; -
trunk/WebKit2/UIProcess/WebPageProxy.cpp
r73796 r73808 79 79 #endif 80 80 81 template<typename T>82 void invalidateCallbackMap(HashMap<uint64_t, T>& map)83 {84 Vector<T> callbacksVector;85 copyValuesToVector(map, callbacksVector);86 for (size_t i = 0, size = callbacksVector.size(); i < size; ++i)87 callbacksVector[i]->invalidate();88 map.clear();89 }90 91 81 PassRefPtr<WebPageProxy> WebPageProxy::create(WebPageNamespace* pageNamespace, WebPageGroup* pageGroup, uint64_t pageID) 92 82 { -
trunk/WebKit2/UIProcess/WebProcessProxy.cpp
r73066 r73808 206 206 } 207 207 208 if (messageID.is<CoreIPC::MessageClassWebContext>() || messageID.is<CoreIPC::MessageClassWebContextLegacy>() || messageID.is<CoreIPC::MessageClassDownloadProxy>()) { 208 if (messageID.is<CoreIPC::MessageClassWebContext>() 209 || messageID.is<CoreIPC::MessageClassWebContextLegacy>() 210 || messageID.is<CoreIPC::MessageClassDownloadProxy>() 211 || messageID.is<CoreIPC::MessageClassWebDatabaseManagerProxy>()) { 209 212 m_context->didReceiveMessage(connection, messageID, arguments); 210 213 return; -
trunk/WebKit2/WebKit2.pro
r73716 r73808 278 278 UIProcess/API/C/WKCredential.h \ 279 279 UIProcess/API/C/WKCredentialTypes.h \ 280 UIProcess/API/C/WKDatabaseManager.h \ 280 281 UIProcess/API/C/WKDownload.h \ 281 282 UIProcess/API/C/WKFrame.h \ … … 326 327 UIProcess/WebContextMenuProxy.h \ 327 328 UIProcess/WebContextUserMessageCoders.h \ 329 UIProcess/WebDatabaseManagerProxy.h \ 328 330 UIProcess/WebDownloadClient.h \ 329 331 UIProcess/WebEditCommandProxy.h \ … … 476 478 UIProcess/API/C/WKContext.cpp \ 477 479 UIProcess/API/C/WKCredential.cpp \ 480 UIProcess/API/C/WKDatabaseManager.cpp \ 478 481 UIProcess/API/C/WKDownload.cpp \ 479 482 UIProcess/API/C/WKFrame.cpp \ … … 516 519 UIProcess/WebContextInjectedBundleClient.cpp \ 517 520 UIProcess/WebContextMenuProxy.cpp \ 521 UIProcess/WebDatabaseManagerProxy.cpp \ 518 522 UIProcess/WebDownloadClient.cpp \ 519 523 UIProcess/WebEditCommandProxy.cpp \ -
trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj
r73662 r73808 588 588 F6113E28126CE19B0057D0A7 /* WKUserContentURLPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */; }; 589 589 F6113E29126CE19B0057D0A7 /* WKUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = F6113E27126CE19B0057D0A7 /* WKUserContentURLPattern.h */; settings = {ATTRIBUTES = (Public, ); }; }; 590 F62A765C12B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F62A765912B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp */; }; 591 F62A765D12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = F62A765A12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h */; }; 592 F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F62A765F12B1ABED0005F1B6 /* WKDatabaseManager.cpp */; }; 593 F62A766212B1ABED0005F1B6 /* WKDatabaseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F62A766012B1ABED0005F1B6 /* WKDatabaseManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; 594 F62A76B612B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F62A76B212B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp */; }; 595 F62A76B712B1B25F0005F1B6 /* WebDatabaseManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = F62A76B312B1B25F0005F1B6 /* WebDatabaseManagerMessages.h */; }; 596 F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F62A76B412B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp */; }; 597 F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = F62A76B512B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h */; }; 590 598 F634445612A885C8000612D8 /* WebSecurityOrigin.h in Headers */ = {isa = PBXBuildFile; fileRef = F634445512A885C8000612D8 /* WebSecurityOrigin.h */; }; 591 599 F634445C12A885E9000612D8 /* WKSecurityOrigin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F634445A12A885E9000612D8 /* WKSecurityOrigin.cpp */; }; … … 1244 1252 F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserContentURLPattern.cpp; sourceTree = "<group>"; }; 1245 1253 F6113E27126CE19B0057D0A7 /* WKUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKUserContentURLPattern.h; sourceTree = "<group>"; }; 1254 F62A765712B1AB7D0005F1B6 /* WebDatabaseManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebDatabaseManager.messages.in; sourceTree = "<group>"; }; 1255 F62A765912B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDatabaseManagerProxy.cpp; sourceTree = "<group>"; }; 1256 F62A765A12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerProxy.h; sourceTree = "<group>"; }; 1257 F62A765B12B1ABC30005F1B6 /* WebDatabaseManagerProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebDatabaseManagerProxy.messages.in; sourceTree = "<group>"; }; 1258 F62A765F12B1ABED0005F1B6 /* WKDatabaseManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKDatabaseManager.cpp; sourceTree = "<group>"; }; 1259 F62A766012B1ABED0005F1B6 /* WKDatabaseManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDatabaseManager.h; sourceTree = "<group>"; }; 1260 F62A76B212B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDatabaseManagerMessageReceiver.cpp; sourceTree = "<group>"; }; 1261 F62A76B312B1B25F0005F1B6 /* WebDatabaseManagerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerMessages.h; sourceTree = "<group>"; }; 1262 F62A76B412B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDatabaseManagerProxyMessageReceiver.cpp; sourceTree = "<group>"; }; 1263 F62A76B512B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerProxyMessages.h; sourceTree = "<group>"; }; 1246 1264 F634445512A885C8000612D8 /* WebSecurityOrigin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSecurityOrigin.h; sourceTree = "<group>"; }; 1247 1265 F634445A12A885E9000612D8 /* WKSecurityOrigin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSecurityOrigin.cpp; sourceTree = "<group>"; }; … … 1757 1775 F6A25FDA12ADC6CC00DC40CC /* WebDatabaseManager.cpp */, 1758 1776 F6A25FDB12ADC6CC00DC40CC /* WebDatabaseManager.h */, 1777 F62A765712B1AB7D0005F1B6 /* WebDatabaseManager.messages.in */, 1759 1778 BC111A56112F4FBB00337BAB /* WebDragClient.cpp */, 1760 1779 BC032D6610F4378D0058C15A /* WebDragClient.h */, … … 1849 1868 BCDE059911CDA8AE00E41AF1 /* WebContextInjectedBundleClient.h */, 1850 1869 BCB0B0DB12305A2500B1341E /* WebContextUserMessageCoders.h */, 1870 F62A765912B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp */, 1871 F62A765A12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h */, 1872 F62A765B12B1ABC30005F1B6 /* WebDatabaseManagerProxy.messages.in */, 1851 1873 1AB7D72B1288CAAD00CFD08C /* WebDownloadClient.cpp */, 1852 1874 1AB7D72A1288CAAD00CFD08C /* WebDownloadClient.h */, … … 1930 1952 512F58F212A88A5400629530 /* WKCredential.h */, 1931 1953 518ACF1012B015F800B04B83 /* WKCredentialTypes.h */, 1954 F62A765F12B1ABED0005F1B6 /* WKDatabaseManager.cpp */, 1955 F62A766012B1ABED0005F1B6 /* WKDatabaseManager.h */, 1932 1956 1AB7D78C1288CD9A00CFD08C /* WKDownload.cpp */, 1933 1957 1AB7D78B1288CD9A00CFD08C /* WKDownload.h */, … … 2333 2357 BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */, 2334 2358 BCEE7D0C12846F69009827DA /* WebContextMessages.h */, 2359 F62A76B212B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp */, 2360 F62A76B312B1B25F0005F1B6 /* WebDatabaseManagerMessages.h */, 2361 F62A76B412B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp */, 2362 F62A76B512B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h */, 2335 2363 1C8E2A311277852400BC7BD0 /* WebInspectorMessageReceiver.cpp */, 2336 2364 1C8E2A321277852400BC7BD0 /* WebInspectorMessages.h */, … … 2671 2699 1AAF061412B01131008E49E2 /* PDFViewController.h in Headers */, 2672 2700 1AAF0C4A12B16334008E49E2 /* ArgumentCodersCF.h in Headers */, 2701 F62A765D12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h in Headers */, 2702 F62A766212B1ABED0005F1B6 /* WKDatabaseManager.h in Headers */, 2703 F62A76B712B1B25F0005F1B6 /* WebDatabaseManagerMessages.h in Headers */, 2704 F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */, 2673 2705 ); 2674 2706 runOnlyForDeploymentPostprocessing = 0; … … 3083 3115 1AAF061512B01131008E49E2 /* PDFViewController.mm in Sources */, 3084 3116 1AAF0C4B12B16334008E49E2 /* ArgumentCodersCF.cpp in Sources */, 3117 F62A765C12B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp in Sources */, 3118 F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */, 3119 F62A76B612B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp in Sources */, 3120 F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */, 3085 3121 ); 3086 3122 runOnlyForDeploymentPostprocessing = 0; -
trunk/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp
r73449 r73808 26 26 #include "WebDatabaseManager.h" 27 27 28 #include "Connection.h" 29 #include "MessageID.h" 30 #include "WebCoreArgumentCoders.h" 31 #include "WebDatabaseManagerProxyMessages.h" 32 #include "WebProcess.h" 28 33 #include <WebCore/DatabaseTracker.h> 34 #include <WebCore/SecurityOrigin.h> 29 35 30 36 using namespace WebCore; … … 43 49 } 44 50 51 void WebDatabaseManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) 52 { 53 didReceiveWebDatabaseManagerMessage(connection, messageID, arguments); 54 } 55 56 void WebDatabaseManager::getDatabaseOrigins(uint64_t callbackID) const 57 { 58 Vector<RefPtr<SecurityOrigin> > origins; 59 DatabaseTracker::tracker().origins(origins); 60 61 size_t numOrigins = origins.size(); 62 63 Vector<String> identifiers(numOrigins); 64 for (size_t i = 0; i < numOrigins; ++i) 65 identifiers[i] = origins[i]->databaseIdentifier(); 66 WebProcess::shared().connection()->send(Messages::WebDatabaseManagerProxy::DidGetDatabaseOrigins(identifiers, callbackID), 0); 67 } 68 69 void WebDatabaseManager::deleteDatabasesForOrigin(const String& originIdentifier) const 70 { 71 RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier); 72 if (!origin) 73 return; 74 75 DatabaseTracker::tracker().deleteOrigin(origin.get()); 76 } 77 78 void WebDatabaseManager::deleteAllDatabases() const 79 { 80 DatabaseTracker::tracker().deleteAllDatabases(); 81 } 82 45 83 } // namespace WebKit -
trunk/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.h
r73449 r73808 27 27 #define WebDatabaseManager_h 28 28 29 #include "Arguments.h" 29 30 #include <wtf/Noncopyable.h> 30 31 #include <wtf/text/WTFString.h> 32 33 namespace CoreIPC { 34 class ArgumentDecoder; 35 class Connection; 36 class MessageID; 37 } 31 38 32 39 namespace WebKit { … … 36 43 static WebDatabaseManager& shared(); 37 44 38 // FIXME: Add methods to get the origins for which there are databases, delete the databases 39 // for an origin, and delete all the databases. 40 // https://bugs.webkit.org/show_bug.cgi?id=50606 45 void getDatabaseOrigins(uint64_t callbackID) const; 46 void deleteDatabasesForOrigin(const String& originIdentifier) const; 47 void deleteAllDatabases() const; 48 49 void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 41 50 42 51 private: 43 52 WebDatabaseManager(); 53 54 void didReceiveWebDatabaseManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*); 44 55 45 56 String databaseDirectory() const; -
trunk/WebKit2/WebProcess/WebProcess.cpp
r73796 r73808 500 500 } 501 501 502 if (messageID.is<CoreIPC::MessageClassWebDatabaseManager>()) { 503 WebDatabaseManager::shared().didReceiveMessage(connection, messageID, arguments); 504 return; 505 } 506 502 507 if (messageID.is<CoreIPC::MessageClassInjectedBundle>()) { 503 508 if (!m_injectedBundle) -
trunk/WebKit2/win/WebKit2.vcproj
r73643 r73808 1151 1151 </File> 1152 1152 <File 1153 RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.messages.in" 1154 > 1155 </File> 1156 <File 1153 1157 RelativePath="..\WebProcess\WebCoreSupport\WebDragClient.cpp" 1154 1158 > … … 1880 1884 </File> 1881 1885 <File 1886 RelativePath="..\UIProcess\WebDatabaseManagerProxy.cpp" 1887 > 1888 </File> 1889 <File 1890 RelativePath="..\UIProcess\WebDatabaseManagerProxy.h" 1891 > 1892 </File> 1893 <File 1894 RelativePath="..\UIProcess\WebDatabaseManagerProxy.messages.in" 1895 > 1896 </File> 1897 <File 1882 1898 RelativePath="..\UIProcess\WebDownloadClient.cpp" 1883 1899 > … … 2058 2074 Name="API" 2059 2075 > 2076 <File 2077 RelativePath="..\UIProcess\API\C\WKDatabaseManager.cpp" 2078 > 2079 </File> 2060 2080 <Filter 2061 2081 Name="C" … … 2131 2151 <File 2132 2152 RelativePath="..\UIProcess\API\C\WKCredentialTypes.h" 2153 > 2154 </File> 2155 <File 2156 RelativePath="..\UIProcess\API\C\WKDatabaseManager.h" 2133 2157 > 2134 2158 </File> … … 2725 2749 <File 2726 2750 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\DownloadProxyMessages.h" 2751 > 2752 </File> 2753 <File 2754 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessageReceiver.cpp" 2755 > 2756 </File> 2757 <File 2758 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessages.h" 2759 > 2760 </File> 2761 <File 2762 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessageReceiver.cpp" 2763 > 2764 </File> 2765 <File 2766 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessages.h" 2727 2767 > 2728 2768 </File> -
trunk/WebKit2/win/WebKit2Generated.make
r73614 r73808 42 42 xcopy /y /d "..\UIProcess\API\C\WKCredential.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 43 43 xcopy /y /d "..\UIProcess\API\C\WKCredentialTypes.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 44 xcopy /y /d "..\UIProcess\API\C\WKDatabaseManager.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 44 45 xcopy /y /d "..\UIProcess\API\C\WKDownload.h" "$(WEBKITOUTPUTDIR)\include\WebKit2" 45 46 xcopy /y /d "..\UIProcess\API\C\WKFormSubmissionListener.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
Note: See TracChangeset
for help on using the changeset viewer.