Title: [148634] trunk/Source/WebKit2
Revision
148634
Author
[email protected]
Date
2013-04-17 14:13:26 -0700 (Wed, 17 Apr 2013)

Log Message

The storage manager should know the local storage directory
https://bugs.webkit.org/show_bug.cgi?id=114765

Reviewed by Beth Dakin.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::create):
(WebKit::StorageManager::setLocalStorageDirectory):
(WebKit::StorageManager::setLocalStorageDirectoryInternal):
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setLocalStorageDirectory):
* UIProcess/WebContext.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (148633 => 148634)


--- trunk/Source/WebKit2/ChangeLog	2013-04-17 20:51:31 UTC (rev 148633)
+++ trunk/Source/WebKit2/ChangeLog	2013-04-17 21:13:26 UTC (rev 148634)
@@ -1,3 +1,20 @@
+2013-04-17  Anders Carlsson  <[email protected]>
+
+        The storage manager should know the local storage directory
+        https://bugs.webkit.org/show_bug.cgi?id=114765
+
+        Reviewed by Beth Dakin.
+
+        * UIProcess/Storage/StorageManager.cpp:
+        (WebKit::StorageManager::create):
+        (WebKit::StorageManager::setLocalStorageDirectory):
+        (WebKit::StorageManager::setLocalStorageDirectoryInternal):
+        * UIProcess/Storage/StorageManager.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::WebContext):
+        (WebKit::WebContext::setLocalStorageDirectory):
+        * UIProcess/WebContext.h:
+
 2013-04-17  Joone Hur  <[email protected]>
 
         [EFL][AC] MiniBrowser starts with a black empty view before painting a web page

Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp (148633 => 148634)


--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2013-04-17 20:51:31 UTC (rev 148633)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp	2013-04-17 21:13:26 UTC (rev 148634)
@@ -219,6 +219,11 @@
 {
 }
 
+void StorageManager::setLocalStorageDirectory(const String& localStorageDirectory)
+{
+    m_queue->dispatch(bind(&StorageManager::setLocalStorageDirectoryInternal, this, localStorageDirectory.isolatedCopy()));
+}
+
 void StorageManager::createSessionStorageNamespace(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection, unsigned quotaInBytes)
 {
     m_queue->dispatch(bind(&StorageManager::createSessionStorageNamespaceInternal, this, storageNamespaceID, RefPtr<CoreIPC::Connection>(allowedConnection), quotaInBytes));
@@ -341,6 +346,11 @@
     connection->send(Messages::StorageAreaMap::DidClear(), storageMapID);
 }
 
+void StorageManager::setLocalStorageDirectoryInternal(const String& localStorageDirectory)
+{
+    m_localStorageDirectory = localStorageDirectory;
+}
+
 void StorageManager::createSessionStorageNamespaceInternal(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection, unsigned quotaInBytes)
 {
     ASSERT(!m_sessionStorageNamespaces.contains(storageNamespaceID));

Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h (148633 => 148634)


--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h	2013-04-17 20:51:31 UTC (rev 148633)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.h	2013-04-17 21:13:26 UTC (rev 148634)
@@ -43,6 +43,8 @@
     static PassRefPtr<StorageManager> create();
     ~StorageManager();
 
+    void setLocalStorageDirectory(const String&);
+
     void createSessionStorageNamespace(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection, unsigned quotaInBytes);
     void destroySessionStorageNamespace(uint64_t storageNamespaceID);
     void setAllowedSessionStorageNamespaceConnection(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection);
@@ -66,6 +68,8 @@
     void removeItem(CoreIPC::Connection*, uint64_t storageMapID, uint64_t sourceStorageAreaID, const String& key, const String& urlString);
     void clear(CoreIPC::Connection*, uint64_t storageMapID, uint64_t sourceStorageAreaID, const String& urlString);
 
+    void setLocalStorageDirectoryInternal(const String&);
+
     void createSessionStorageNamespaceInternal(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection, unsigned quotaInBytes);
     void destroySessionStorageNamespaceInternal(uint64_t storageNamespaceID);
     void setAllowedSessionStorageNamespaceConnectionInternal(uint64_t storageNamespaceID, CoreIPC::Connection* allowedConnection);
@@ -78,6 +82,8 @@
 
     RefPtr<WorkQueue> m_queue;
 
+    String m_localStorageDirectory;
+
     class SessionStorageNamespace;
     HashMap<uint64_t, RefPtr<SessionStorageNamespace> > m_sessionStorageNamespaces;
 

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (148633 => 148634)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2013-04-17 20:51:31 UTC (rev 148633)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2013-04-17 21:13:26 UTC (rev 148634)
@@ -196,6 +196,8 @@
 #ifndef NDEBUG
     webContextCounter.increment();
 #endif
+
+    m_storageManager->setLocalStorageDirectory(localStorageDirectory());
 }
 
 #if !PLATFORM(MAC)
@@ -1048,6 +1050,12 @@
     return platformDefaultIconDatabasePath();
 }
 
+void WebContext::setLocalStorageDirectory(const String& directory)
+{
+    m_overrideLocalStorageDirectory = directory;
+    m_storageManager->setLocalStorageDirectory(localStorageDirectory());
+}
+
 String WebContext::localStorageDirectory() const
 {
     if (!m_overrideLocalStorageDirectory.isEmpty())

Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (148633 => 148634)


--- trunk/Source/WebKit2/UIProcess/WebContext.h	2013-04-17 20:51:31 UTC (rev 148633)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h	2013-04-17 21:13:26 UTC (rev 148634)
@@ -235,7 +235,7 @@
     void setDatabaseDirectory(const String& dir) { m_overrideDatabaseDirectory = dir; }
     void setIconDatabasePath(const String&);
     String iconDatabasePath() const;
-    void setLocalStorageDirectory(const String& dir) { m_overrideLocalStorageDirectory = dir; }
+    void setLocalStorageDirectory(const String&);
     void setDiskCacheDirectory(const String& dir) { m_overrideDiskCacheDirectory = dir; }
     void setCookieStorageDirectory(const String& dir) { m_overrideCookieStorageDirectory = dir; }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to