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_CONTENT_BROWSER_CLIENT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 } | 58 } |
59 | 59 |
60 namespace ui { | 60 namespace ui { |
61 class Clipboard; | 61 class Clipboard; |
62 } | 62 } |
63 | 63 |
64 namespace content { | 64 namespace content { |
65 | 65 |
66 class BrowserContext; | 66 class BrowserContext; |
67 class ResourceContext; | 67 class ResourceContext; |
68 class WebUIFactory; | 68 class WebUIControllerFactory; |
69 | 69 |
70 // Embedder API (or SPI) for participating in browser logic, to be implemented | 70 // Embedder API (or SPI) for participating in browser logic, to be implemented |
71 // by the client of the content browser. See ChromeContentBrowserClient for the | 71 // by the client of the content browser. See ChromeContentBrowserClient for the |
72 // principal implementation. The methods are assumed to be called on the UI | 72 // principal implementation. The methods are assumed to be called on the UI |
73 // thread unless otherwise specified. Use this "escape hatch" sparingly, to | 73 // thread unless otherwise specified. Use this "escape hatch" sparingly, to |
74 // avoid the embedder interface ballooning and becoming very specific to Chrome. | 74 // avoid the embedder interface ballooning and becoming very specific to Chrome. |
75 // (Often, the call out to the client can happen in a different part of the code | 75 // (Often, the call out to the client can happen in a different part of the code |
76 // that either already has a hook out to the embedder, or calls out to one of | 76 // that either already has a hook out to the embedder, or calls out to one of |
77 // the observer interfaces.) | 77 // the observer interfaces.) |
78 class ContentBrowserClient { | 78 class ContentBrowserClient { |
(...skipping 10 matching lines...) Expand all Loading... |
89 | 89 |
90 // Notifies that a new RenderHostView has been created. | 90 // Notifies that a new RenderHostView has been created. |
91 virtual void RenderViewHostCreated(RenderViewHost* render_view_host) = 0; | 91 virtual void RenderViewHostCreated(RenderViewHost* render_view_host) = 0; |
92 | 92 |
93 // Notifies that a RenderProcessHost has been created. This is called before | 93 // Notifies that a RenderProcessHost has been created. This is called before |
94 // the content layer adds its own BrowserMessageFilters, so that the | 94 // the content layer adds its own BrowserMessageFilters, so that the |
95 // embedder's IPC filters have priority. | 95 // embedder's IPC filters have priority. |
96 virtual void RenderProcessHostCreated( | 96 virtual void RenderProcessHostCreated( |
97 content::RenderProcessHost* host) = 0; | 97 content::RenderProcessHost* host) = 0; |
98 | 98 |
99 // Gets the WebUIFactory which will be responsible for generating WebUIs. | 99 // Gets the WebUIControllerFactory which will be responsible for generating |
100 virtual WebUIFactory* GetWebUIFactory() = 0; | 100 // WebUIs. Can return NULL if the embedder doesn't need WebUI support. |
| 101 virtual WebUIControllerFactory* GetWebUIControllerFactory() = 0; |
101 | 102 |
102 // Get the effective URL for the given actual URL, to allow an embedder to | 103 // Get the effective URL for the given actual URL, to allow an embedder to |
103 // group different url schemes in the same SiteInstance. | 104 // group different url schemes in the same SiteInstance. |
104 virtual GURL GetEffectiveURL(BrowserContext* browser_context, | 105 virtual GURL GetEffectiveURL(BrowserContext* browser_context, |
105 const GURL& url) = 0; | 106 const GURL& url) = 0; |
106 | 107 |
107 // Returns whether all instances of the specified effective URL should be | 108 // Returns whether all instances of the specified effective URL should be |
108 // rendered by the same process, rather than using process-per-site-instance. | 109 // rendered by the same process, rather than using process-per-site-instance. |
109 virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context, | 110 virtual bool ShouldUseProcessPerSite(BrowserContext* browser_context, |
110 const GURL& effective_url) = 0; | 111 const GURL& effective_url) = 0; |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 // This is called on a worker thread. | 349 // This is called on a worker thread. |
349 virtual | 350 virtual |
350 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( | 351 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( |
351 const GURL& url) = 0; | 352 const GURL& url) = 0; |
352 #endif | 353 #endif |
353 }; | 354 }; |
354 | 355 |
355 } // namespace content | 356 } // namespace content |
356 | 357 |
357 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 358 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |