| 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_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 // to actual renderer processes (as opposed to mocks). | 38 // to actual renderer processes (as opposed to mocks). |
| 39 // | 39 // |
| 40 // Represents the browser side of the browser <--> renderer communication | 40 // Represents the browser side of the browser <--> renderer communication |
| 41 // channel. There will be one RenderProcessHost per renderer process. | 41 // channel. There will be one RenderProcessHost per renderer process. |
| 42 // | 42 // |
| 43 // This object is refcounted so that it can release its resources when all | 43 // This object is refcounted so that it can release its resources when all |
| 44 // hosts using it go away. | 44 // hosts using it go away. |
| 45 // | 45 // |
| 46 // This object communicates back and forth with the RenderProcess object | 46 // This object communicates back and forth with the RenderProcess object |
| 47 // running in the renderer process. Each RenderProcessHost and RenderProcess | 47 // running in the renderer process. Each RenderProcessHost and RenderProcess |
| 48 // keeps a list of RenderView (renderer) and TabContents (browser) which | 48 // keeps a list of RenderView (renderer) and WebContentsImpl (browser) which |
| 49 // are correlated with IDs. This way, the Views and the corresponding ViewHosts | 49 // are correlated with IDs. This way, the Views and the corresponding ViewHosts |
| 50 // communicate through the two process objects. | 50 // communicate through the two process objects. |
| 51 class CONTENT_EXPORT RenderProcessHostImpl | 51 class CONTENT_EXPORT RenderProcessHostImpl |
| 52 : public content::RenderProcessHost, | 52 : public content::RenderProcessHost, |
| 53 public ChildProcessLauncher::Client, | 53 public ChildProcessLauncher::Client, |
| 54 public base::WaitableEventWatcher::Delegate { | 54 public base::WaitableEventWatcher::Delegate { |
| 55 public: | 55 public: |
| 56 explicit RenderProcessHostImpl(content::BrowserContext* browser_context); | 56 explicit RenderProcessHostImpl(content::BrowserContext* browser_context); |
| 57 virtual ~RenderProcessHostImpl(); | 57 virtual ~RenderProcessHostImpl(); |
| 58 | 58 |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 | 243 |
| 244 // The globally-unique identifier for this RPH. | 244 // The globally-unique identifier for this RPH. |
| 245 int id_; | 245 int id_; |
| 246 | 246 |
| 247 content::BrowserContext* browser_context_; | 247 content::BrowserContext* browser_context_; |
| 248 | 248 |
| 249 // True if the process can be shut down suddenly. If this is true, then we're | 249 // True if the process can be shut down suddenly. If this is true, then we're |
| 250 // sure that all the RenderViews in the process can be shutdown suddenly. If | 250 // sure that all the RenderViews in the process can be shutdown suddenly. If |
| 251 // it's false, then specific RenderViews might still be allowed to be shutdown | 251 // it's false, then specific RenderViews might still be allowed to be shutdown |
| 252 // suddenly by checking their SuddenTerminationAllowed() flag. This can occur | 252 // suddenly by checking their SuddenTerminationAllowed() flag. This can occur |
| 253 // if one tab has an unload event listener but another tab in the same process | 253 // if one WebContents has an unload event listener but another WebContents in |
| 254 // doesn't. | 254 // the same process doesn't. |
| 255 bool sudden_termination_allowed_; | 255 bool sudden_termination_allowed_; |
| 256 | 256 |
| 257 // Set to true if we shouldn't send input events. We actually do the | 257 // Set to true if we shouldn't send input events. We actually do the |
| 258 // filtering for this at the render widget level. | 258 // filtering for this at the render widget level. |
| 259 bool ignore_input_events_; | 259 bool ignore_input_events_; |
| 260 | 260 |
| 261 // Records the last time we regarded the child process active. | 261 // Records the last time we regarded the child process active. |
| 262 base::TimeTicks child_process_activity_time_; | 262 base::TimeTicks child_process_activity_time_; |
| 263 | 263 |
| 264 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 264 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
| 265 }; | 265 }; |
| 266 | 266 |
| 267 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 267 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |