OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_VIEW_H_ | 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ |
6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ | 6 #define CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 virtual void CancelDragAndCloseTab() {} | 147 virtual void CancelDragAndCloseTab() {} |
148 | 148 |
149 // If we close the tab while a UI control is in an event-tracking | 149 // If we close the tab while a UI control is in an event-tracking |
150 // loop, the control may message freed objects and crash. | 150 // loop, the control may message freed objects and crash. |
151 // TabContents::Close() calls IsEventTracking(), and if it returns | 151 // TabContents::Close() calls IsEventTracking(), and if it returns |
152 // true CloseTabAfterEventTracking() is called and the close is not | 152 // true CloseTabAfterEventTracking() is called and the close is not |
153 // completed. | 153 // completed. |
154 virtual bool IsEventTracking() const; | 154 virtual bool IsEventTracking() const; |
155 virtual void CloseTabAfterEventTracking() {} | 155 virtual void CloseTabAfterEventTracking() {} |
156 | 156 |
| 157 // Get the bounds of the View, relative to the parent. |
| 158 virtual void GetViewBounds(gfx::Rect* out) const = 0; |
| 159 |
157 protected: | 160 protected: |
158 TabContentsView(); // Abstract interface. | 161 TabContentsView(); // Abstract interface. |
159 | 162 |
160 // Internal functions used to support the CreateNewWidget() method. If a | 163 // Internal functions used to support the CreateNewWidget() method. If a |
161 // platform requires plugging into widget creation at a lower level then a | 164 // platform requires plugging into widget creation at a lower level then a |
162 // subclass might want to override these functions, but otherwise they should | 165 // subclass might want to override these functions, but otherwise they should |
163 // be fine just implementing RenderWidgetHostView::InitAsPopup(). | 166 // be fine just implementing RenderWidgetHostView::InitAsPopup(). |
164 // | 167 // |
165 // The Create function returns the newly created widget so it can be | 168 // The Create function returns the newly created widget so it can be |
166 // associated with the given route. When the widget needs to be shown later, | 169 // associated with the given route. When the widget needs to be shown later, |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 213 |
211 // These maps hold on to the widgets that we created on behalf of the | 214 // These maps hold on to the widgets that we created on behalf of the |
212 // renderer that haven't shown yet. | 215 // renderer that haven't shown yet. |
213 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; | 216 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; |
214 PendingWidgetViews pending_widget_views_; | 217 PendingWidgetViews pending_widget_views_; |
215 | 218 |
216 DISALLOW_COPY_AND_ASSIGN(TabContentsView); | 219 DISALLOW_COPY_AND_ASSIGN(TabContentsView); |
217 }; | 220 }; |
218 | 221 |
219 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ | 222 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ |
OLD | NEW |