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

Side by Side Diff: android_webview/browser/aw_content_browser_client.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
« no previous file with comments | « no previous file | chrome/browser/chrome_net_benchmarking_message_filter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "android_webview/browser/aw_content_browser_client.h" 5 #include "android_webview/browser/aw_content_browser_client.h"
6 6
7 #include "android_webview/browser/aw_browser_context.h" 7 #include "android_webview/browser/aw_browser_context.h"
8 #include "android_webview/browser/aw_browser_main_parts.h" 8 #include "android_webview/browser/aw_browser_main_parts.h"
9 #include "android_webview/browser/aw_contents_client_bridge_base.h" 9 #include "android_webview/browser/aw_contents_client_bridge_base.h"
10 #include "android_webview/browser/aw_contents_io_thread_client.h" 10 #include "android_webview/browser/aw_contents_io_thread_client.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 // renderer process on the IPC thread. 45 // renderer process on the IPC thread.
46 class AwContentsMessageFilter : public content::BrowserMessageFilter { 46 class AwContentsMessageFilter : public content::BrowserMessageFilter {
47 public: 47 public:
48 explicit AwContentsMessageFilter(int process_id); 48 explicit AwContentsMessageFilter(int process_id);
49 49
50 // BrowserMessageFilter methods. 50 // BrowserMessageFilter methods.
51 virtual void OverrideThreadForMessage( 51 virtual void OverrideThreadForMessage(
52 const IPC::Message& message, 52 const IPC::Message& message,
53 BrowserThread::ID* thread) OVERRIDE; 53 BrowserThread::ID* thread) OVERRIDE;
54 virtual bool OnMessageReceived( 54 virtual bool OnMessageReceived(
55 const IPC::Message& message, 55 const IPC::Message& message) OVERRIDE;
56 bool* message_was_ok) OVERRIDE;
57 56
58 void OnShouldOverrideUrlLoading(int routing_id, 57 void OnShouldOverrideUrlLoading(int routing_id,
59 const base::string16& url, 58 const base::string16& url,
60 bool* ignore_navigation); 59 bool* ignore_navigation);
61 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id); 60 void OnSubFrameCreated(int parent_render_frame_id, int child_render_frame_id);
62 61
63 private: 62 private:
64 virtual ~AwContentsMessageFilter(); 63 virtual ~AwContentsMessageFilter();
65 64
66 int process_id_; 65 int process_id_;
67 66
68 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter); 67 DISALLOW_COPY_AND_ASSIGN(AwContentsMessageFilter);
69 }; 68 };
70 69
71 AwContentsMessageFilter::AwContentsMessageFilter(int process_id) 70 AwContentsMessageFilter::AwContentsMessageFilter(int process_id)
72 : BrowserMessageFilter(AndroidWebViewMsgStart), 71 : BrowserMessageFilter(AndroidWebViewMsgStart),
73 process_id_(process_id) { 72 process_id_(process_id) {
74 } 73 }
75 74
76 AwContentsMessageFilter::~AwContentsMessageFilter() { 75 AwContentsMessageFilter::~AwContentsMessageFilter() {
77 } 76 }
78 77
79 void AwContentsMessageFilter::OverrideThreadForMessage( 78 void AwContentsMessageFilter::OverrideThreadForMessage(
80 const IPC::Message& message, BrowserThread::ID* thread) { 79 const IPC::Message& message, BrowserThread::ID* thread) {
81 if (message.type() == AwViewHostMsg_ShouldOverrideUrlLoading::ID) { 80 if (message.type() == AwViewHostMsg_ShouldOverrideUrlLoading::ID) {
82 *thread = BrowserThread::UI; 81 *thread = BrowserThread::UI;
83 } 82 }
84 } 83 }
85 84
86 bool AwContentsMessageFilter::OnMessageReceived(const IPC::Message& message, 85 bool AwContentsMessageFilter::OnMessageReceived(const IPC::Message& message) {
87 bool* message_was_ok) {
88 bool handled = true; 86 bool handled = true;
89 IPC_BEGIN_MESSAGE_MAP_EX(AwContentsMessageFilter, message, *message_was_ok) 87 IPC_BEGIN_MESSAGE_MAP(AwContentsMessageFilter, message)
90 IPC_MESSAGE_HANDLER(AwViewHostMsg_ShouldOverrideUrlLoading, 88 IPC_MESSAGE_HANDLER(AwViewHostMsg_ShouldOverrideUrlLoading,
91 OnShouldOverrideUrlLoading) 89 OnShouldOverrideUrlLoading)
92 IPC_MESSAGE_HANDLER(AwViewHostMsg_SubFrameCreated, OnSubFrameCreated) 90 IPC_MESSAGE_HANDLER(AwViewHostMsg_SubFrameCreated, OnSubFrameCreated)
93 IPC_MESSAGE_UNHANDLED(handled = false) 91 IPC_MESSAGE_UNHANDLED(handled = false)
94 IPC_END_MESSAGE_MAP() 92 IPC_END_MESSAGE_MAP()
95 return handled; 93 return handled;
96 } 94 }
97 95
98 void AwContentsMessageFilter::OnShouldOverrideUrlLoading( 96 void AwContentsMessageFilter::OnShouldOverrideUrlLoading(
99 int render_frame_id, 97 int render_frame_id,
100 const base::string16& url, 98 const base::string16& url,
101 bool* ignore_navigation) { 99 bool* ignore_navigation) {
102 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 100 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
103 *ignore_navigation = false; 101 *ignore_navigation = false;
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 499
502 #if defined(VIDEO_HOLE) 500 #if defined(VIDEO_HOLE)
503 content::ExternalVideoSurfaceContainer* 501 content::ExternalVideoSurfaceContainer*
504 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( 502 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer(
505 content::WebContents* web_contents) { 503 content::WebContents* web_contents) {
506 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); 504 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents);
507 } 505 }
508 #endif 506 #endif
509 507
510 } // namespace android_webview 508 } // namespace android_webview
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chrome_net_benchmarking_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698