Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1919)

Unified Diff: chrome/renderer/render_view.cc

Issue 6627063: Ignore JavaScript messages (alert/confirm/prompt) during unload handlers. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added a browsertest Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/render_view.h ('k') | content/browser/renderer_host/render_view_host.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/render_view.cc
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index fa75844d9da44ba0c4cf57baad59c6100788f26a..13f5cc5f329b7e16f2430237dd8b55ca1eb43162 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -1944,6 +1944,7 @@ bool RenderView::RunJavaScriptMessage(int type,
const std::wstring& message,
const std::wstring& default_value,
const GURL& frame_url,
+ const bool unload_handler_being_run,
std::wstring* result) {
bool success = false;
std::wstring result_temp;
@@ -1951,7 +1952,8 @@ bool RenderView::RunJavaScriptMessage(int type,
result = &result_temp;
SendAndRunNestedMessageLoop(new ViewHostMsg_RunJavaScriptMessage(
- routing_id_, message, default_value, frame_url, type, &success, result));
+ routing_id_, message, default_value, frame_url, type,
+ unload_handler_being_run, &success, result));
return success;
}
@@ -2392,6 +2394,7 @@ void RenderView::runModalAlertDialog(
UTF16ToWideHack(message),
std::wstring(),
frame->url(),
+ frame->pageDismissalEventBeingDispatched(),
NULL);
}
@@ -2401,6 +2404,7 @@ bool RenderView::runModalConfirmDialog(
UTF16ToWideHack(message),
std::wstring(),
frame->url(),
+ frame->pageDismissalEventBeingDispatched(),
NULL);
}
@@ -2412,6 +2416,7 @@ bool RenderView::runModalPromptDialog(
UTF16ToWideHack(message),
UTF16ToWideHack(default_value),
frame->url(),
+ frame->pageDismissalEventBeingDispatched(),
&result);
if (ok)
actual_value->assign(WideToUTF16Hack(result));
« no previous file with comments | « chrome/renderer/render_view.h ('k') | content/browser/renderer_host/render_view_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698