OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ | 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ |
6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ | 6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/gfx/rect.h" | 9 #include "base/gfx/rect.h" |
10 #include "chrome/common/page_transition_types.h" | 10 #include "chrome/common/page_transition_types.h" |
11 #include "webkit/glue/window_open_disposition.h" | 11 #include "webkit/glue/window_open_disposition.h" |
12 | 12 |
| 13 class ExtensionFunctionDispatcher; |
| 14 class RenderViewHost; |
13 class TabContents; | 15 class TabContents; |
14 class HtmlDialogUIDelegate; | 16 class HtmlDialogUIDelegate; |
15 class GURL; | 17 class GURL; |
16 | 18 |
17 // Objects implement this interface to get notified about changes in the | 19 // Objects implement this interface to get notified about changes in the |
18 // TabContents and to provide necessary functionality. | 20 // TabContents and to provide necessary functionality. |
19 class TabContentsDelegate { | 21 class TabContentsDelegate { |
20 public: | 22 public: |
21 // Opens a new URL inside the passed in TabContents (if source is 0 open | 23 // Opens a new URL inside the passed in TabContents (if source is 0 open |
22 // in the current front-most tab), unless |disposition| indicates the url | 24 // in the current front-most tab), unless |disposition| indicates the url |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 // Sets focus to the location bar or some other place that is appropriate. | 144 // Sets focus to the location bar or some other place that is appropriate. |
143 // This is called when the tab wants to encourage user input, like for the | 145 // This is called when the tab wants to encourage user input, like for the |
144 // new tab page. | 146 // new tab page. |
145 virtual void SetFocusToLocationBar() {} | 147 virtual void SetFocusToLocationBar() {} |
146 | 148 |
147 // Called when a popup select is about to be displayed. The delegate can use | 149 // Called when a popup select is about to be displayed. The delegate can use |
148 // this to disable inactive rendering for the frame in the window the select | 150 // this to disable inactive rendering for the frame in the window the select |
149 // is opened within if necessary. | 151 // is opened within if necessary. |
150 virtual void RenderWidgetShowing() {} | 152 virtual void RenderWidgetShowing() {} |
151 | 153 |
| 154 // This is used when the contents is an extension that needs to route |
| 155 // api calls through to the Browser process. |
| 156 virtual ExtensionFunctionDispatcher *CreateExtensionFunctionDispatcher( |
| 157 RenderViewHost* render_view_host, |
| 158 const std::string& extension_id) { |
| 159 return NULL; |
| 160 } |
| 161 |
152 // This is called when webkit tells us that it is done tabbing through | 162 // This is called when webkit tells us that it is done tabbing through |
153 // controls on the page. Provides a way for TabContentsDelegates to handle | 163 // controls on the page. Provides a way for TabContentsDelegates to handle |
154 // this. Returns true if the delegate successfully handled it. | 164 // this. Returns true if the delegate successfully handled it. |
155 virtual bool TakeFocus(bool reverse) { | 165 virtual bool TakeFocus(bool reverse) { |
156 return false; | 166 return false; |
157 } | 167 } |
158 | 168 |
159 protected: | 169 protected: |
160 ~TabContentsDelegate() {} | 170 ~TabContentsDelegate() {} |
161 | 171 |
162 }; | 172 }; |
163 | 173 |
164 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ | 174 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ |
OLD | NEW |