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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 292443004: Remove IPC_BEGIN_MESSAGE_MAP_EX macro since r270839 made all bad IPCs kill their child processes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/frame_host/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/containers/hash_tables.h" 8 #include "base/containers/hash_tables.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/metrics/user_metrics_action.h" 10 #include "base/metrics/user_metrics_action.h"
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 269 }
270 270
271 if (delegate_->OnMessageReceived(this, msg)) 271 if (delegate_->OnMessageReceived(this, msg))
272 return true; 272 return true;
273 273
274 if (cross_process_frame_connector_ && 274 if (cross_process_frame_connector_ &&
275 cross_process_frame_connector_->OnMessageReceived(msg)) 275 cross_process_frame_connector_->OnMessageReceived(msg))
276 return true; 276 return true;
277 277
278 bool handled = true; 278 bool handled = true;
279 bool msg_is_ok = true; 279 IPC_BEGIN_MESSAGE_MAP(RenderFrameHostImpl, msg)
280 IPC_BEGIN_MESSAGE_MAP_EX(RenderFrameHostImpl, msg, msg_is_ok)
281 IPC_MESSAGE_HANDLER(FrameHostMsg_AddMessageToConsole, OnAddMessageToConsole) 280 IPC_MESSAGE_HANDLER(FrameHostMsg_AddMessageToConsole, OnAddMessageToConsole)
282 IPC_MESSAGE_HANDLER(FrameHostMsg_Detach, OnDetach) 281 IPC_MESSAGE_HANDLER(FrameHostMsg_Detach, OnDetach)
283 IPC_MESSAGE_HANDLER(FrameHostMsg_FrameFocused, OnFrameFocused) 282 IPC_MESSAGE_HANDLER(FrameHostMsg_FrameFocused, OnFrameFocused)
284 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStartProvisionalLoadForFrame, 283 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStartProvisionalLoadForFrame,
285 OnDidStartProvisionalLoadForFrame) 284 OnDidStartProvisionalLoadForFrame)
286 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailProvisionalLoadWithError, 285 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailProvisionalLoadWithError,
287 OnDidFailProvisionalLoadWithError) 286 OnDidFailProvisionalLoadWithError)
288 IPC_MESSAGE_HANDLER(FrameHostMsg_DidRedirectProvisionalLoad, 287 IPC_MESSAGE_HANDLER(FrameHostMsg_DidRedirectProvisionalLoad,
289 OnDidRedirectProvisionalLoad) 288 OnDidRedirectProvisionalLoad)
290 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailLoadWithError, 289 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailLoadWithError,
(...skipping 18 matching lines...) Expand all
309 OnDidAccessInitialDocument) 308 OnDidAccessInitialDocument)
310 IPC_MESSAGE_HANDLER(FrameHostMsg_DidDisownOpener, OnDidDisownOpener) 309 IPC_MESSAGE_HANDLER(FrameHostMsg_DidDisownOpener, OnDidDisownOpener)
311 IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateTitle, OnUpdateTitle) 310 IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateTitle, OnUpdateTitle)
312 IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateEncoding, OnUpdateEncoding) 311 IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateEncoding, OnUpdateEncoding)
313 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_RequestPermission, 312 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_RequestPermission,
314 OnRequestDesktopNotificationPermission) 313 OnRequestDesktopNotificationPermission)
315 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_Show, 314 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_Show,
316 OnShowDesktopNotification) 315 OnShowDesktopNotification)
317 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_Cancel, 316 IPC_MESSAGE_HANDLER(DesktopNotificationHostMsg_Cancel,
318 OnCancelDesktopNotification) 317 OnCancelDesktopNotification)
319 IPC_END_MESSAGE_MAP_EX() 318 IPC_END_MESSAGE_MAP()
320
321 if (!msg_is_ok) {
322 // The message had a handler, but its de-serialization failed.
323 // Kill the renderer.
324 RecordAction(base::UserMetricsAction("BadMessageTerminate_RFH"));
325 GetProcess()->ReceivedBadMessage();
326 }
327 319
328 return handled; 320 return handled;
329 } 321 }
330 322
331 void RenderFrameHostImpl::Init() { 323 void RenderFrameHostImpl::Init() {
332 GetProcess()->ResumeRequestsForView(routing_id_); 324 GetProcess()->ResumeRequestsForView(routing_id_);
333 } 325 }
334 326
335 void RenderFrameHostImpl::OnAddMessageToConsole( 327 void RenderFrameHostImpl::OnAddMessageToConsole(
336 int32 level, 328 int32 level,
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 cancel_notification_callbacks_.erase(notification_id); 886 cancel_notification_callbacks_.erase(notification_id);
895 } 887 }
896 888
897 void RenderFrameHostImpl::DesktopNotificationPermissionRequestDone( 889 void RenderFrameHostImpl::DesktopNotificationPermissionRequestDone(
898 int callback_context) { 890 int callback_context) {
899 Send(new DesktopNotificationMsg_PermissionRequestDone( 891 Send(new DesktopNotificationMsg_PermissionRequestDone(
900 routing_id_, callback_context)); 892 routing_id_, callback_context));
901 } 893 }
902 894
903 } // namespace content 895 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/interstitial_page_impl.cc ('k') | content/browser/frame_host/render_frame_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698