Index: content/browser/browser_child_process_host.h |
=================================================================== |
--- content/browser/browser_child_process_host.h (revision 118727) |
+++ content/browser/browser_child_process_host.h (working copy) |
@@ -1,112 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_BROWSER_BROWSER_CHILD_PROCESS_HOST_H_ |
-#define CONTENT_BROWSER_BROWSER_CHILD_PROCESS_HOST_H_ |
-#pragma once |
- |
-#include <list> |
- |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/process.h" |
-#include "base/synchronization/waitable_event_watcher.h" |
-#include "content/browser/child_process_launcher.h" |
-#include "content/public/browser/browser_child_process_host.h" |
-#include "content/public/browser/child_process_data.h" |
-#include "content/public/common/child_process_host_delegate.h" |
- |
-namespace content { |
-class BrowserChildProcessHostIterator; |
-} |
- |
-// Plugins/workers and other child processes that live on the IO thread use this |
-// class. RenderProcessHostImpl is the main exception that doesn't use this |
-/// class because it lives on the UI thread. |
-class CONTENT_EXPORT BrowserChildProcessHost : |
- public NON_EXPORTED_BASE(content::BrowserChildProcessHost), |
- public NON_EXPORTED_BASE(content::ChildProcessHostDelegate), |
- public ChildProcessLauncher::Client, |
- public base::WaitableEventWatcher::Delegate { |
- public: |
- BrowserChildProcessHost(content::ProcessType type, |
- content::BrowserChildProcessHostDelegate* delegate); |
- virtual ~BrowserChildProcessHost(); |
- |
- // Terminates all child processes and deletes each BrowserChildProcessHost |
- // instance. |
- static void TerminateAll(); |
- |
- // BrowserChildProcessHost implementation: |
- virtual bool Send(IPC::Message* message) OVERRIDE; |
- virtual void Launch( |
-#if defined(OS_WIN) |
- const FilePath& exposed_dir, |
-#elif defined(OS_POSIX) |
- bool use_zygote, |
- const base::environment_vector& environ, |
-#endif |
- CommandLine* cmd_line) OVERRIDE; |
- virtual const content::ChildProcessData& GetData() const OVERRIDE; |
- virtual content::ChildProcessHost* GetHost() const OVERRIDE; |
- virtual base::TerminationStatus GetTerminationStatus(int* exit_code) OVERRIDE; |
- virtual void SetName(const string16& name) OVERRIDE; |
- virtual void SetHandle(base::ProcessHandle handle) OVERRIDE; |
- |
- bool disconnect_was_alive() const { return disconnect_was_alive_; } |
- |
- // Returns the handle of the child process. This can be called only after |
- // OnProcessLaunched is called or it will be invalid and may crash. |
- base::ProcessHandle GetHandle() const; |
- |
- // Removes this host from the host list. Calls ChildProcessHost::ForceShutdown |
- void ForceShutdown(); |
- |
- // Controls whether the child process should be terminated on browser |
- // shutdown. Default is to always terminate. |
- void SetTerminateChildOnShutdown(bool terminate_on_shutdown); |
- |
- // Sends the given notification on the UI thread. |
- void Notify(int type); |
- |
- content::BrowserChildProcessHostDelegate* delegate() const { |
- return delegate_; |
- } |
- |
- typedef std::list<BrowserChildProcessHost*> BrowserChildProcessList; |
- private: |
- friend class content::BrowserChildProcessHostIterator; |
- |
- static BrowserChildProcessList* GetIterator(); |
- |
- // ChildProcessHostDelegate implementation: |
- virtual bool CanShutdown() OVERRIDE; |
- virtual void OnChildDisconnected() OVERRIDE; |
- virtual void ShutdownStarted() OVERRIDE; |
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
- virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; |
- virtual void OnChannelError() OVERRIDE; |
- |
- // ChildProcessLauncher::Client implementation. |
- virtual void OnProcessLaunched() OVERRIDE; |
- |
- // public base::WaitableEventWatcher::Delegate implementation: |
- virtual void OnWaitableEventSignaled( |
- base::WaitableEvent* waitable_event) OVERRIDE; |
- |
- content::ChildProcessData data_; |
- content::BrowserChildProcessHostDelegate* delegate_; |
- scoped_ptr<content::ChildProcessHost> child_process_host_; |
- |
- scoped_ptr<ChildProcessLauncher> child_process_; |
-#if defined(OS_WIN) |
- base::WaitableEventWatcher child_watcher_; |
-#else |
- base::WeakPtrFactory<BrowserChildProcessHost> task_factory_; |
-#endif |
- bool disconnect_was_alive_; |
-}; |
- |
-#endif // CONTENT_BROWSER_BROWSER_CHILD_PROCESS_HOST_H_ |