summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-05 07:38:20 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-05 07:38:20 +0000
commit7a0b804a140f0be399b764cdaf02e4c36cfc19d7 (patch)
treec4e3dfe4fb36e40dc3af3b39016c23d16b0d022b
parentd2a9842409e816a907b366cc6a4fa1265231eac0 (diff)
downloadchromium_src-7a0b804a140f0be399b764cdaf02e4c36cfc19d7.zip
chromium_src-7a0b804a140f0be399b764cdaf02e4c36cfc19d7.tar.gz
chromium_src-7a0b804a140f0be399b764cdaf02e4c36cfc19d7.tar.bz2
Merge 284785 "Suspend shared timers while blockingly closing dat..."
> Suspend shared timers while blockingly closing databases > > BUG=388771 > R=michaeln@chromium.org > > Review URL: https://codereview.chromium.org/409863002 TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/444523004 git-svn-id: svn://svn.chromium.org/chrome/branches/2062/src@287478 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/renderer/render_thread_impl.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 381b96c..3d7f5bd 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -518,8 +518,13 @@ void RenderThreadImpl::Shutdown() {
// Wait for all databases to be closed.
if (webkit_platform_support_) {
+ // WaitForAllDatabasesToClose might run a nested message loop. To avoid
+ // processing timer events while we're already in the process of shutting
+ // down blink, put a ScopePageLoadDeferrer on the stack.
+ WebView::willEnterModalLoop();
webkit_platform_support_->web_database_observer_impl()->
WaitForAllDatabasesToClose();
+ WebView::didExitModalLoop();
}
// Shutdown in reverse of the initialization order.