Title: [149460] trunk/Source
Revision
149460
Author
[email protected]
Date
2013-05-01 16:17:29 -0700 (Wed, 01 May 2013)

Log Message

Implement LocalStorageDatabase::importItems
https://bugs.webkit.org/show_bug.cgi?id=115493

Reviewed by Andreas Kling.

Source/WebCore:

Export symbols needed by WebKit2.

* WebCore.exp.in:

Source/WebKit2:

Fetch items and insert them in the storage map.
* UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::importItems):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149459 => 149460)


--- trunk/Source/WebCore/ChangeLog	2013-05-01 23:01:39 UTC (rev 149459)
+++ trunk/Source/WebCore/ChangeLog	2013-05-01 23:17:29 UTC (rev 149460)
@@ -1,5 +1,16 @@
 2013-05-01  Anders Carlsson  <[email protected]>
 
+        Implement LocalStorageDatabase::importItems
+        https://bugs.webkit.org/show_bug.cgi?id=115493
+
+        Reviewed by Andreas Kling.
+
+        Export symbols needed by WebKit2.
+
+        * WebCore.exp.in:
+
+2013-05-01  Anders Carlsson  <[email protected]>
+
         Begin work on loading items from the local storage database
         https://bugs.webkit.org/show_bug.cgi?id=115489
 

Modified: trunk/Source/WebCore/WebCore.exp.in (149459 => 149460)


--- trunk/Source/WebCore/WebCore.exp.in	2013-05-01 23:01:39 UTC (rev 149459)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-05-01 23:17:29 UTC (rev 149460)
@@ -272,6 +272,7 @@
 __ZN7WebCore13pointerCursorEv
 __ZN7WebCore13ResourceErrorC1EP7NSError
 __ZN7WebCore13ResourceErrorC1EP9__CFError
+__ZN7WebCore13SQLResultDoneE
 __ZN7WebCore13StyledElement22setInlineStylePropertyENS_13CSSPropertyIDERKN3WTF6StringEb
 __ZN7WebCore13StyledElement22setInlineStylePropertyENS_13CSSPropertyIDEdNS_17CSSPrimitiveValue9UnitTypesEb
 __ZN7WebCore13cookiesForDOMERKNS_21NetworkStorageSessionERKNS_4KURLES5_
@@ -474,7 +475,11 @@
 __ZN7WebCore15ProtectionSpaceC1Ev
 __ZN7WebCore15ResourceRequest21httpPipeliningEnabledEv
 __ZN7WebCore15ResourceRequest24setHTTPPipeliningEnabledEb
+__ZN7WebCore15SQLiteStatement13getColumnTextEi
+__ZN7WebCore15SQLiteStatement21getColumnBlobAsStringEi
 __ZN7WebCore15SQLiteStatement22isColumnDeclaredAsBlobEi
+__ZN7WebCore15SQLiteStatement4stepEv
+__ZN7WebCore15SQLiteStatement7prepareEv
 __ZN7WebCore15SQLiteStatementC1ERNS_14SQLiteDatabaseERKN3WTF6StringE
 __ZN7WebCore15SQLiteStatementD1Ev
 __ZN7WebCore15ScrollAlignment17alignCenterAlwaysE
@@ -1792,6 +1797,7 @@
 __ZN7WebCore10FloatPointC1ERK8_NSPoint
 __ZN7WebCore10handCursorEv
 __ZN7WebCore11CachedImage5imageEv
+__ZN7WebCore11SQLResultOkE
 __ZN7WebCore11globalPointERK8_NSPointP8NSWindow
 __ZN7WebCore11toUserSpaceERK7_NSRectP8NSWindow
 __ZN7WebCore12EventHandler10mouseMovedEP7NSEvent
@@ -1803,6 +1809,7 @@
 __ZN7WebCore12EventHandler8keyEventEP7NSEvent
 __ZN7WebCore12EventHandler9mouseDownEP7NSEvent
 __ZN7WebCore12PopupMenuMacC1EPNS_15PopupMenuClientE
+__ZN7WebCore12SQLResultRowE
 __ZN7WebCore13toDeviceSpaceERKNS_9FloatRectEP8NSWindow
 __ZN7WebCore13getRawCookiesERKNS_21NetworkStorageSessionERKNS_4KURLES5_RN3WTF6VectorINS_6CookieELm0ENS6_15CrashOnOverflowEEE
 __ZN7WebCore15GraphicsContextC1EP9CGContext

Modified: trunk/Source/WebKit2/ChangeLog (149459 => 149460)


--- trunk/Source/WebKit2/ChangeLog	2013-05-01 23:01:39 UTC (rev 149459)
+++ trunk/Source/WebKit2/ChangeLog	2013-05-01 23:17:29 UTC (rev 149460)
@@ -1,5 +1,16 @@
 2013-05-01  Anders Carlsson  <[email protected]>
 
+        Implement LocalStorageDatabase::importItems
+        https://bugs.webkit.org/show_bug.cgi?id=115493
+
+        Reviewed by Andreas Kling.
+
+        Fetch items and insert them in the storage map.
+        * UIProcess/Storage/LocalStorageDatabase.cpp:
+        (WebKit::LocalStorageDatabase::importItems):
+
+2013-05-01  Anders Carlsson  <[email protected]>
+
         Begin work on loading items from the local storage database
         https://bugs.webkit.org/show_bug.cgi?id=115489
 

Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp (149459 => 149460)


--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp	2013-05-01 23:01:39 UTC (rev 149459)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabase.cpp	2013-05-01 23:17:29 UTC (rev 149460)
@@ -30,7 +30,9 @@
 #include <WebCore/FileSystem.h>
 #include <WebCore/SQLiteStatement.h>
 #include <WebCore/SQLiteTransaction.h>
+#include <WebCore/StorageMap.h>
 #include <wtf/PassRefPtr.h>
+#include <wtf/text/StringHash.h>
 #include <wtf/text/WTFString.h>
 
 using namespace WebCore;
@@ -134,7 +136,7 @@
     return true;
 }
 
-void LocalStorageDatabase::importItems(StorageMap&)
+void LocalStorageDatabase::importItems(StorageMap& storageMap)
 {
     // FIXME: If it can't import, then the default WebKit behavior should be that of private browsing,
     // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
@@ -143,7 +145,26 @@
     if (!m_database.isOpen())
         return;
 
-    // FIXME: Actually import the items.
+    SQLiteStatement query(m_database, "SELECT key, value FROM ItemTable");
+    if (query.prepare() != SQLResultOk) {
+        LOG_ERROR("Unable to select items from ItemTable for local storage");
+        return;
+    }
+
+    HashMap<String, String> items;
+
+    int result = query.step();
+    while (result == SQLResultRow) {
+        items.set(query.getColumnText(0), query.getColumnBlobAsString(1));
+        result = query.step();
+    }
+
+    if (result != SQLResultDone) {
+        LOG_ERROR("Error reading items from ItemTable for local storage");
+        return;
+    }
+
+    storageMap.importItems(items);
 }
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to