Title: [149683] trunk/Source
Revision
149683
Author
[email protected]
Date
2013-05-07 11:30:19 -0700 (Tue, 07 May 2013)

Log Message

REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
https://bugs.webkit.org/show_bug.cgi?id=115711

Reviewed by Andreas Kling.

Source/WebCore:

Export SQLiteDatabase::close.

* WebCore.exp.in:

Source/WebKit2:

Handle setting the local storage directory more than once.

* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
Close the database (if necessary) and clear the origins map before importing the origin identifiers.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149682 => 149683)


--- trunk/Source/WebCore/ChangeLog	2013-05-07 18:12:48 UTC (rev 149682)
+++ trunk/Source/WebCore/ChangeLog	2013-05-07 18:30:19 UTC (rev 149683)
@@ -1,3 +1,14 @@
+2013-05-07  Anders Carlsson  <[email protected]>
+
+        REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
+        https://bugs.webkit.org/show_bug.cgi?id=115711
+
+        Reviewed by Andreas Kling.
+
+        Export SQLiteDatabase::close.
+
+        * WebCore.exp.in:
+
 2013-05-06  Ryosuke Niwa  <[email protected]>
 
         Add an 'isReadOnly' member to IDL parse tree structure

Modified: trunk/Source/WebCore/WebCore.exp.in (149682 => 149683)


--- trunk/Source/WebCore/WebCore.exp.in	2013-05-07 18:12:48 UTC (rev 149682)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-05-07 18:30:19 UTC (rev 149683)
@@ -350,6 +350,7 @@
 __ZN7WebCore14SQLiteDatabase11tableExistsERKN3WTF6StringE
 __ZN7WebCore14SQLiteDatabase14executeCommandERKN3WTF6StringE
 __ZN7WebCore14SQLiteDatabase4openERKN3WTF6StringEb
+__ZN7WebCore14SQLiteDatabase5closeEv
 __ZN7WebCore14SQLiteDatabaseC1Ev
 __ZN7WebCore14SQLiteDatabaseD1Ev
 __ZN7WebCore14SchemeRegistry24registerURLSchemeAsLocalERKN3WTF6StringE

Modified: trunk/Source/WebKit2/ChangeLog (149682 => 149683)


--- trunk/Source/WebKit2/ChangeLog	2013-05-07 18:12:48 UTC (rev 149682)
+++ trunk/Source/WebKit2/ChangeLog	2013-05-07 18:30:19 UTC (rev 149683)
@@ -1,3 +1,16 @@
+2013-05-07  Anders Carlsson  <[email protected]>
+
+        REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
+        https://bugs.webkit.org/show_bug.cgi?id=115711
+
+        Reviewed by Andreas Kling.
+
+        Handle setting the local storage directory more than once.
+
+        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
+        (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
+        Close the database (if necessary) and clear the origins map before importing the origin identifiers.
+
 2013-05-07  Antoine Quint  <[email protected]>
 
         Re-establish autostart timeout extension on user interaction

Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp (149682 => 149683)


--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp	2013-05-07 18:12:48 UTC (rev 149682)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp	2013-05-07 18:30:19 UTC (rev 149683)
@@ -62,7 +62,11 @@
 
 void LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal(const String& localStorageDirectory)
 {
+    if (m_database.isOpen())
+        m_database.close();
+
     m_localStorageDirectory = localStorageDirectory;
+    m_origins.clear();
 
     m_queue->dispatch(bind(&LocalStorageDatabaseTracker::importOriginIdentifiers, this));
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to