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 |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "content/public/browser/browser_main_parts.h" | |
jam
2011/10/25 06:11:28
nit: don't need to add this, just forward declare
stevenjb
2011/10/25 19:21:18
Done.
| |
12 #include "content/public/common/window_container_type.h" | 13 #include "content/public/common/window_container_type.h" |
13 #include "content/public/common/content_client.h" | 14 #include "content/public/common/content_client.h" |
14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNotificationPresen ter.h" | 15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebNotificationPresen ter.h" |
15 | 16 |
16 class AccessTokenStore; | 17 class AccessTokenStore; |
17 class BrowserRenderProcessHost; | 18 class BrowserRenderProcessHost; |
18 class BrowserURLHandler; | 19 class BrowserURLHandler; |
19 class CommandLine; | 20 class CommandLine; |
20 class DevToolsManager; | 21 class DevToolsManager; |
21 class FilePath; | 22 class FilePath; |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
60 class SpeechInputManager; | 61 class SpeechInputManager; |
61 } | 62 } |
62 | 63 |
63 namespace ui { | 64 namespace ui { |
64 class Clipboard; | 65 class Clipboard; |
65 } | 66 } |
66 | 67 |
67 namespace content { | 68 namespace content { |
68 | 69 |
69 class BrowserContext; | 70 class BrowserContext; |
70 class BrowserMainParts; | |
71 class ResourceContext; | 71 class ResourceContext; |
72 class WebUIFactory; | 72 class WebUIFactory; |
73 | 73 |
74 // Embedder API (or SPI) for participating in browser logic, to be implemented | 74 // Embedder API (or SPI) for participating in browser logic, to be implemented |
75 // by the client of the content browser. See ChromeContentBrowserClient for the | 75 // by the client of the content browser. See ChromeContentBrowserClient for the |
76 // principal implementation. The methods are assumed to be called on the UI | 76 // principal implementation. The methods are assumed to be called on the UI |
77 // thread unless otherwise specified. Use this "escape hatch" sparingly, to | 77 // thread unless otherwise specified. Use this "escape hatch" sparingly, to |
78 // avoid the embedder interface ballooning and becoming very specific to Chrome. | 78 // 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 | 79 // (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 | 80 // that either already has a hook out to the embedder, or calls out to one of |
81 // the observer interfaces.) | 81 // the observer interfaces.) |
82 class ContentBrowserClient { | 82 class ContentBrowserClient { |
83 public: | 83 public: |
84 virtual ~ContentBrowserClient() {} | 84 virtual ~ContentBrowserClient() {} |
85 | 85 |
86 // Allows the embedder to return a customed BrowserMainParts implementation | 86 // Allows the embedder to set any number of custom BrowserMainParts |
87 // for the browser staratup code. Can return NULL, in which case the default | 87 // implementations for the browser startup code. See comments in |
88 // is used. | 88 // browser_main_parts.h. |
89 virtual BrowserMainParts* CreateBrowserMainParts( | 89 virtual void CreateBrowserMainParts( |
90 const MainFunctionParams& parameters) = 0; | 90 const MainFunctionParams& parameters, |
91 std::vector<BrowserMainParts*>& parts_list) = 0; | |
jam
2011/10/25 06:11:28
I didn't notice last time that you're passing a no
stevenjb
2011/10/25 19:21:18
Done. Also, it's parts_list everywhere except the
jam
2011/10/25 19:43:32
nit: parts_list isn't that accurate since it's not
| |
91 | 92 |
92 // Platform-specific creator. Use this to construct new RenderWidgetHostViews | 93 // Platform-specific creator. Use this to construct new RenderWidgetHostViews |
93 // rather than using RenderWidgetHostViewWin & friends. | 94 // rather than using RenderWidgetHostViewWin & friends. |
94 // | 95 // |
95 // This function must NOT size it, because the RenderView in the renderer | 96 // 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 | 97 // 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 | 98 // resize ack" flag, and the ack would never come becasue no RenderView |
98 // received it. | 99 // received it. |
99 // | 100 // |
100 // The RenderWidgetHost must already be created (because we can't know if it's | 101 // 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. | 343 // This is called on a worker thread. |
343 virtual | 344 virtual |
344 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( | 345 crypto::CryptoModuleBlockingPasswordDelegate* GetCryptoPasswordDelegate( |
345 const GURL& url) = 0; | 346 const GURL& url) = 0; |
346 #endif | 347 #endif |
347 }; | 348 }; |
348 | 349 |
349 } // namespace content | 350 } // namespace content |
350 | 351 |
351 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 352 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |