Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(546)

Side by Side Diff: chrome/browser/tab_contents/tab_contents_view.h

Issue 3743001: FBTF: Fix more ctor/dtors found by clang plugin. (Closed) Base URL: http://git.chromium.org/git/chromium.git
Patch Set: Rebase to pick up mac fix on ToT Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 13 matching lines...) Expand all
24 // The TabContentsView is an interface that is implemented by the platform- 24 // The TabContentsView is an interface that is implemented by the platform-
25 // dependent web contents views. The TabContents uses this interface to talk to 25 // dependent web contents views. The TabContents uses this interface to talk to
26 // them. View-related messages will also get forwarded directly to this class 26 // them. View-related messages will also get forwarded directly to this class
27 // from RenderViewHost via RenderViewHostDelegate::View. 27 // from RenderViewHost via RenderViewHostDelegate::View.
28 // 28 //
29 // It contains a small amount of logic with respect to creating new sub-view 29 // It contains a small amount of logic with respect to creating new sub-view
30 // that should be the same for all platforms. 30 // that should be the same for all platforms.
31 class TabContentsView : public RenderViewHostDelegate::View { 31 class TabContentsView : public RenderViewHostDelegate::View {
32 public: 32 public:
33 explicit TabContentsView(TabContents* tab_contents); 33 explicit TabContentsView(TabContents* tab_contents);
34 virtual ~TabContentsView() {} 34 virtual ~TabContentsView();
35 35
36 // Creates the appropriate type of TabContentsView for the current system. 36 // Creates the appropriate type of TabContentsView for the current system.
37 // The return value is a new heap allocated view with ownership passing to 37 // The return value is a new heap allocated view with ownership passing to
38 // the caller. 38 // the caller.
39 static TabContentsView* Create(TabContents* tab_contents); 39 static TabContentsView* Create(TabContents* tab_contents);
40 40
41 TabContents* tab_contents() const { return tab_contents_; } 41 TabContents* tab_contents() const { return tab_contents_; }
42 42
43 virtual void CreateView(const gfx::Size& initial_size) = 0; 43 virtual void CreateView(const gfx::Size& initial_size) = 0;
44 44
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 virtual void HandleMouseLeave() {} 135 virtual void HandleMouseLeave() {}
136 virtual void HandleMouseUp(); 136 virtual void HandleMouseUp();
137 virtual void HandleMouseActivate(); 137 virtual void HandleMouseActivate();
138 138
139 // Notification that the preferred size of the contents has changed. 139 // Notification that the preferred size of the contents has changed.
140 virtual void UpdatePreferredSize(const gfx::Size& pref_size); 140 virtual void UpdatePreferredSize(const gfx::Size& pref_size);
141 141
142 // If we try to close the tab while a drag is in progress, we crash. These 142 // If we try to close the tab while a drag is in progress, we crash. These
143 // methods allow the tab contents to determine if a drag is in progress and 143 // methods allow the tab contents to determine if a drag is in progress and
144 // postpone the tab closing. 144 // postpone the tab closing.
145 virtual bool IsDoingDrag() const { 145 virtual bool IsDoingDrag() const;
146 return false;
147 }
148 virtual void CancelDragAndCloseTab() {} 146 virtual void CancelDragAndCloseTab() {}
149 147
150 // If we close the tab while a UI control is in an event-tracking 148 // If we close the tab while a UI control is in an event-tracking
151 // loop, the control may message freed objects and crash. 149 // loop, the control may message freed objects and crash.
152 // TabContents::Close() calls IsEventTracking(), and if it returns 150 // TabContents::Close() calls IsEventTracking(), and if it returns
153 // true CloseTabAfterEventTracking() is called and the close is not 151 // true CloseTabAfterEventTracking() is called and the close is not
154 // completed. 152 // completed.
155 virtual bool IsEventTracking() const { 153 virtual bool IsEventTracking() const;
156 return false;
157 }
158 virtual void CloseTabAfterEventTracking() {} 154 virtual void CloseTabAfterEventTracking() {}
159 155
160 virtual bool ShouldDrawDropShadow() { 156 virtual bool ShouldDrawDropShadow();
161 return false;
162 }
163 157
164 protected: 158 protected:
165 TabContentsView() {} // Abstract interface. 159 TabContentsView(); // Abstract interface.
166 160
167 // Internal functions used to support the CreateNewWidget() method. If a 161 // Internal functions used to support the CreateNewWidget() method. If a
168 // platform requires plugging into widget creation at a lower level then a 162 // platform requires plugging into widget creation at a lower level then a
169 // subclass might want to override these functions, but otherwise they should 163 // subclass might want to override these functions, but otherwise they should
170 // be fine just implementing RenderWidgetHostView::InitAsPopup(). 164 // be fine just implementing RenderWidgetHostView::InitAsPopup().
171 // 165 //
172 // The Create function returns the newly created widget so it can be 166 // The Create function returns the newly created widget so it can be
173 // associated with the given route. When the widget needs to be shown later, 167 // associated with the given route. When the widget needs to be shown later,
174 // we'll look it up again and pass the object to the Show functions rather 168 // we'll look it up again and pass the object to the Show functions rather
175 // than the route ID. 169 // than the route ID.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 211
218 // These maps hold on to the widgets that we created on behalf of the 212 // These maps hold on to the widgets that we created on behalf of the
219 // renderer that haven't shown yet. 213 // renderer that haven't shown yet.
220 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews; 214 typedef std::map<int, RenderWidgetHostView*> PendingWidgetViews;
221 PendingWidgetViews pending_widget_views_; 215 PendingWidgetViews pending_widget_views_;
222 216
223 DISALLOW_COPY_AND_ASSIGN(TabContentsView); 217 DISALLOW_COPY_AND_ASSIGN(TabContentsView);
224 }; 218 };
225 219
226 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_ 220 #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_VIEW_H_
OLDNEW
« no previous file with comments | « chrome/browser/tab_contents/render_view_host_delegate_helper.cc ('k') | chrome/browser/tab_contents/tab_contents_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698