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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 size_t GetWorkerRefCount() const override; | 167 size_t GetWorkerRefCount() const override; |
168 void IncrementServiceWorkerRefCount() override; | 168 void IncrementServiceWorkerRefCount() override; |
169 void DecrementServiceWorkerRefCount() override; | 169 void DecrementServiceWorkerRefCount() override; |
170 void IncrementSharedWorkerRefCount() override; | 170 void IncrementSharedWorkerRefCount() override; |
171 void DecrementSharedWorkerRefCount() override; | 171 void DecrementSharedWorkerRefCount() override; |
172 void ForceReleaseWorkerRefCounts() override; | 172 void ForceReleaseWorkerRefCounts() override; |
173 bool IsWorkerRefCountDisabled() override; | 173 bool IsWorkerRefCountDisabled() override; |
174 void PurgeAndSuspend() override; | 174 void PurgeAndSuspend() override; |
175 void Resume() override; | 175 void Resume() override; |
176 mojom::Renderer* GetRendererInterface() override; | 176 mojom::Renderer* GetRendererInterface() override; |
| 177 void SetIsNeverSuitableForReuse() override; |
| 178 bool MayReuseHost() override; |
177 | 179 |
178 mojom::RouteProvider* GetRemoteRouteProvider(); | 180 mojom::RouteProvider* GetRemoteRouteProvider(); |
179 | 181 |
180 // IPC::Sender via RenderProcessHost. | 182 // IPC::Sender via RenderProcessHost. |
181 bool Send(IPC::Message* msg) override; | 183 bool Send(IPC::Message* msg) override; |
182 | 184 |
183 // IPC::Listener via RenderProcessHost. | 185 // IPC::Listener via RenderProcessHost. |
184 bool OnMessageReceived(const IPC::Message& msg) override; | 186 bool OnMessageReceived(const IPC::Message& msg) override; |
185 void OnChannelConnected(int32_t peer_pid) override; | 187 void OnChannelConnected(int32_t peer_pid) override; |
186 void OnChannelError() override; | 188 void OnChannelError() override; |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 size_t service_worker_ref_count_; | 432 size_t service_worker_ref_count_; |
431 // See comments for IncrementSharedWorkerRefCount() and | 433 // See comments for IncrementSharedWorkerRefCount() and |
432 // DecrementSharedWorkerRefCount(). This is more like a boolean flag and not | 434 // DecrementSharedWorkerRefCount(). This is more like a boolean flag and not |
433 // actually the number of shared workers running in this process. | 435 // actually the number of shared workers running in this process. |
434 size_t shared_worker_ref_count_; | 436 size_t shared_worker_ref_count_; |
435 | 437 |
436 // Set in ForceReleaseWorkerRefCounts. When true, worker ref counts must no | 438 // Set in ForceReleaseWorkerRefCounts. When true, worker ref counts must no |
437 // longer be modified. | 439 // longer be modified. |
438 bool is_worker_ref_count_disabled_; | 440 bool is_worker_ref_count_disabled_; |
439 | 441 |
| 442 // Whether this host is never suitable for reuse as determined in the |
| 443 // MayReuseHost() function. |
| 444 bool is_never_suitable_for_reuse_ = false; |
| 445 |
440 // The registered IPC listener objects. When this list is empty, we should | 446 // The registered IPC listener objects. When this list is empty, we should |
441 // delete ourselves. | 447 // delete ourselves. |
442 IDMap<IPC::Listener*> listeners_; | 448 IDMap<IPC::Listener*> listeners_; |
443 | 449 |
444 mojo::AssociatedBinding<mojom::RouteProvider> route_provider_binding_; | 450 mojo::AssociatedBinding<mojom::RouteProvider> route_provider_binding_; |
445 mojo::AssociatedBindingSet<mojom::AssociatedInterfaceProvider> | 451 mojo::AssociatedBindingSet<mojom::AssociatedInterfaceProvider> |
446 associated_interface_provider_bindings_; | 452 associated_interface_provider_bindings_; |
447 | 453 |
448 // The count of currently visible widgets. Since the host can be a container | 454 // The count of currently visible widgets. Since the host can be a container |
449 // for multiple widgets, it uses this count to determine when it should be | 455 // for multiple widgets, it uses this count to determine when it should be |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 instance_weak_factory_; | 600 instance_weak_factory_; |
595 | 601 |
596 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 602 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
597 | 603 |
598 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 604 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
599 }; | 605 }; |
600 | 606 |
601 } // namespace content | 607 } // namespace content |
602 | 608 |
603 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 609 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |