summaryrefslogtreecommitdiffstats
path: root/content/worker/worker_thread.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/worker/worker_thread.cc')
-rw-r--r--content/worker/worker_thread.cc8
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;