Changeset 52370 in webkit


Ignore:
Timestamp:
Dec 18, 2009 6:03:00 PM (14 years ago)
Author:
dumi@chromium.org
Message:

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):

Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r52369 r52370  
     12009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
     6        the main thread when a database is being closed.
     7
     8        https://bugs.webkit.org/show_bug.cgi?id=32627
     9
     10        * storage/chromium/DatabaseTrackerChromium.cpp:
     11        (WebCore::removeOpenDatabaseOnMainThread):
     12        (WebCore::DatabaseTracker::removeOpenDatabase):
     13
    1142009-12-18  Brent Fulgham  <bfulgham@webkit.org>
    215
     
    821          Safari-only call.
    922
    10 2009-12-16  Dumitru Daniliuc  <dumi@chromium.org>
     232009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
    1124
    1225        Reviewed by Dmitry Titov.
  • trunk/WebCore/storage/chromium/DatabaseTrackerChromium.cpp

    r50961 r52370  
    7878    DatabaseObserver::databaseOpened(database);
    7979}
     80static void removeOpenDatabaseOnMainThread(void* context)
     81{
     82    Database* database = static_cast<Database*>(context);
     83    DatabaseTracker::tracker().removeOpenDatabase(database);
     84    database->deref();
     85}
    8086
    8187void DatabaseTracker::removeOpenDatabase(Database* database)
    8288{
    83     // FIXME: once we know how to use this information, figure out
    84     //        how to get this method called on the main thread
    85     //ASSERT(isMainThread());
    86     //DatabaseObserver::databaseClosed(database);
     89    if (!isMainThread()) {
     90        database->ref();
     91        callOnMainThread(removeOpenDatabaseOnMainThread, database);
     92        return;
     93    }
     94
     95    DatabaseObserver::databaseClosed(database);
    8796}
    8897
Note: See TracChangeset for help on using the changeset viewer.