[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

dumi at chromium.org dumi at chromium.org
Thu Apr 8 00:43:14 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 8a520efed0c10f84e5ca78025e7224b57ce4c1f8
Author: dumi at chromium.org <dumi at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Dec 19 02:03:00 2009 +0000

    Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
    the main thread when a database is being closed.
    
    Reviewed by Eric Seidel.
    
    https://bugs.webkit.org/show_bug.cgi?id=32627
    
    * storage/chromium/DatabaseTrackerChromium.cpp:
    (WebCore::removeOpenDatabaseOnMainThread):
    (WebCore::DatabaseTracker::removeOpenDatabase):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52370 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 356e0d5..733590f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-12-18  Dumitru Daniliuc  <dumi at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
+        the main thread when a database is being closed.
+
+        https://bugs.webkit.org/show_bug.cgi?id=32627
+
+        * storage/chromium/DatabaseTrackerChromium.cpp:
+        (WebCore::removeOpenDatabaseOnMainThread):
+        (WebCore::DatabaseTracker::removeOpenDatabase):
+
 2009-12-18  Brent Fulgham  <bfulgham at webkit.org>
 
         Build fix, no review.
@@ -7,7 +20,7 @@
         (WebCore::FontCache::createFontPlatformData): Conditionalize
           Safari-only call.
 
-2009-12-16  Dumitru Daniliuc  <dumi at chromium.org>
+2009-12-18  Dumitru Daniliuc  <dumi at chromium.org>
 
         Reviewed by Dmitry Titov.
 
diff --git a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
index e4b8178..7556e3d 100644
--- a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
+++ b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
@@ -77,13 +77,22 @@ void DatabaseTracker::addOpenDatabase(Database* database)
     ASSERT(isMainThread());
     DatabaseObserver::databaseOpened(database);
 }
+static void removeOpenDatabaseOnMainThread(void* context)
+{
+    Database* database = static_cast<Database*>(context);
+    DatabaseTracker::tracker().removeOpenDatabase(database);
+    database->deref();
+}
 
 void DatabaseTracker::removeOpenDatabase(Database* database)
 {
-    // FIXME: once we know how to use this information, figure out
-    //        how to get this method called on the main thread
-    //ASSERT(isMainThread());
-    //DatabaseObserver::databaseClosed(database);
+    if (!isMainThread()) {
+        database->ref();
+        callOnMainThread(removeOpenDatabaseOnMainThread, database);
+        return;
+    }
+
+    DatabaseObserver::databaseClosed(database);
 }
 
 unsigned long long DatabaseTracker::getMaxSizeForDatabase(const Database* database)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list