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

Side by Side Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 201153003: Revert 252883 "Remove tests and code for showModalDialog" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/render_view_host_impl.h" 5 #include "content/browser/renderer_host/render_view_host_impl.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 routing_id, 198 routing_id,
199 hidden), 199 hidden),
200 frames_ref_count_(0), 200 frames_ref_count_(0),
201 delegate_(delegate), 201 delegate_(delegate),
202 instance_(static_cast<SiteInstanceImpl*>(instance)), 202 instance_(static_cast<SiteInstanceImpl*>(instance)),
203 waiting_for_drag_context_response_(false), 203 waiting_for_drag_context_response_(false),
204 enabled_bindings_(0), 204 enabled_bindings_(0),
205 navigations_suspended_(false), 205 navigations_suspended_(false),
206 has_accessed_initial_document_(false), 206 has_accessed_initial_document_(false),
207 main_frame_routing_id_(main_frame_routing_id), 207 main_frame_routing_id_(main_frame_routing_id),
208 run_modal_reply_msg_(NULL),
209 run_modal_opener_id_(MSG_ROUTING_NONE),
208 is_waiting_for_beforeunload_ack_(false), 210 is_waiting_for_beforeunload_ack_(false),
209 unload_ack_is_for_cross_site_transition_(false), 211 unload_ack_is_for_cross_site_transition_(false),
210 are_javascript_messages_suppressed_(false), 212 are_javascript_messages_suppressed_(false),
211 sudden_termination_allowed_(false), 213 sudden_termination_allowed_(false),
212 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING), 214 render_view_termination_status_(base::TERMINATION_STATUS_STILL_RUNNING),
213 virtual_keyboard_requested_(false), 215 virtual_keyboard_requested_(false),
214 weak_factory_(this) { 216 weak_factory_(this) {
215 DCHECK(instance_.get()); 217 DCHECK(instance_.get());
216 CHECK(delegate_); // http://crbug.com/82827 218 CHECK(delegate_); // http://crbug.com/82827
217 219
(...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 if (delegate_->OnMessageReceived(this, msg)) 1073 if (delegate_->OnMessageReceived(this, msg))
1072 return true; 1074 return true;
1073 1075
1074 bool handled = true; 1076 bool handled = true;
1075 bool msg_is_ok = true; 1077 bool msg_is_ok = true;
1076 IPC_BEGIN_MESSAGE_MAP_EX(RenderViewHostImpl, msg, msg_is_ok) 1078 IPC_BEGIN_MESSAGE_MAP_EX(RenderViewHostImpl, msg, msg_is_ok)
1077 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnShowView) 1079 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnShowView)
1078 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnShowWidget) 1080 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnShowWidget)
1079 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget, 1081 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget,
1080 OnShowFullscreenWidget) 1082 OnShowFullscreenWidget)
1083 IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunModal, OnRunModal)
1081 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnRenderViewReady) 1084 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnRenderViewReady)
1082 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderProcessGone, OnRenderProcessGone) 1085 IPC_MESSAGE_HANDLER(ViewHostMsg_RenderProcessGone, OnRenderProcessGone)
1083 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnUpdateState) 1086 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnUpdateState)
1084 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTitle, OnUpdateTitle) 1087 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTitle, OnUpdateTitle)
1085 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateEncoding, OnUpdateEncoding) 1088 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateEncoding, OnUpdateEncoding)
1086 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL) 1089 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL)
1087 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateInspectorSetting, 1090 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateInspectorSetting,
1088 OnUpdateInspectorSetting) 1091 OnUpdateInspectorSetting)
1089 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose) 1092 IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose)
1090 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnRequestMove) 1093 IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnRequestMove)
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 GetProcess()->ReceivedBadMessage(); 1157 GetProcess()->ReceivedBadMessage();
1155 } 1158 }
1156 1159
1157 return handled; 1160 return handled;
1158 } 1161 }
1159 1162
1160 void RenderViewHostImpl::Init() { 1163 void RenderViewHostImpl::Init() {
1161 RenderWidgetHostImpl::Init(); 1164 RenderWidgetHostImpl::Init();
1162 } 1165 }
1163 1166
1167 void RenderViewHostImpl::Shutdown() {
1168 // If we are being run modally (see RunModal), then we need to cleanup.
1169 if (run_modal_reply_msg_) {
1170 Send(run_modal_reply_msg_);
1171 run_modal_reply_msg_ = NULL;
1172 RenderViewHostImpl* opener =
1173 RenderViewHostImpl::FromID(GetProcess()->GetID(), run_modal_opener_id_);
1174 if (opener) {
1175 opener->StartHangMonitorTimeout(TimeDelta::FromMilliseconds(
1176 hung_renderer_delay_ms_));
1177 // Balance out the decrement when we got created.
1178 opener->increment_in_flight_event_count();
1179 }
1180 run_modal_opener_id_ = MSG_ROUTING_NONE;
1181 }
1182
1183 RenderWidgetHostImpl::Shutdown();
1184 }
1185
1164 bool RenderViewHostImpl::IsRenderView() const { 1186 bool RenderViewHostImpl::IsRenderView() const {
1165 return true; 1187 return true;
1166 } 1188 }
1167 1189
1168 void RenderViewHostImpl::CreateNewWindow( 1190 void RenderViewHostImpl::CreateNewWindow(
1169 int route_id, 1191 int route_id,
1170 int main_frame_route_id, 1192 int main_frame_route_id,
1171 const ViewHostMsg_CreateWindow_Params& params, 1193 const ViewHostMsg_CreateWindow_Params& params,
1172 SessionStorageNamespace* session_storage_namespace) { 1194 SessionStorageNamespace* session_storage_namespace) {
1173 ViewHostMsg_CreateWindow_Params validated_params(params); 1195 ViewHostMsg_CreateWindow_Params validated_params(params);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 delegate_->ShowCreatedWidget(route_id, initial_pos); 1228 delegate_->ShowCreatedWidget(route_id, initial_pos);
1207 Send(new ViewMsg_Move_ACK(route_id)); 1229 Send(new ViewMsg_Move_ACK(route_id));
1208 } 1230 }
1209 1231
1210 void RenderViewHostImpl::OnShowFullscreenWidget(int route_id) { 1232 void RenderViewHostImpl::OnShowFullscreenWidget(int route_id) {
1211 if (IsRVHStateActive(rvh_state_)) 1233 if (IsRVHStateActive(rvh_state_))
1212 delegate_->ShowCreatedFullscreenWidget(route_id); 1234 delegate_->ShowCreatedFullscreenWidget(route_id);
1213 Send(new ViewMsg_Move_ACK(route_id)); 1235 Send(new ViewMsg_Move_ACK(route_id));
1214 } 1236 }
1215 1237
1238 void RenderViewHostImpl::OnRunModal(int opener_id, IPC::Message* reply_msg) {
1239 DCHECK(!run_modal_reply_msg_);
1240 run_modal_reply_msg_ = reply_msg;
1241 run_modal_opener_id_ = opener_id;
1242
1243 RecordAction(base::UserMetricsAction("ShowModalDialog"));
1244
1245 RenderViewHostImpl* opener =
1246 RenderViewHostImpl::FromID(GetProcess()->GetID(), run_modal_opener_id_);
1247 if (opener) {
1248 opener->StopHangMonitorTimeout();
1249 // The ack for the mouse down won't come until the dialog closes, so fake it
1250 // so that we don't get a timeout.
1251 opener->decrement_in_flight_event_count();
1252 }
1253
1254 // TODO(darin): Bug 1107929: Need to inform our delegate to show this view in
1255 // an app-modal fashion.
1256 }
1257
1216 void RenderViewHostImpl::OnRenderViewReady() { 1258 void RenderViewHostImpl::OnRenderViewReady() {
1217 render_view_termination_status_ = base::TERMINATION_STATUS_STILL_RUNNING; 1259 render_view_termination_status_ = base::TERMINATION_STATUS_STILL_RUNNING;
1218 SendScreenRects(); 1260 SendScreenRects();
1219 WasResized(); 1261 WasResized();
1220 delegate_->RenderViewReady(this); 1262 delegate_->RenderViewReady(this);
1221 } 1263 }
1222 1264
1223 void RenderViewHostImpl::OnRenderProcessGone(int status, int exit_code) { 1265 void RenderViewHostImpl::OnRenderProcessGone(int status, int exit_code) {
1224 // Keep the termination status so we can get at it later when we 1266 // Keep the termination status so we can get at it later when we
1225 // need to know why it died. 1267 // need to know why it died.
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
1877 return true; 1919 return true;
1878 } 1920 }
1879 1921
1880 void RenderViewHostImpl::AttachToFrameTree() { 1922 void RenderViewHostImpl::AttachToFrameTree() {
1881 FrameTree* frame_tree = delegate_->GetFrameTree(); 1923 FrameTree* frame_tree = delegate_->GetFrameTree();
1882 1924
1883 frame_tree->ResetForMainFrameSwap(); 1925 frame_tree->ResetForMainFrameSwap();
1884 } 1926 }
1885 1927
1886 } // namespace content 1928 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_view_host_impl.h ('k') | content/browser/renderer_host/render_widget_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698