OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 | 10 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 class SpeechInputManager; | 60 class SpeechInputManager; |
61 } | 61 } |
62 | 62 |
63 namespace ui { | 63 namespace ui { |
64 class Clipboard; | 64 class Clipboard; |
65 } | 65 } |
66 | 66 |
67 namespace content { | 67 namespace content { |
68 | 68 |
69 class BrowserContext; | 69 class BrowserContext; |
70 class BrowserMainParts; | |
71 class ResourceContext; | 70 class ResourceContext; |
72 class WebUIFactory; | 71 class WebUIFactory; |
73 | 72 |
74 // Embedder API (or SPI) for participating in browser logic, to be implemented | 73 // Embedder API (or SPI) for participating in browser logic, to be implemented |
75 // by the client of the content browser. See ChromeContentBrowserClient for the | 74 // by the client of the content browser. See ChromeContentBrowserClient for the |
76 // principal implementation. The methods are assumed to be called on the UI | 75 // principal implementation. The methods are assumed to be called on the UI |
77 // thread unless otherwise specified. Use this "escape hatch" sparingly, to | 76 // thread unless otherwise specified. Use this "escape hatch" sparingly, to |
78 // avoid the embedder interface ballooning and becoming very specific to Chrome. | 77 // avoid the embedder interface ballooning and becoming very specific to Chrome. |
79 // (Often, the call out to the client can happen in a different part of the code | 78 // (Often, the call out to the client can happen in a different part of the code |
80 // that either already has a hook out to the embedder, or calls out to one of | 79 // that either already has a hook out to the embedder, or calls out to one of |
81 // the observer interfaces.) | 80 // the observer interfaces.) |
82 class ContentBrowserClient { | 81 class ContentBrowserClient { |
83 public: | 82 public: |
84 virtual ~ContentBrowserClient() {} | 83 virtual ~ContentBrowserClient() {} |
85 | 84 |
86 // Allows the embedder to return a customed BrowserMainParts implementation | 85 // Allows the embedder to set any number of custom BrowserMainParts |
87 // for the browser staratup code. Can return NULL, in which case the default | 86 // implementations for the browser startup code. See comments in |
88 // is used. | 87 // browser_main_parts.h. |
89 virtual BrowserMainParts* CreateBrowserMainParts( | 88 virtual void CreateBrowserMainParts( |
90 const MainFunctionParams& parameters) = 0; | 89 const MainFunctionParams& parameters, |
| 90 std::vector<BrowserMainParts*>* parts_list) = 0; |
91 | 91 |
92 // Platform-specific creator. Use this to construct new RenderWidgetHostViews | 92 // Platform-specific creator. Use this to construct new RenderWidgetHostViews |
93 // rather than using RenderWidgetHostViewWin & friends. | 93 // rather than using RenderWidgetHostViewWin & friends. |
94 // | 94 // |
95 // This function must NOT size it, because the RenderView in the renderer | 95 // This function must NOT size it, because the RenderView in the renderer |
96 // wouldn't have been created yet. The widget would set its "waiting for | 96 // wouldn't have been created yet. The widget would set its "waiting for |
97 // resize ack" flag, and the ack would never come becasue no RenderView | 97 // resize ack" flag, and the ack would never come becasue no RenderView |
98 // received it. | 98 // received it. |
99 // | 99 // |
100 // The RenderWidgetHost must already be created (because we can't know if it's | 100 // The RenderWidgetHost must already be created (because we can't know if it's |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 // This is called on a worker thread. | 342 // This is called on a worker thread. |
343 virtual | 343 virtual |
344 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( | 344 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( |
345 const GURL& url) = 0; | 345 const GURL& url) = 0; |
346 #endif | 346 #endif |
347 }; | 347 }; |
348 | 348 |
349 } // namespace content | 349 } // namespace content |
350 | 350 |
351 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 351 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |