Title: [99218] trunk/Source/WebCore
Revision
99218
Author
[email protected]
Date
2011-11-03 10:46:03 -0700 (Thu, 03 Nov 2011)

Log Message

IndexedDB: Object stores not persisting between sessions
https://bugs.webkit.org/show_bug.cgi?id=71313

Patch by Joshua Bell <[email protected]> on 2011-11-03
Reviewed by Tony Chang.

Logic flaw introduced with r98806 skipped the loading of object stores
during subsequent sessions.

* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (99217 => 99218)


--- trunk/Source/WebCore/ChangeLog	2011-11-03 17:42:20 UTC (rev 99217)
+++ trunk/Source/WebCore/ChangeLog	2011-11-03 17:46:03 UTC (rev 99218)
@@ -1,3 +1,17 @@
+2011-11-03  Joshua Bell  <[email protected]>
+
+        IndexedDB: Object stores not persisting between sessions
+        https://bugs.webkit.org/show_bug.cgi?id=71313
+
+        Reviewed by Tony Chang.
+
+        Logic flaw introduced with r98806 skipped the loading of object stores
+        during subsequent sessions.
+
+        * storage/IDBDatabaseBackendImpl.cpp:
+        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
+        (WebCore::IDBDatabaseBackendImpl::openInternal):
+
 2011-11-03  Pavel Feldman  <[email protected]>
 
         Web Inspector: fix heap profiler rendering and resize.

Modified: trunk/Source/WebCore/storage/IDBDatabaseBackendImpl.cpp (99217 => 99218)


--- trunk/Source/WebCore/storage/IDBDatabaseBackendImpl.cpp	2011-11-03 17:42:20 UTC (rev 99217)
+++ trunk/Source/WebCore/storage/IDBDatabaseBackendImpl.cpp	2011-11-03 17:46:03 UTC (rev 99218)
@@ -103,18 +103,19 @@
     , m_transactionCoordinator(coordinator)
 {
     ASSERT(!m_name.isNull());
-
-    bool success = m_backingStore->getIDBDatabaseMetaData(m_name, m_version, m_id);
-    ASSERT(success == (m_id != InvalidId));
-    if (!success)
-        openInternal();
+    openInternal();
 }
 
 void IDBDatabaseBackendImpl::openInternal()
 {
+    bool success = m_backingStore->getIDBDatabaseMetaData(m_name, m_version, m_id);
+    ASSERT(success == (m_id != InvalidId));
+    if (success) {
+        loadObjectStores();
+        return;
+    }
     if (!m_backingStore->createIDBDatabaseMetaData(m_name, m_version, m_id))
         ASSERT_NOT_REACHED(); // FIXME: Need better error handling.
-    loadObjectStores();
 }
 
 IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to