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

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.h

Issue 2054303002: Kill child processes on bad Mojo messages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bad-message
Patch Set: . Created 4 years, 6 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
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 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 // IPC::Listener via RenderProcessHost. 177 // IPC::Listener via RenderProcessHost.
178 bool OnMessageReceived(const IPC::Message& msg) override; 178 bool OnMessageReceived(const IPC::Message& msg) override;
179 void OnChannelConnected(int32_t peer_pid) override; 179 void OnChannelConnected(int32_t peer_pid) override;
180 void OnChannelError() override; 180 void OnChannelError() override;
181 void OnBadMessageReceived(const IPC::Message& message) override; 181 void OnBadMessageReceived(const IPC::Message& message) override;
182 182
183 // ChildProcessLauncher::Client implementation. 183 // ChildProcessLauncher::Client implementation.
184 void OnProcessLaunched() override; 184 void OnProcessLaunched() override;
185 void OnProcessLaunchFailed(int error_code) override; 185 void OnProcessLaunchFailed(int error_code) override;
186 186
187 // Called if the EDK notifies this RenderProcessHost that it encountered a
188 // fatal error condition communicating with the child process (e.g. a
189 // malformed internal or bindings message.)
190 void OnMojoProcessError(const std::string& error);
jam 2016/06/13 18:30:39 nit: this should be private. also, no nit to docu
Ken Rockot(use gerrit already) 2016/06/13 22:36:40 Oops, done
191
187 scoped_refptr<AudioRendererHost> audio_renderer_host() const; 192 scoped_refptr<AudioRendererHost> audio_renderer_host() const;
188 193
189 // Call this function when it is evident that the child process is actively 194 // Call this function when it is evident that the child process is actively
190 // performing some operation, for example if we just received an IPC message. 195 // performing some operation, for example if we just received an IPC message.
191 void mark_child_process_activity_time() { 196 void mark_child_process_activity_time() {
192 child_process_activity_time_ = base::TimeTicks::Now(); 197 child_process_activity_time_ = base::TimeTicks::Now();
193 } 198 }
194 199
195 // Used to extend the lifetime of the sessions until the render view 200 // Used to extend the lifetime of the sessions until the render view
196 // in the renderer is fully closed. This is static because its also called 201 // in the renderer is fully closed. This is static because its also called
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 mojo::ScopedMessagePipeHandle in_process_renderer_handle_; 533 mojo::ScopedMessagePipeHandle in_process_renderer_handle_;
529 534
530 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; 535 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_;
531 536
532 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); 537 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl);
533 }; 538 };
534 539
535 } // namespace content 540 } // namespace content
536 541
537 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 542 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698