Changeset 138511 in webkit
- Timestamp:
- Dec 27, 2012, 11:13:00 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 1 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r138504 r138511 1 2012-12-26 Sam Weinig <sam@webkit.org> 2 3 Add an initial stab at a generic supplemental interface for WebProcess 4 https://bugs.webkit.org/show_bug.cgi?id=105779 5 6 Reviewed by Darin Adler. 7 8 This starts the process of adding a mechanism to WebProcess to extend its 9 functionality without actually changing it (similar to the Supplement 10 mechanism in WebCore). This will make it possible for ports to add functionality 11 that might not be needed or wanted by other ports. 12 13 * WebKit2.xcodeproj/project.pbxproj: 14 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: 15 (WebKit::WebKeyValueStorageManager::initialize): 16 (WebKit): 17 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: 18 (WebKeyValueStorageManager): 19 (WebKit::WebKeyValueStorageManager::localStorageDirectory): 20 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 21 (WebKit::WebDatabaseManager::WebDatabaseManager): 22 (WebKit::WebDatabaseManager::initialize): 23 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 24 (WebDatabaseManager): 25 * WebProcess/WebPage/WebPage.cpp: 26 (WebKit::WebPage::updatePreferences): 27 * WebProcess/WebProcess.cpp: 28 (WebKit::WebProcess::initializeWebProcess): 29 (WebKit::WebProcess::keyValueStorageManager): 30 (WebKit): 31 * WebProcess/WebProcess.h: 32 (WebProcess): 33 * WebProcess/WebProcessSupplement.h: Added. 34 (WebKit): 35 (WebProcessSupplement): 36 (WebKit::WebProcessSupplement::~WebProcessSupplement): 37 (WebKit::WebProcessSupplement::initialize): 38 1 39 2012-12-27 Christophe Dumez <christophe.dumez@intel.com> 2 40 -
trunk/Source/WebKit2/GNUmakefile.list.am
r138425 r138511 1208 1208 Source/WebKit2/WebProcess/WebConnectionToUIProcess.cpp \ 1209 1209 Source/WebKit2/WebProcess/WebConnectionToUIProcess.h \ 1210 Source/WebKit2/WebProcess/WebProcessSupplement.h \ 1210 1211 Source/WebKit2/WebProcess/WebProcess.cpp \ 1211 1212 Source/WebKit2/WebProcess/WebProcess.h -
trunk/Source/WebKit2/Target.pri
r138232 r138511 390 390 WebProcess/WebPage/WebUndoStep.h \ 391 391 WebProcess/WebConnectionToUIProcess.h \ 392 WebProcess/WebProcessSupplement.h \ 392 393 WebProcess/WebProcess.h \ 393 394 WebProcess/qt/QtBuiltinBundle.h \ -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r138413 r138511 935 935 BCE0937714FB128C001138D9 /* LayerHostingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCE0937514FB128B001138D9 /* LayerHostingContext.mm */; }; 936 936 BCE0937814FB128C001138D9 /* LayerHostingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE0937614FB128B001138D9 /* LayerHostingContext.h */; }; 937 BCE0E425168B7A280057E66A /* WebProcessSupplement.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE0E424168B7A280057E66A /* WebProcessSupplement.h */; }; 937 938 BCE17B7D1381F1170012A641 /* WKPagePrivateMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE17B7B1381F1170012A641 /* WKPagePrivateMac.cpp */; }; 938 939 BCE17B7E1381F1170012A641 /* WKPagePrivateMac.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE17B7C1381F1170012A641 /* WKPagePrivateMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 2203 2204 BCE0937514FB128B001138D9 /* LayerHostingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LayerHostingContext.mm; sourceTree = "<group>"; }; 2204 2205 BCE0937614FB128B001138D9 /* LayerHostingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerHostingContext.h; sourceTree = "<group>"; }; 2206 BCE0E424168B7A280057E66A /* WebProcessSupplement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessSupplement.h; sourceTree = "<group>"; }; 2205 2207 BCE17B7B1381F1170012A641 /* WKPagePrivateMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WKPagePrivateMac.cpp; path = mac/WKPagePrivateMac.cpp; sourceTree = "<group>"; }; 2206 2208 BCE17B7C1381F1170012A641 /* WKPagePrivateMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKPagePrivateMac.h; path = mac/WKPagePrivateMac.h; sourceTree = "<group>"; }; … … 3378 3380 BC111AE3112F5C2600337BAB /* WebProcess.cpp */, 3379 3381 BC032D9110F437AF0058C15A /* WebProcess.h */, 3382 BCE0E424168B7A280057E66A /* WebProcessSupplement.h */, 3380 3383 BC3066B9125A436300E71278 /* WebProcess.messages.in */, 3381 3384 1A6FA01F11E1528700DB1371 /* WebProcessMain.h */, … … 5021 5024 2989A414167D184B004F96D2 /* CustomProtocolManager.h in Headers */, 5022 5025 31A505FA1680025500A930EB /* WebContextClient.h in Headers */, 5026 BCE0E425168B7A280057E66A /* WebProcessSupplement.h in Headers */, 5023 5027 ); 5024 5028 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp
r138479 r138511 31 31 #include "WebKeyValueStorageManagerProxyMessages.h" 32 32 #include "WebProcess.h" 33 #include "WebProcessCreationParameters.h" 33 34 #include <WebCore/SecurityOrigin.h> 34 35 #include <WebCore/SecurityOriginHash.h> … … 43 44 { 44 45 m_process->addMessageReceiver(Messages::WebKeyValueStorageManager::messageReceiverName(), this); 46 } 47 48 void WebKeyValueStorageManager::initialize(const WebProcessCreationParameters& parameters) 49 { 50 StorageTracker::initializeTracker(parameters.localStorageDirectory, this); 51 m_localStorageDirectory = parameters.localStorageDirectory; 45 52 } 46 53 -
trunk/Source/WebKit2/WebProcess/KeyValueStorage/WebKeyValueStorageManager.h
r138479 r138511 27 27 #define WebKeyValueStorageManager_h 28 28 29 #include " MessageReceiver.h"29 #include "WebProcessSupplement.h" 30 30 #include <WebCore/StorageTrackerClient.h> 31 31 #include <wtf/Noncopyable.h> 32 32 #include <wtf/Vector.h> 33 #include <wtf/text/WTFString.h> 33 34 34 35 namespace WebKit { … … 37 38 struct SecurityOriginData; 38 39 39 class WebKeyValueStorageManager : public WebCore::StorageTrackerClient, p rivate CoreIPC::MessageReceiver{40 class WebKeyValueStorageManager : public WebCore::StorageTrackerClient, public WebProcessSupplement { 40 41 WTF_MAKE_NONCOPYABLE(WebKeyValueStorageManager); 41 42 public: 42 43 explicit WebKeyValueStorageManager(WebProcess*); 43 44 45 // WebProcessSupplement 46 virtual void initialize(const WebProcessCreationParameters&) OVERRIDE; 47 48 const String& localStorageDirectory() const { return m_localStorageDirectory; } 49 44 50 private: 45 void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; 51 // CoreIPC::MessageReceiver 52 virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE; 46 53 void didReceiveWebKeyValueStorageManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&); 47 54 … … 57 64 58 65 Vector<uint64_t> m_originsRequestCallbackIDs; 59 66 String m_localStorageDirectory; 60 67 WebProcess* m_process; 61 68 }; -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp
r138471 r138511 34 34 #include "WebDatabaseManagerProxyMessages.h" 35 35 #include "WebProcess.h" 36 #include "WebProcessCreationParameters.h" 36 37 #include <WebCore/DatabaseDetails.h> 37 38 #include <WebCore/DatabaseManager.h> … … 46 47 { 47 48 m_process->addMessageReceiver(Messages::WebDatabaseManager::messageReceiverName(), this); 48 49 49 } 50 50 51 void WebDatabaseManager::initialize(const String& databaseDirectory)51 void WebDatabaseManager::initialize(const WebProcessCreationParameters& parameters) 52 52 { 53 DatabaseManager::manager().initialize( databaseDirectory);53 DatabaseManager::manager().initialize(parameters.databaseDirectory); 54 54 DatabaseManager::manager().setClient(this); 55 55 } -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.h
r138471 r138511 29 29 #if ENABLE(SQL_DATABASE) 30 30 31 #include " MessageReceiver.h"31 #include "WebProcessSupplement.h" 32 32 #include <WebCore/DatabaseManagerClient.h> 33 33 #include <stdint.h> … … 38 38 class WebProcess; 39 39 40 class WebDatabaseManager : public WebCore::DatabaseManagerClient, p rivate CoreIPC::MessageReceiver{40 class WebDatabaseManager : public WebCore::DatabaseManagerClient, public WebProcessSupplement { 41 41 WTF_MAKE_NONCOPYABLE(WebDatabaseManager); 42 42 public: 43 WebDatabaseManager(WebProcess*); 44 void initialize(const String& databaseDirectory); 43 explicit WebDatabaseManager(WebProcess*); 44 45 // WebProcessSupplement 46 virtual void initialize(const WebProcessCreationParameters&) OVERRIDE; 45 47 46 48 void setQuotaForOrigin(const String& originIdentifier, unsigned long long quota) const; -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r138388 r138511 69 69 #include "WebInspectorClient.h" 70 70 #include "WebInspectorMessages.h" 71 #include "WebKeyValueStorageManager.h" 71 72 #include "WebNotificationClient.h" 72 73 #include "WebOpenPanelResultListener.h" … … 108 109 #include <WebCore/PluginDocument.h> 109 110 #include <WebCore/PrintContext.h> 111 #include <WebCore/Range.h> 110 112 #include <WebCore/RenderLayer.h> 111 113 #include <WebCore/RenderTreeAsText.h> … … 123 125 #include <WebCore/SubstituteData.h> 124 126 #include <WebCore/TextIterator.h> 127 #include <WebCore/VisiblePosition.h> 125 128 #include <WebCore/markup.h> 126 129 #include <runtime/JSLock.h> 127 130 #include <runtime/JSValue.h> 128 129 #include <WebCore/Range.h>130 #include <WebCore/VisiblePosition.h>131 131 132 132 #if ENABLE(MHTML) … … 2344 2344 #endif 2345 2345 2346 settings->setLocalStorageDatabasePath(WebProcess::shared(). localStorageDirectory());2346 settings->setLocalStorageDatabasePath(WebProcess::shared().keyValueStorageManager().localStorageDirectory()); 2347 2347 2348 2348 #if USE(AVFOUNDATION) -
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
r138479 r138511 255 255 256 256 #if ENABLE(SQL_DATABASE) 257 // Make sure the WebDatabaseManager is initialized so that the Database directory is set. 258 m_databaseManager->initialize(parameters.databaseDirectory); 257 m_databaseManager->initialize(parameters); 259 258 #endif 260 259 … … 263 262 #endif 264 263 265 StorageTracker::initializeTracker(parameters.localStorageDirectory, m_keyValueStorageManager); 266 m_localStorageDirectory = parameters.localStorageDirectory; 264 m_keyValueStorageManager->initialize(parameters); 267 265 268 266 if (!parameters.applicationCacheDirectory.isEmpty()) … … 451 449 { 452 450 return *m_cookieManager; 451 } 452 453 WebKeyValueStorageManager& WebProcess::keyValueStorageManager() 454 { 455 return *m_keyValueStorageManager; 453 456 } 454 457 -
trunk/Source/WebKit2/WebProcess/WebProcess.h
r138479 r138511 184 184 WebResourceCacheManager& resourceCacheManager(); 185 185 WebCookieManager& cookieManager(); 186 WebKeyValueStorageManager& keyValueStorageManager(); 186 187 DownloadManager& downloadManager(); 187 188 AuthenticationManager& authenticationManager(); … … 205 206 void clearResourceCaches(ResourceCachesToClear = AllResourceCaches); 206 207 207 const String& localStorageDirectory() const { return m_localStorageDirectory; }208 209 208 #if ENABLE(PLUGIN_PROCESS) 210 209 PluginProcessConnectionManager& pluginProcessConnectionManager(); … … 399 398 #endif 400 399 WebIconDatabaseProxy* m_iconDatabaseProxy; 401 402 String m_localStorageDirectory;403 400 404 401 #if ENABLE(NETWORK_PROCESS) -
trunk/Source/WebKit2/win/WebKit2.vcproj
r138096 r138511 1620 1620 </File> 1621 1621 <File 1622 RelativePath="..\WebProcess\WebProcessSupplement.h" 1623 > 1624 </File> 1625 <File 1622 1626 RelativePath="..\WebProcess\WebProcess.cpp" 1623 1627 >
Note:
See TracChangeset
for help on using the changeset viewer.