diff options
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r-- | chrome/renderer/render_view.cc | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index cbae9d0..66a5092 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -1647,24 +1647,12 @@ bool RenderView::RunBeforeUnloadConfirm(WebView* webview, return success; } -void RenderView::OnUnloadListenerChanged(WebView* webview, WebFrame* webframe) { - bool has_listener = false; - if (!has_unload_listener_) { - has_listener = webframe->HasUnloadListener(); - } else { - WebFrame* frame = webview->GetMainFrame(); - while (frame != NULL) { - if (frame->HasUnloadListener()) { - has_listener = true; - break; - } - frame = webview->GetNextFrameAfter(frame, false); - } - } - if (has_listener != has_unload_listener_) { - has_unload_listener_ = has_listener; - Send(new ViewHostMsg_UnloadListenerChanged(routing_id_, has_listener)); - } +void RenderView::EnableSuddenTermination() { + Send(new ViewHostMsg_UnloadListenerChanged(routing_id_, false)); +} + +void RenderView::DisableSuddenTermination() { + Send(new ViewHostMsg_UnloadListenerChanged(routing_id_, true)); } void RenderView::QueryFormFieldAutofill(const std::wstring& field_name, |