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_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ | 5 #ifndef CHROME_BROWSER_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ |
6 #define CHROME_BROWSER_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ | 6 #define CHROME_BROWSER_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ |
7 | 7 |
8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
9 #include "base/timer.h" | 9 #include "base/timer.h" |
10 #include "chrome/browser/tab_contents/tab_contents_view.h" | 10 #include "chrome/browser/tab_contents/tab_contents_view.h" |
11 #include "gfx/size.h" | 11 #include "gfx/size.h" |
12 #include "views/widget/widget_win.h" | 12 #include "views/widget/widget_win.h" |
13 | 13 |
14 class RenderViewContextMenuWin; | 14 class RenderViewContextMenuWin; |
15 class SadTabView; | 15 class SadTabView; |
16 class SkBitmap; | |
17 class TabContentsDragWin; | 16 class TabContentsDragWin; |
18 struct WebDropData; | 17 struct WebDropData; |
19 class WebDragSource; | 18 class WebDragSource; |
20 class WebDropTarget; | 19 class WebDropTarget; |
21 namespace gfx { | |
22 class Point; | |
23 } | |
24 | 20 |
25 // Windows-specific implementation of the TabContentsView. It is a HWND that | 21 // Windows-specific implementation of the TabContentsView. It is a HWND that |
26 // contains all of the contents of the tab and associated child views. | 22 // contains all of the contents of the tab and associated child views. |
27 class TabContentsViewWin : public TabContentsView, | 23 class TabContentsViewWin : public TabContentsView, |
28 public views::WidgetWin { | 24 public views::WidgetWin { |
29 public: | 25 public: |
30 // The corresponding TabContents is passed in the constructor, and manages our | 26 // The corresponding TabContents is passed in the constructor, and manages our |
31 // lifetime. This doesn't need to be the case, but is this way currently | 27 // lifetime. This doesn't need to be the case, but is this way currently |
32 // because that's what was easiest when they were split. | 28 // because that's what was easiest when they were split. |
33 explicit TabContentsViewWin(TabContents* tab_contents); | 29 explicit TabContentsViewWin(TabContents* tab_contents); |
(...skipping 18 matching lines...) Expand all Loading... |
52 virtual void Focus(); | 48 virtual void Focus(); |
53 virtual void SetInitialFocus(); | 49 virtual void SetInitialFocus(); |
54 virtual void StoreFocus(); | 50 virtual void StoreFocus(); |
55 virtual void RestoreFocus(); | 51 virtual void RestoreFocus(); |
56 virtual bool IsDoingDrag() const; | 52 virtual bool IsDoingDrag() const; |
57 virtual void CancelDragAndCloseTab(); | 53 virtual void CancelDragAndCloseTab(); |
58 | 54 |
59 // Backend implementation of RenderViewHostDelegate::View. | 55 // Backend implementation of RenderViewHostDelegate::View. |
60 virtual void ShowContextMenu(const ContextMenuParams& params); | 56 virtual void ShowContextMenu(const ContextMenuParams& params); |
61 virtual void StartDragging(const WebDropData& drop_data, | 57 virtual void StartDragging(const WebDropData& drop_data, |
62 WebKit::WebDragOperationsMask operations, | 58 WebKit::WebDragOperationsMask operations); |
63 const SkBitmap& image, | |
64 const gfx::Point& image_offset); | |
65 virtual void UpdateDragCursor(WebKit::WebDragOperation operation); | 59 virtual void UpdateDragCursor(WebKit::WebDragOperation operation); |
66 virtual void GotFocus(); | 60 virtual void GotFocus(); |
67 virtual void TakeFocus(bool reverse); | 61 virtual void TakeFocus(bool reverse); |
68 | 62 |
69 // WidgetWin overridde. | 63 // WidgetWin overridde. |
70 virtual views::FocusManager* GetFocusManager(); | 64 virtual views::FocusManager* GetFocusManager(); |
71 | 65 |
72 void EndDragging(); | 66 void EndDragging(); |
73 | 67 |
74 WebDropTarget* drop_target() const { return drop_target_.get(); } | 68 WebDropTarget* drop_target() const { return drop_target_.get(); } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 // Used to close the tab after the stack has unwound. | 130 // Used to close the tab after the stack has unwound. |
137 base::OneShotTimer<TabContentsViewWin> close_tab_timer_; | 131 base::OneShotTimer<TabContentsViewWin> close_tab_timer_; |
138 | 132 |
139 // Used to handle the drag-and-drop. | 133 // Used to handle the drag-and-drop. |
140 scoped_refptr<TabContentsDragWin> drag_handler_; | 134 scoped_refptr<TabContentsDragWin> drag_handler_; |
141 | 135 |
142 DISALLOW_COPY_AND_ASSIGN(TabContentsViewWin); | 136 DISALLOW_COPY_AND_ASSIGN(TabContentsViewWin); |
143 }; | 137 }; |
144 | 138 |
145 #endif // CHROME_BROWSER_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ | 139 #endif // CHROME_BROWSER_VIEWS_TAB_CONTENTS_TAB_CONTENTS_VIEW_WIN_H_ |
OLD | NEW |