diff options
Diffstat (limited to 'content/worker/worker_thread.cc')
-rw-r--r-- | content/worker/worker_thread.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/content/worker/worker_thread.cc b/content/worker/worker_thread.cc index c62515d..eb6df3b 100644 --- a/content/worker/worker_thread.cc +++ b/content/worker/worker_thread.cc @@ -51,9 +51,6 @@ WorkerThread::WorkerThread() { appcache_dispatcher_.reset( new AppCacheDispatcher(this, new AppCacheFrontendImpl())); - web_database_observer_impl_.reset( - new WebDatabaseObserverImpl(sync_message_filter())); - blink::WebDatabase::setObserver(web_database_observer_impl_.get()); db_message_filter_ = new DBMessageFilter(); channel()->AddFilter(db_message_filter_.get()); @@ -76,6 +73,11 @@ WorkerThread::~WorkerThread() { void WorkerThread::Shutdown() { ChildThread::Shutdown(); + if (webkit_platform_support_) { + webkit_platform_support_->web_database_observer_impl()-> + WaitForAllDatabasesToClose(); + } + // Shutdown in reverse of the initialization order. channel()->RemoveFilter(indexed_db_message_filter_.get()); indexed_db_message_filter_ = NULL; |