Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/render_view_host.h" | 5 #include "chrome/browser/render_view_host.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 81 enable_external_host_bindings_(false), | 81 enable_external_host_bindings_(false), |
| 82 delegate_(delegate), | 82 delegate_(delegate), |
| 83 renderer_initialized_(false), | 83 renderer_initialized_(false), |
| 84 waiting_for_drag_context_response_(false), | 84 waiting_for_drag_context_response_(false), |
| 85 debugger_attached_(false), | 85 debugger_attached_(false), |
| 86 modal_dialog_count_(0), | 86 modal_dialog_count_(0), |
| 87 navigations_suspended_(false), | 87 navigations_suspended_(false), |
| 88 suspended_nav_message_(NULL), | 88 suspended_nav_message_(NULL), |
| 89 run_modal_reply_msg_(NULL), | 89 run_modal_reply_msg_(NULL), |
| 90 has_unload_listener_(false), | 90 has_unload_listener_(false), |
| 91 is_waiting_for_unload_ack_(false) { | 91 is_waiting_for_unload_ack_(false), |
| 92 are_javascript_messages_suppressed_(false) { | |
| 92 DCHECK(instance_); | 93 DCHECK(instance_); |
| 93 DCHECK(delegate_); | 94 DCHECK(delegate_); |
| 94 if (modal_dialog_event == NULL) | 95 if (modal_dialog_event == NULL) |
| 95 modal_dialog_event = CreateEvent(NULL, TRUE, FALSE, NULL); | 96 modal_dialog_event = CreateEvent(NULL, TRUE, FALSE, NULL); |
| 96 | 97 |
| 97 modal_dialog_event_.Set(modal_dialog_event); | 98 modal_dialog_event_.Set(modal_dialog_event); |
| 98 #ifdef CHROME_PERSONALIZATION | 99 #ifdef CHROME_PERSONALIZATION |
| 99 personalization_ = Personalization::CreateHostPersonalization(this); | 100 personalization_ = Personalization::CreateHostPersonalization(this); |
| 100 #endif | 101 #endif |
| 101 } | 102 } |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 470 Send(new ViewMsg_GetApplicationInfo(routing_id_, page_id)); | 471 Send(new ViewMsg_GetApplicationInfo(routing_id_, page_id)); |
| 471 } | 472 } |
| 472 | 473 |
| 473 void RenderViewHost::CaptureThumbnail() { | 474 void RenderViewHost::CaptureThumbnail() { |
| 474 Send(new ViewMsg_CaptureThumbnail(routing_id_)); | 475 Send(new ViewMsg_CaptureThumbnail(routing_id_)); |
| 475 } | 476 } |
| 476 | 477 |
| 477 void RenderViewHost::JavaScriptMessageBoxClosed(IPC::Message* reply_msg, | 478 void RenderViewHost::JavaScriptMessageBoxClosed(IPC::Message* reply_msg, |
| 478 bool success, | 479 bool success, |
| 479 const std::wstring& prompt) { | 480 const std::wstring& prompt) { |
| 480 if (is_waiting_for_unload_ack_) | 481 if (is_waiting_for_unload_ack_) { |
| 481 StartHangMonitorTimeout(TimeDelta::FromMilliseconds(kUnloadTimeoutMS)); | 482 if (are_javascript_messages_suppressed_) { |
| 483 delegate_->RendererUnresponsive(this, is_waiting_for_unload_ack_); | |
| 484 return; | |
| 485 } else { | |
|
darin (slow to review)
2008/11/07 00:00:45
nit: no need for else after return. alternatively
| |
| 486 StartHangMonitorTimeout(TimeDelta::FromMilliseconds(kUnloadTimeoutMS)); | |
| 487 } | |
| 488 } | |
| 482 | 489 |
| 483 if (--modal_dialog_count_ == 0) | 490 if (--modal_dialog_count_ == 0) |
| 484 ResetEvent(modal_dialog_event_.Get()); | 491 ResetEvent(modal_dialog_event_.Get()); |
| 485 ViewHostMsg_RunJavaScriptMessage::WriteReplyParams(reply_msg, success, prompt) ; | 492 ViewHostMsg_RunJavaScriptMessage::WriteReplyParams(reply_msg, success, prompt) ; |
| 486 Send(reply_msg); | 493 Send(reply_msg); |
| 487 } | 494 } |
| 488 | 495 |
| 489 void RenderViewHost::ModalHTMLDialogClosed(IPC::Message* reply_msg, | 496 void RenderViewHost::ModalHTMLDialogClosed(IPC::Message* reply_msg, |
| 490 const std::string& json_retval) { | 497 const std::string& json_retval) { |
| 491 if (is_waiting_for_unload_ack_) | 498 if (is_waiting_for_unload_ack_) |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1042 | 1049 |
| 1043 void RenderViewHost::OnMsgRunJavaScriptMessage( | 1050 void RenderViewHost::OnMsgRunJavaScriptMessage( |
| 1044 const std::wstring& message, | 1051 const std::wstring& message, |
| 1045 const std::wstring& default_prompt, | 1052 const std::wstring& default_prompt, |
| 1046 const int flags, | 1053 const int flags, |
| 1047 IPC::Message* reply_msg) { | 1054 IPC::Message* reply_msg) { |
| 1048 StopHangMonitorTimeout(); | 1055 StopHangMonitorTimeout(); |
| 1049 if (modal_dialog_count_++ == 0) | 1056 if (modal_dialog_count_++ == 0) |
| 1050 SetEvent(modal_dialog_event_.Get()); | 1057 SetEvent(modal_dialog_event_.Get()); |
| 1051 bool did_suppress_message = false; | 1058 bool did_suppress_message = false; |
| 1052 delegate_->RunJavaScriptMessage(message, default_prompt, flags, reply_msg); | 1059 delegate_->RunJavaScriptMessage(message, default_prompt, flags, reply_msg, |
| 1060 &are_javascript_messages_suppressed_); | |
| 1053 } | 1061 } |
| 1054 | 1062 |
| 1055 void RenderViewHost::OnMsgRunBeforeUnloadConfirm(const std::wstring& message, | 1063 void RenderViewHost::OnMsgRunBeforeUnloadConfirm(const std::wstring& message, |
| 1056 IPC::Message* reply_msg) { | 1064 IPC::Message* reply_msg) { |
| 1057 StopHangMonitorTimeout(); | 1065 StopHangMonitorTimeout(); |
| 1058 if (modal_dialog_count_++ == 0) | 1066 if (modal_dialog_count_++ == 0) |
| 1059 SetEvent(modal_dialog_event_.Get()); | 1067 SetEvent(modal_dialog_event_.Get()); |
| 1060 delegate_->RunBeforeUnloadConfirm(message, reply_msg); | 1068 delegate_->RunBeforeUnloadConfirm(message, reply_msg); |
| 1061 } | 1069 } |
| 1062 | 1070 |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1283 Send(new ViewMsg_PersonalizationEvent(routing_id_, | 1291 Send(new ViewMsg_PersonalizationEvent(routing_id_, |
| 1284 event_name, | 1292 event_name, |
| 1285 event_arg)); | 1293 event_arg)); |
| 1286 } | 1294 } |
| 1287 #endif | 1295 #endif |
| 1288 | 1296 |
| 1289 void RenderViewHost::ForwardMessageFromExternalHost( | 1297 void RenderViewHost::ForwardMessageFromExternalHost( |
| 1290 const std::string& target, const std::string& message) { | 1298 const std::string& target, const std::string& message) { |
| 1291 Send(new ViewMsg_HandleMessageFromExternalHost(routing_id_, target, message)); | 1299 Send(new ViewMsg_HandleMessageFromExternalHost(routing_id_, target, message)); |
| 1292 } | 1300 } |
| OLD | NEW |