Skip to content
  • beidson@apple.com's avatar
    Reviewed by Darin · 3af427d1
    beidson@apple.com authored
            databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
            like all other notifications we send out!
    
            * platform/SecurityOriginData.cpp:
            (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
            * platform/SecurityOriginData.h:
    
            * storage/DatabaseTracker.cpp:
            (WebCore::notificationMutex):
            (WebCore::notificationQueue):
            (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
            (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
              on the main thread
            (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
            * storage/DatabaseTracker.h:
    
            * storage/SQLTransaction.cpp:
            (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
            (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    3af427d1