| 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_WEB_CONTENTS_VIEW_H_ | 5 #ifndef CHROME_BROWSER_TAB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
| 6 #define CHROME_BROWSER_TAB_CONTENTS_WEB_CONTENTS_VIEW_H_ | 6 #define CHROME_BROWSER_TAB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 // The WebContentsView is an interface that is implemented by the platform- | 29 // The WebContentsView is an interface that is implemented by the platform- |
| 30 // dependent web contents views. The WebContents uses this interface to talk to | 30 // dependent web contents views. The WebContents uses this interface to talk to |
| 31 // them. View-related messages will also get forwarded directly to this class | 31 // them. View-related messages will also get forwarded directly to this class |
| 32 // from RenderViewHost via RenderViewHostDelegate::View. | 32 // from RenderViewHost via RenderViewHostDelegate::View. |
| 33 // | 33 // |
| 34 // It contains a small amount of logic with respect to creating new sub-view | 34 // It contains a small amount of logic with respect to creating new sub-view |
| 35 // that should be the same for all platforms. | 35 // that should be the same for all platforms. |
| 36 class WebContentsView : public RenderViewHostDelegate::View { | 36 class WebContentsView : public RenderViewHostDelegate::View { |
| 37 public: | 37 public: |
| 38 WebContentsView(WebContents* web_contents); | 38 explicit WebContentsView(WebContents* web_contents); |
| 39 virtual ~WebContentsView() {} | 39 virtual ~WebContentsView() {} |
| 40 | 40 |
| 41 // Creates the appropriate type of WebContentsView for the current system. | 41 // Creates the appropriate type of WebContentsView for the current system. |
| 42 // The return value is a new heap allocated view with ownership passing to | 42 // The return value is a new heap allocated view with ownership passing to |
| 43 // the caller. | 43 // the caller. |
| 44 static WebContentsView* Create(WebContents* web_contents); | 44 static WebContentsView* Create(WebContents* web_contents); |
| 45 | 45 |
| 46 WebContents* web_contents() const { return web_contents_; } | 46 WebContents* web_contents() const { return web_contents_; } |
| 47 | 47 |
| 48 virtual void CreateView() = 0; | 48 virtual void CreateView() = 0; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 // first time. | 114 // first time. |
| 115 virtual void SetInitialFocus() = 0; | 115 virtual void SetInitialFocus() = 0; |
| 116 | 116 |
| 117 // Stores the currently focused view. | 117 // Stores the currently focused view. |
| 118 virtual void StoreFocus() = 0; | 118 virtual void StoreFocus() = 0; |
| 119 | 119 |
| 120 // Restores focus to the last focus view. If StoreFocus has not yet been | 120 // Restores focus to the last focus view. If StoreFocus has not yet been |
| 121 // invoked, SetInitialFocus is invoked. | 121 // invoked, SetInitialFocus is invoked. |
| 122 virtual void RestoreFocus() = 0; | 122 virtual void RestoreFocus() = 0; |
| 123 | 123 |
| 124 // Sets children's size. May involve packing them in order to get the |
| 125 // toolkit to send them resize events. |
| 126 virtual void SetChildSize(RenderWidgetHostView* rwh_view) = 0; |
| 127 |
| 124 protected: | 128 protected: |
| 125 WebContentsView() {} // Abstract interface. | 129 WebContentsView() {} // Abstract interface. |
| 126 | 130 |
| 127 // Internal functions used to support the CreateNewWidget() method. If a | 131 // Internal functions used to support the CreateNewWidget() method. If a |
| 128 // platform requires plugging into widget creation at a lower level then a | 132 // platform requires plugging into widget creation at a lower level then a |
| 129 // subclass might want to override these functions, but otherwise they should | 133 // subclass might want to override these functions, but otherwise they should |
| 130 // be fine just implementing RenderWidgetHostView::InitAsPopup(). | 134 // be fine just implementing RenderWidgetHostView::InitAsPopup(). |
| 131 // | 135 // |
| 132 // The Create function returns the newly created widget so it can be | 136 // The Create function returns the newly created widget so it can be |
| 133 // associated with the given route. When the widget needs to be shown later, | 137 // associated with the given route. When the widget needs to be shown later, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 164 | 168 |
| 165 // These maps hold on to the widgets that we created on behalf of the | 169 // These maps hold on to the widgets that we created on behalf of the |
| 166 // renderer that haven't shown yet. | 170 // renderer that haven't shown yet. |
| 167 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; | 171 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; |
| 168 PendingWidgetViews pending_widget_views_; | 172 PendingWidgetViews pending_widget_views_; |
| 169 | 173 |
| 170 DISALLOW_COPY_AND_ASSIGN(WebContentsView); | 174 DISALLOW_COPY_AND_ASSIGN(WebContentsView); |
| 171 }; | 175 }; |
| 172 | 176 |
| 173 #endif // CHROME_BROWSER_TAB_CONTENTS_WEB_CONTENTS_VIEW_H_ | 177 #endif // CHROME_BROWSER_TAB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
| OLD | NEW |