| OLD | NEW |
| 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 class RenderWidgetHelper; | 72 class RenderWidgetHelper; |
| 73 class RenderWidgetHost; | 73 class RenderWidgetHost; |
| 74 class RenderWidgetHostImpl; | 74 class RenderWidgetHostImpl; |
| 75 class RenderWidgetHostViewFrameSubscriber; | 75 class RenderWidgetHostViewFrameSubscriber; |
| 76 class ResourceMessageFilter; | 76 class ResourceMessageFilter; |
| 77 class StoragePartition; | 77 class StoragePartition; |
| 78 class StoragePartitionImpl; | 78 class StoragePartitionImpl; |
| 79 | 79 |
| 80 namespace mojom { | 80 namespace mojom { |
| 81 class StoragePartitionService; | 81 class StoragePartitionService; |
| 82 class IsolatedWorkerDispatcher; |
| 82 } | 83 } |
| 83 | 84 |
| 84 typedef base::Thread* (*RendererMainThreadFactoryFunction)( | 85 typedef base::Thread* (*RendererMainThreadFactoryFunction)( |
| 85 const InProcessChildThreadParams& params); | 86 const InProcessChildThreadParams& params); |
| 86 | 87 |
| 87 // Implements a concrete RenderProcessHost for the browser process for talking | 88 // Implements a concrete RenderProcessHost for the browser process for talking |
| 88 // to actual renderer processes (as opposed to mocks). | 89 // to actual renderer processes (as opposed to mocks). |
| 89 // | 90 // |
| 90 // Represents the browser side of the browser <--> renderer communication | 91 // Represents the browser side of the browser <--> renderer communication |
| 91 // channel. There will be one RenderProcessHost per renderer process. | 92 // channel. There will be one RenderProcessHost per renderer process. |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 void GetAudioOutputControllers( | 280 void GetAudioOutputControllers( |
| 280 const GetAudioOutputControllersCallback& callback) const override; | 281 const GetAudioOutputControllersCallback& callback) const override; |
| 281 | 282 |
| 282 #if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) | 283 #if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) |
| 283 // Launch the zygote early in the browser startup. | 284 // Launch the zygote early in the browser startup. |
| 284 static void EarlyZygoteLaunch(); | 285 static void EarlyZygoteLaunch(); |
| 285 #endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) | 286 #endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) |
| 286 | 287 |
| 287 void RecomputeAndUpdateWebKitPreferences(); | 288 void RecomputeAndUpdateWebKitPreferences(); |
| 288 | 289 |
| 290 void SetIsolatedWorkerDispatcher( |
| 291 mojo::InterfacePtr<mojom::IsolatedWorkerDispatcher>); |
| 292 |
| 293 void GetIsolatedWorkerDispatcher( |
| 294 const base::Callback< |
| 295 void(mojo::InterfacePtr<mojom::IsolatedWorkerDispatcher>*)>&); |
| 296 |
| 289 protected: | 297 protected: |
| 290 // A proxy for our IPC::Channel that lives on the IO thread. | 298 // A proxy for our IPC::Channel that lives on the IO thread. |
| 291 std::unique_ptr<IPC::ChannelProxy> channel_; | 299 std::unique_ptr<IPC::ChannelProxy> channel_; |
| 292 | 300 |
| 293 // True if fast shutdown has been performed on this RPH. | 301 // True if fast shutdown has been performed on this RPH. |
| 294 bool fast_shutdown_started_; | 302 bool fast_shutdown_started_; |
| 295 | 303 |
| 296 // True if we've posted a DeleteTask and will be deleted soon. | 304 // True if we've posted a DeleteTask and will be deleted soon. |
| 297 bool deleting_soon_; | 305 bool deleting_soon_; |
| 298 | 306 |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 base::WaitableEvent never_signaled_; | 574 base::WaitableEvent never_signaled_; |
| 567 #endif | 575 #endif |
| 568 | 576 |
| 569 scoped_refptr<ResourceMessageFilter> resource_message_filter_; | 577 scoped_refptr<ResourceMessageFilter> resource_message_filter_; |
| 570 | 578 |
| 571 // A WeakPtrFactory which is reset every time Cleanup() runs. Used to vend | 579 // A WeakPtrFactory which is reset every time Cleanup() runs. Used to vend |
| 572 // WeakPtrs which are invalidated any time the RPHI is recycled. | 580 // WeakPtrs which are invalidated any time the RPHI is recycled. |
| 573 std::unique_ptr<base::WeakPtrFactory<RenderProcessHostImpl>> | 581 std::unique_ptr<base::WeakPtrFactory<RenderProcessHostImpl>> |
| 574 instance_weak_factory_; | 582 instance_weak_factory_; |
| 575 | 583 |
| 584 std::unique_ptr<mojo::InterfacePtr<mojom::IsolatedWorkerDispatcher>> |
| 585 isolated_worker_dispatcher_; |
| 586 |
| 587 std::vector<base::Callback<void( |
| 588 mojo::InterfacePtr<mojom::IsolatedWorkerDispatcher>*)>> |
| 589 isolated_worker_dispatcher_callbacks_; |
| 590 |
| 576 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 591 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
| 577 | 592 |
| 578 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 593 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
| 579 }; | 594 }; |
| 580 | 595 |
| 581 } // namespace content | 596 } // namespace content |
| 582 | 597 |
| 583 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 598 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |