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

Side by Side Diff: chrome/browser/chromeos/wm_overview_controller.cc

Issue 4694008: Make pink's TabContentsWrapper change compile on Windows.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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 #include "chrome/browser/chromeos/wm_overview_controller.h" 5 #include "chrome/browser/chromeos/wm_overview_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/linked_ptr.h" 10 #include "base/linked_ptr.h"
11 #include "chrome/browser/browser_process.h" 11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/chromeos/wm_ipc.h" 12 #include "chrome/browser/chromeos/wm_ipc.h"
13 #include "chrome/browser/chromeos/wm_overview_fav_icon.h" 13 #include "chrome/browser/chromeos/wm_overview_fav_icon.h"
14 #include "chrome/browser/chromeos/wm_overview_snapshot.h" 14 #include "chrome/browser/chromeos/wm_overview_snapshot.h"
15 #include "chrome/browser/chromeos/wm_overview_title.h" 15 #include "chrome/browser/chromeos/wm_overview_title.h"
16 #include "chrome/browser/renderer_host/render_view_host.h" 16 #include "chrome/browser/renderer_host/render_view_host.h"
17 #include "chrome/browser/renderer_host/render_widget_host.h" 17 #include "chrome/browser/renderer_host/render_widget_host.h"
18 #include "chrome/browser/renderer_host/render_widget_host_view.h" 18 #include "chrome/browser/renderer_host/render_widget_host_view.h"
19 #include "chrome/browser/tab_contents/tab_contents.h" 19 #include "chrome/browser/tab_contents/tab_contents.h"
20 #include "chrome/browser/tab_contents/tab_contents_view.h" 20 #include "chrome/browser/tab_contents/tab_contents_view.h"
21 #include "chrome/browser/tab_contents/thumbnail_generator.h" 21 #include "chrome/browser/tab_contents/thumbnail_generator.h"
22 #include "chrome/browser/tab_contents_wrapper.h"
22 #include "chrome/browser/tabs/tab_strip_model.h" 23 #include "chrome/browser/tabs/tab_strip_model.h"
23 #include "chrome/browser/ui/browser.h" 24 #include "chrome/browser/ui/browser.h"
24 #include "chrome/browser/views/frame/browser_view.h" 25 #include "chrome/browser/views/frame/browser_view.h"
25 #include "chrome/common/notification_service.h" 26 #include "chrome/common/notification_service.h"
26 #include "views/widget/root_view.h" 27 #include "views/widget/root_view.h"
27 #include "views/widget/widget_gtk.h" 28 #include "views/widget/widget_gtk.h"
28 #include "views/window/window.h" 29 #include "views/window/window.h"
29 30
30 using std::vector; 31 using std::vector;
31 32
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 65
65 // The number of additional padding pixels to remove from the title width. 66 // The number of additional padding pixels to remove from the title width.
66 static const int kFavIconPadding = 5; 67 static const int kFavIconPadding = 5;
67 68
68 class BrowserListener : public TabStripModelObserver { 69 class BrowserListener : public TabStripModelObserver {
69 public: 70 public:
70 BrowserListener(Browser* browser, WmOverviewController* parent); 71 BrowserListener(Browser* browser, WmOverviewController* parent);
71 ~BrowserListener(); 72 ~BrowserListener();
72 73
73 // Begin TabStripModelObserver methods 74 // Begin TabStripModelObserver methods
74 virtual void TabInsertedAt(TabContents* contents, 75 virtual void TabInsertedAt(TabContentsWrapper* contents,
75 int index, 76 int index,
76 bool foreground); 77 bool foreground);
77 virtual void TabClosingAt(TabStripModel* tab_strip_model, 78 virtual void TabClosingAt(TabStripModel* tab_strip_model,
78 TabContents* contents, 79 TabContentsWrapper* contents,
79 int index) {} 80 int index) {}
80 virtual void TabDetachedAt(TabContents* contents, int index); 81 virtual void TabDetachedAt(TabContentsWrapper* contents, int index);
81 virtual void TabMoved(TabContents* contents, 82 virtual void TabMoved(TabContentsWrapper* contents,
82 int from_index, 83 int from_index,
83 int to_index); 84 int to_index);
84 virtual void TabChangedAt(TabContents* contents, int index, 85 virtual void TabChangedAt(TabContentsWrapper* contents, int index,
85 TabStripModelObserver::TabChangeType change_type); 86 TabStripModelObserver::TabChangeType change_type);
86 virtual void TabStripEmpty(); 87 virtual void TabStripEmpty();
87 virtual void TabDeselectedAt(TabContents* contents, int index) {} 88 virtual void TabDeselectedAt(TabContentsWrapper* contents, int index) {}
88 virtual void TabSelectedAt(TabContents* old_contents, 89 virtual void TabSelectedAt(TabContentsWrapper* old_contents,
89 TabContents* new_contents, 90 TabContentsWrapper* new_contents,
90 int index, 91 int index,
91 bool user_gesture); 92 bool user_gesture);
92 // End TabStripModelObserver methods 93 // End TabStripModelObserver methods
93 94
94 // Returns the number of tabs in this child. 95 // Returns the number of tabs in this child.
95 int count() const { return browser_->tabstrip_model()->count(); } 96 int count() const { return browser_->tabstrip_model()->count(); }
96 97
97 // Returns the browser that this child gets its data from. 98 // Returns the browser that this child gets its data from.
98 Browser* browser() const { return browser_; } 99 Browser* browser() const { return browser_; }
99 100
(...skipping 20 matching lines...) Expand all
120 void RestoreOriginalSelectedTab(); 121 void RestoreOriginalSelectedTab();
121 122
122 // Selects the tab at the given index. 123 // Selects the tab at the given index.
123 void SelectTab(int index, uint32 timestamp); 124 void SelectTab(int index, uint32 timestamp);
124 125
125 // Shows any snapshots that are not visible. 126 // Shows any snapshots that are not visible.
126 void ShowSnapshots(); 127 void ShowSnapshots();
127 128
128 // Returns the tab contents from the tab model for this child at index. 129 // Returns the tab contents from the tab model for this child at index.
129 TabContents* GetTabContentsAt(int index) const { 130 TabContents* GetTabContentsAt(int index) const {
130 return browser_->tabstrip_model()->GetTabContentsAt(index); 131 return browser_->tabstrip_model()->GetTabContentsAt(index)->tab_contents();
131 } 132 }
132 private: 133 private:
133 // Calculate the size of a cell based on the browser window's size. 134 // Calculate the size of a cell based on the browser window's size.
134 gfx::Size CalculateCellSize(); 135 gfx::Size CalculateCellSize();
135 136
136 // Configures a cell from the tab contents. 137 // Configures a cell from the tab contents.
137 void ConfigureCell(WmOverviewSnapshot* cell, TabContents* contents); 138 void ConfigureCell(WmOverviewSnapshot* cell, TabContents* contents);
138 139
139 // Configures a cell from the model. 140 // Configures a cell from the model.
140 void ConfigureCell(WmOverviewSnapshot* cell, int index) { 141 void ConfigureCell(WmOverviewSnapshot* cell, int index) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 // This browser didn't already exist, and so we haven't been 197 // This browser didn't already exist, and so we haven't been
197 // watching it for tab insertions, so we need to create the 198 // watching it for tab insertions, so we need to create the
198 // snapshots associated with it. 199 // snapshots associated with it.
199 RecreateSnapshots(); 200 RecreateSnapshots();
200 } 201 }
201 202
202 BrowserListener::~BrowserListener() { 203 BrowserListener::~BrowserListener() {
203 browser_->tabstrip_model()->RemoveObserver(this); 204 browser_->tabstrip_model()->RemoveObserver(this);
204 } 205 }
205 206
206 void BrowserListener::TabInsertedAt(TabContents* contents, 207 void BrowserListener::TabInsertedAt(TabContentsWrapper* contents,
207 int index, 208 int index,
208 bool foreground) { 209 bool foreground) {
209 InsertSnapshot(index); 210 InsertSnapshot(index);
210 RenumberSnapshots(index); 211 RenumberSnapshots(index);
211 UpdateSelectedIndex(browser_->selected_index()); 212 UpdateSelectedIndex(browser_->selected_index());
212 } 213 }
213 214
214 void BrowserListener::TabDetachedAt(TabContents* contents, int index) { 215 void BrowserListener::TabDetachedAt(TabContentsWrapper* contents, int index) {
215 ClearSnapshot(index); 216 ClearSnapshot(index);
216 UpdateSelectedIndex(browser_->selected_index()); 217 UpdateSelectedIndex(browser_->selected_index());
217 RenumberSnapshots(index); 218 RenumberSnapshots(index);
218 } 219 }
219 220
220 void BrowserListener::TabMoved(TabContents* contents, 221 void BrowserListener::TabMoved(TabContentsWrapper* contents,
221 int from_index, 222 int from_index,
222 int to_index) { 223 int to_index) {
223 // Need to reorder tab in the snapshots list, and reset the window 224 // Need to reorder tab in the snapshots list, and reset the window
224 // type atom on the affected snapshots (the one moved, and all the 225 // type atom on the affected snapshots (the one moved, and all the
225 // ones after it), so that their indices are correct. 226 // ones after it), so that their indices are correct.
226 SnapshotNode node = snapshots_[from_index]; 227 SnapshotNode node = snapshots_[from_index];
227 snapshots_.erase(snapshots_.begin() + from_index); 228 snapshots_.erase(snapshots_.begin() + from_index);
228 snapshots_.insert(snapshots_.begin() + to_index, node); 229 snapshots_.insert(snapshots_.begin() + to_index, node);
229 230
230 RenumberSnapshots(std::min(to_index, from_index)); 231 RenumberSnapshots(std::min(to_index, from_index));
231 UpdateSelectedIndex(browser_->selected_index()); 232 UpdateSelectedIndex(browser_->selected_index());
232 } 233 }
233 234
234 void BrowserListener::TabChangedAt( 235 void BrowserListener::TabChangedAt(
235 TabContents* contents, 236 TabContentsWrapper* contents,
236 int index, 237 int index,
237 TabStripModelObserver::TabChangeType change_type) { 238 TabStripModelObserver::TabChangeType change_type) {
238 if (change_type != TabStripModelObserver::LOADING_ONLY) { 239 if (change_type != TabStripModelObserver::LOADING_ONLY) {
239 snapshots_[index].title->SetTitle(contents->GetTitle()); 240 snapshots_[index].title->SetTitle(contents->tab_contents()->GetTitle());
240 snapshots_[index].title->SetUrl(contents->GetURL()); 241 snapshots_[index].title->SetUrl(contents->tab_contents()->GetURL());
241 snapshots_[index].fav_icon->SetFavIcon(contents->GetFavIcon()); 242 snapshots_[index].fav_icon->SetFavIcon(
243 contents->tab_contents()->GetFavIcon());
242 if (change_type != TabStripModelObserver::TITLE_NOT_LOADING) 244 if (change_type != TabStripModelObserver::TITLE_NOT_LOADING)
243 ReloadSnapshot(index); 245 ReloadSnapshot(index);
244 } 246 }
245 } 247 }
246 248
247 void BrowserListener::TabStripEmpty() { 249 void BrowserListener::TabStripEmpty() {
248 snapshots_.clear(); 250 snapshots_.clear();
249 } 251 }
250 252
251 void BrowserListener::TabSelectedAt(TabContents* old_contents, 253 void BrowserListener::TabSelectedAt(TabContentsWrapper* old_contents,
252 TabContents* new_contents, 254 TabContentsWrapper* new_contents,
253 int index, 255 int index,
254 bool user_gesture) { 256 bool user_gesture) {
255 UpdateSelectedIndex(index); 257 UpdateSelectedIndex(index);
256 } 258 }
257 259
258 void BrowserListener::ReloadSnapshot(int index) { 260 void BrowserListener::ReloadSnapshot(int index) {
259 snapshots_[index].snapshot->reload_snapshot(); 261 snapshots_[index].snapshot->reload_snapshot();
260 controller_->StartDelayTimer(); 262 controller_->StartDelayTimer();
261 } 263 }
262 264
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 if (item.get() == NULL) { 674 if (item.get() == NULL) {
673 item = BrowserListenerVector::value_type( 675 item = BrowserListenerVector::value_type(
674 new BrowserListener(*iterator, this)); 676 new BrowserListener(*iterator, this));
675 } 677 }
676 listeners_.push_back(item); 678 listeners_.push_back(item);
677 ++iterator; 679 ++iterator;
678 } 680 }
679 } 681 }
680 682
681 } // namespace chromeos 683 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698