Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 56361e6f136601ff67f90d9971d1b8226c934215..5116fac7442aeafd9f36622a135f8b2669235f42 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -574,8 +574,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(); |
michaeln
2014/07/22 20:21:47
lgtm (kinda)
|
webkit_platform_support_->web_database_observer_impl()-> |
WaitForAllDatabasesToClose(); |
+ WebView::didExitModalLoop(); |
} |
// Shutdown in reverse of the initialization order. |