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