diff options
Diffstat (limited to 'chrome/renderer/renderer_webkitclient_impl.cc')
-rw-r--r-- | chrome/renderer/renderer_webkitclient_impl.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc index 3907b53..2a2ae60 100644 --- a/chrome/renderer/renderer_webkitclient_impl.cc +++ b/chrome/renderer/renderer_webkitclient_impl.cc @@ -132,6 +132,19 @@ WebString RendererWebKitClientImpl::defaultLocale() { } void RendererWebKitClientImpl::suddenTerminationChanged(bool enabled) { + if (enabled) { + // We should not get more enables than disables, but we want it to be a + // non-fatal error if it does happen. + DCHECK_GT(sudden_termination_disables_, 0); + sudden_termination_disables_ = std::max(--sudden_termination_disables_, 0); + if (sudden_termination_disables_ != 0) + return; + } else { + sudden_termination_disables_++; + if (sudden_termination_disables_ != 1) + return; + } + RenderThread* thread = RenderThread::current(); if (thread) // NULL in unittests. thread->Send(new ViewHostMsg_SuddenTerminationChanged(enabled)); |