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

Side by Side Diff: chrome/browser/views/tabs/browser_tab_strip_controller.cc

Issue 2941001: Removal of TabContentsDelegate::GetBrowser() interface method. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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
« no previous file with comments | « chrome/browser/views/tabs/browser_tab_strip_controller.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/views/tabs/browser_tab_strip_controller.h" 5 #include "chrome/browser/views/tabs/browser_tab_strip_controller.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "chrome/browser/browser.h" 9 #include "chrome/browser/browser.h"
10 #include "chrome/browser/profile.h" 10 #include "chrome/browser/profile.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 // The last command that was selected, so that we can start/stop highlighting 105 // The last command that was selected, so that we can start/stop highlighting
106 // appropriately as the user moves through the menu. 106 // appropriately as the user moves through the menu.
107 TabStripModel::ContextMenuCommand last_command_; 107 TabStripModel::ContextMenuCommand last_command_;
108 108
109 DISALLOW_COPY_AND_ASSIGN(TabContextMenuContents); 109 DISALLOW_COPY_AND_ASSIGN(TabContextMenuContents);
110 }; 110 };
111 111
112 //////////////////////////////////////////////////////////////////////////////// 112 ////////////////////////////////////////////////////////////////////////////////
113 // BrowserTabStripController, public: 113 // BrowserTabStripController, public:
114 114
115 BrowserTabStripController::BrowserTabStripController(TabStripModel* model) 115 BrowserTabStripController::BrowserTabStripController(Browser* browser,
116 TabStripModel* model)
116 : model_(model), 117 : model_(model),
117 tabstrip_(NULL) { 118 tabstrip_(NULL),
119 browser_(browser) {
118 model_->AddObserver(this); 120 model_->AddObserver(this);
119 121
120 notification_registrar_.Add(this, 122 notification_registrar_.Add(this,
121 NotificationType::TAB_CLOSEABLE_STATE_CHANGED, 123 NotificationType::TAB_CLOSEABLE_STATE_CHANGED,
122 NotificationService::AllSources()); 124 NotificationService::AllSources());
123 } 125 }
124 126
125 BrowserTabStripController::~BrowserTabStripController() { 127 BrowserTabStripController::~BrowserTabStripController() {
126 // When we get here the TabStrip is being deleted. We need to explicitly 128 // When we get here the TabStrip is being deleted. We need to explicitly
127 // cancel the menu, otherwise it may try to invoke something on the tabstrip 129 // cancel the menu, otherwise it may try to invoke something on the tabstrip
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 bool BrowserTabStripController::IsCompatibleWith(BaseTabStrip* other) const { 264 bool BrowserTabStripController::IsCompatibleWith(BaseTabStrip* other) const {
263 Profile* other_profile = 265 Profile* other_profile =
264 static_cast<BrowserTabStripController*>(other->controller())->profile(); 266 static_cast<BrowserTabStripController*>(other->controller())->profile();
265 return other_profile == profile(); 267 return other_profile == profile();
266 } 268 }
267 269
268 void BrowserTabStripController::CreateNewTab() { 270 void BrowserTabStripController::CreateNewTab() {
269 UserMetrics::RecordAction(UserMetricsAction("NewTab_Button"), 271 UserMetrics::RecordAction(UserMetricsAction("NewTab_Button"),
270 model_->profile()); 272 model_->profile());
271 273
272 TabContents* selected_tab = model_->GetSelectedTabContents(); 274 if (browser_ && browser_->OpenAppsPanelAsNewTab())
273 if (!selected_tab)
274 return;
275
276 Browser* browser = selected_tab->delegate()->GetBrowser();
277 if (browser->OpenAppsPanelAsNewTab())
278 return; 275 return;
279 276
280 model_->delegate()->AddBlankTab(true); 277 model_->delegate()->AddBlankTab(true);
281 } 278 }
282 279
283 //////////////////////////////////////////////////////////////////////////////// 280 ////////////////////////////////////////////////////////////////////////////////
284 // BrowserTabStripController, TabStripModelObserver implementation: 281 // BrowserTabStripController, TabStripModelObserver implementation:
285 282
286 void BrowserTabStripController::TabInsertedAt(TabContents* contents, 283 void BrowserTabStripController::TabInsertedAt(TabContents* contents,
287 int model_index, 284 int model_index,
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 int model_index) { 358 int model_index) {
362 TabRendererData data; 359 TabRendererData data;
363 SetTabRendererDataFromModel(contents, model_index, &data); 360 SetTabRendererDataFromModel(contents, model_index, &data);
364 tabstrip_->SetTabData(model_index, data); 361 tabstrip_->SetTabData(model_index, data);
365 } 362 }
366 363
367 void BrowserTabStripController::SetTabRendererDataFromModel( 364 void BrowserTabStripController::SetTabRendererDataFromModel(
368 TabContents* contents, 365 TabContents* contents,
369 int model_index, 366 int model_index,
370 TabRendererData* data) { 367 TabRendererData* data) {
371 SkBitmap* app_icon = contents->GetExtensionAppIcon(); 368 SkBitmap* app_icon = NULL;
369
370 // Extension App icons are slightly larger than favicons, so only allow
371 // them if permitted by the model.
372 if (model_->delegate()->LargeIconsPermitted())
373 app_icon = contents->GetExtensionAppIcon();
374
372 if (app_icon) 375 if (app_icon)
373 data->favicon = *app_icon; 376 data->favicon = *app_icon;
374 else 377 else
375 data->favicon = contents->GetFavIcon(); 378 data->favicon = contents->GetFavIcon();
376 data->network_state = TabContentsNetworkState(contents); 379 data->network_state = TabContentsNetworkState(contents);
377 data->title = contents->GetTitle(); 380 data->title = contents->GetTitle();
378 data->loading = contents->is_loading(); 381 data->loading = contents->is_loading();
379 data->crashed = contents->is_crashed(); 382 data->crashed = contents->is_crashed();
380 data->off_the_record = contents->profile()->IsOffTheRecord(); 383 data->off_the_record = contents->profile()->IsOffTheRecord();
381 data->show_icon = contents->ShouldDisplayFavIcon(); 384 data->show_icon = contents->ShouldDisplayFavIcon();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 DCHECK(type.value == NotificationType::TAB_CLOSEABLE_STATE_CHANGED); 423 DCHECK(type.value == NotificationType::TAB_CLOSEABLE_STATE_CHANGED);
421 // Note that this notification may be fired during a model mutation and 424 // Note that this notification may be fired during a model mutation and
422 // possibly before the tabstrip has processed the change. 425 // possibly before the tabstrip has processed the change.
423 // Here, we just re-layout each existing tab to reflect the change in its 426 // Here, we just re-layout each existing tab to reflect the change in its
424 // closeable state, and then schedule paint for entire tabstrip. 427 // closeable state, and then schedule paint for entire tabstrip.
425 for (int i = 0; i < tabstrip_->tab_count(); ++i) { 428 for (int i = 0; i < tabstrip_->tab_count(); ++i) {
426 tabstrip_->base_tab_at_tab_index(i)->Layout(); 429 tabstrip_->base_tab_at_tab_index(i)->Layout();
427 } 430 }
428 tabstrip_->SchedulePaint(); 431 tabstrip_->SchedulePaint();
429 } 432 }
OLDNEW
« no previous file with comments | « chrome/browser/views/tabs/browser_tab_strip_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698