diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-05 07:38:20 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-05 07:38:20 +0000 |
commit | 7a0b804a140f0be399b764cdaf02e4c36cfc19d7 (patch) | |
tree | c4e3dfe4fb36e40dc3af3b39016c23d16b0d022b | |
parent | d2a9842409e816a907b366cc6a4fa1265231eac0 (diff) | |
download | chromium_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.cc | 5 |
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. |