| 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_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |    5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 
|    6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |    6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 
|    7  |    7  | 
|    8 #include "base/basictypes.h" |    8 #include "base/basictypes.h" | 
|    9 #include "base/id_map.h" |    9 #include "base/id_map.h" | 
|   10 #include "base/process/kill.h" |   10 #include "base/process/kill.h" | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|   22 namespace base { |   22 namespace base { | 
|   23 class TimeDelta; |   23 class TimeDelta; | 
|   24 } |   24 } | 
|   25  |   25  | 
|   26 namespace content { |   26 namespace content { | 
|   27 class BrowserContext; |   27 class BrowserContext; | 
|   28 class BrowserMessageFilter; |   28 class BrowserMessageFilter; | 
|   29 class RenderProcessHostObserver; |   29 class RenderProcessHostObserver; | 
|   30 class RenderWidgetHost; |   30 class RenderWidgetHost; | 
|   31 class StoragePartition; |   31 class StoragePartition; | 
 |   32 struct GlobalRequestID; | 
|   32  |   33  | 
|   33 typedef base::Thread* (*RendererMainThreadFactoryFunction)( |   34 typedef base::Thread* (*RendererMainThreadFactoryFunction)( | 
|   34     const std::string& id); |   35     const std::string& id); | 
|   35  |   36  | 
|   36 // Interface that represents the browser side of the browser <-> renderer |   37 // Interface that represents the browser side of the browser <-> renderer | 
|   37 // communication channel. There will generally be one RenderProcessHost per |   38 // communication channel. There will generally be one RenderProcessHost per | 
|   38 // renderer process. |   39 // renderer process. | 
|   39 class CONTENT_EXPORT RenderProcessHost : public IPC::Sender, |   40 class CONTENT_EXPORT RenderProcessHost : public IPC::Sender, | 
|   40                                          public IPC::Listener, |   41                                          public IPC::Listener, | 
|   41                                          public base::SupportsUserData { |   42                                          public base::SupportsUserData { | 
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  210   // Checks that the given renderer can request |url|, if not it sets it to |  211   // Checks that the given renderer can request |url|, if not it sets it to | 
|  211   // about:blank. |  212   // about:blank. | 
|  212   // |empty_allowed| must be set to false for navigations for security reasons. |  213   // |empty_allowed| must be set to false for navigations for security reasons. | 
|  213   virtual void FilterURL(bool empty_allowed, GURL* url) = 0; |  214   virtual void FilterURL(bool empty_allowed, GURL* url) = 0; | 
|  214  |  215  | 
|  215 #if defined(ENABLE_WEBRTC) |  216 #if defined(ENABLE_WEBRTC) | 
|  216   virtual void EnableAecDump(const base::FilePath& file) = 0; |  217   virtual void EnableAecDump(const base::FilePath& file) = 0; | 
|  217   virtual void DisableAecDump() = 0; |  218   virtual void DisableAecDump() = 0; | 
|  218 #endif |  219 #endif | 
|  219  |  220  | 
 |  221   // Tells the ResourceDispatcherHost to resume a deferred navigation without | 
 |  222   // transferring it to a new renderer process. | 
 |  223   virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; | 
 |  224  | 
|  220   // Static management functions ----------------------------------------------- |  225   // Static management functions ----------------------------------------------- | 
|  221  |  226  | 
|  222   // Flag to run the renderer in process.  This is primarily |  227   // Flag to run the renderer in process.  This is primarily | 
|  223   // for debugging purposes.  When running "in process", the |  228   // for debugging purposes.  When running "in process", the | 
|  224   // browser maintains a single RenderProcessHost which communicates |  229   // browser maintains a single RenderProcessHost which communicates | 
|  225   // to a RenderProcess which is instantiated in the same process |  230   // to a RenderProcess which is instantiated in the same process | 
|  226   // with the Browser.  All IPC between the Browser and the |  231   // with the Browser.  All IPC between the Browser and the | 
|  227   // Renderer is the same, it's just not crossing a process boundary. |  232   // Renderer is the same, it's just not crossing a process boundary. | 
|  228  |  233  | 
|  229   static bool run_renderer_in_process(); |  234   static bool run_renderer_in_process(); | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  271   // module. |  276   // module. | 
|  272   static size_t GetMaxRendererProcessCount(); |  277   static size_t GetMaxRendererProcessCount(); | 
|  273  |  278  | 
|  274   static void RegisterRendererMainThreadFactory( |  279   static void RegisterRendererMainThreadFactory( | 
|  275       RendererMainThreadFactoryFunction create); |  280       RendererMainThreadFactoryFunction create); | 
|  276 }; |  281 }; | 
|  277  |  282  | 
|  278 }  // namespace content. |  283 }  // namespace content. | 
|  279  |  284  | 
|  280 #endif  // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |  285 #endif  // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 
| OLD | NEW |