OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ | 5 #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ |
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ | 6 #define EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "content/public/browser/content_browser_client.h" | 9 #include "content/public/browser/content_browser_client.h" |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 namespace extensions { | 21 namespace extensions { |
22 class Extension; | 22 class Extension; |
23 class ShellBrowserMainDelegate; | 23 class ShellBrowserMainDelegate; |
24 class ShellBrowserMainParts; | 24 class ShellBrowserMainParts; |
25 | 25 |
26 // Content module browser process support for app_shell. | 26 // Content module browser process support for app_shell. |
27 class ShellContentBrowserClient : public content::ContentBrowserClient { | 27 class ShellContentBrowserClient : public content::ContentBrowserClient { |
28 public: | 28 public: |
29 explicit ShellContentBrowserClient( | 29 explicit ShellContentBrowserClient( |
30 ShellBrowserMainDelegate* browser_main_delegate); | 30 ShellBrowserMainDelegate* browser_main_delegate); |
31 virtual ~ShellContentBrowserClient(); | 31 ~ShellContentBrowserClient() override; |
32 | 32 |
33 // Returns the single instance. | 33 // Returns the single instance. |
34 static ShellContentBrowserClient* Get(); | 34 static ShellContentBrowserClient* Get(); |
35 | 35 |
36 // Returns the single browser context for app_shell. | 36 // Returns the single browser context for app_shell. |
37 content::BrowserContext* GetBrowserContext(); | 37 content::BrowserContext* GetBrowserContext(); |
38 | 38 |
39 // content::ContentBrowserClient overrides. | 39 // content::ContentBrowserClient overrides. |
40 virtual content::BrowserMainParts* CreateBrowserMainParts( | 40 content::BrowserMainParts* CreateBrowserMainParts( |
41 const content::MainFunctionParams& parameters) override; | 41 const content::MainFunctionParams& parameters) override; |
42 virtual void RenderProcessWillLaunch( | 42 void RenderProcessWillLaunch(content::RenderProcessHost* host) override; |
43 content::RenderProcessHost* host) override; | 43 bool ShouldUseProcessPerSite(content::BrowserContext* browser_context, |
44 virtual bool ShouldUseProcessPerSite(content::BrowserContext* browser_context, | 44 const GURL& effective_url) override; |
45 const GURL& effective_url) override; | 45 net::URLRequestContextGetter* CreateRequestContext( |
46 virtual net::URLRequestContextGetter* CreateRequestContext( | |
47 content::BrowserContext* browser_context, | 46 content::BrowserContext* browser_context, |
48 content::ProtocolHandlerMap* protocol_handlers, | 47 content::ProtocolHandlerMap* protocol_handlers, |
49 content::URLRequestInterceptorScopedVector request_interceptors) override; | 48 content::URLRequestInterceptorScopedVector request_interceptors) override; |
50 // TODO(jamescook): Quota management? | 49 // TODO(jamescook): Quota management? |
51 // TODO(jamescook): Speech recognition? | 50 // TODO(jamescook): Speech recognition? |
52 virtual bool IsHandledURL(const GURL& url) override; | 51 bool IsHandledURL(const GURL& url) override; |
53 virtual void SiteInstanceGotProcess( | 52 void SiteInstanceGotProcess(content::SiteInstance* site_instance) override; |
54 content::SiteInstance* site_instance) override; | 53 void SiteInstanceDeleting(content::SiteInstance* site_instance) override; |
55 virtual void SiteInstanceDeleting( | 54 void AppendExtraCommandLineSwitches(base::CommandLine* command_line, |
56 content::SiteInstance* site_instance) override; | 55 int child_process_id) override; |
57 virtual void AppendExtraCommandLineSwitches(base::CommandLine* command_line, | 56 content::BrowserPpapiHost* GetExternalBrowserPpapiHost( |
58 int child_process_id) override; | |
59 virtual content::BrowserPpapiHost* GetExternalBrowserPpapiHost( | |
60 int plugin_process_id) override; | 57 int plugin_process_id) override; |
61 virtual void GetAdditionalAllowedSchemesForFileSystem( | 58 void GetAdditionalAllowedSchemesForFileSystem( |
62 std::vector<std::string>* additional_schemes) override; | 59 std::vector<std::string>* additional_schemes) override; |
63 virtual content::DevToolsManagerDelegate* | 60 content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override; |
64 GetDevToolsManagerDelegate() override; | |
65 | 61 |
66 private: | 62 private: |
67 // Appends command line switches for a renderer process. | 63 // Appends command line switches for a renderer process. |
68 void AppendRendererSwitches(base::CommandLine* command_line); | 64 void AppendRendererSwitches(base::CommandLine* command_line); |
69 | 65 |
70 // Returns the extension or app associated with |site_instance| or NULL. | 66 // Returns the extension or app associated with |site_instance| or NULL. |
71 const Extension* GetExtension(content::SiteInstance* site_instance); | 67 const Extension* GetExtension(content::SiteInstance* site_instance); |
72 | 68 |
73 // Owned by content::BrowserMainLoop. | 69 // Owned by content::BrowserMainLoop. |
74 ShellBrowserMainParts* browser_main_parts_; | 70 ShellBrowserMainParts* browser_main_parts_; |
75 | 71 |
76 // Owned by ShellBrowserMainParts. | 72 // Owned by ShellBrowserMainParts. |
77 ShellBrowserMainDelegate* browser_main_delegate_; | 73 ShellBrowserMainDelegate* browser_main_delegate_; |
78 | 74 |
79 DISALLOW_COPY_AND_ASSIGN(ShellContentBrowserClient); | 75 DISALLOW_COPY_AND_ASSIGN(ShellContentBrowserClient); |
80 }; | 76 }; |
81 | 77 |
82 } // namespace extensions | 78 } // namespace extensions |
83 | 79 |
84 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ | 80 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |