Index: chrome/browser/views/tabs/browser_tab_strip_controller.cc |
=================================================================== |
--- chrome/browser/views/tabs/browser_tab_strip_controller.cc (revision 54528) |
+++ chrome/browser/views/tabs/browser_tab_strip_controller.cc (working copy) |
@@ -112,9 +112,11 @@ |
//////////////////////////////////////////////////////////////////////////////// |
// BrowserTabStripController, public: |
-BrowserTabStripController::BrowserTabStripController(TabStripModel* model) |
+BrowserTabStripController::BrowserTabStripController(Browser* browser, |
+ TabStripModel* model) |
: model_(model), |
- tabstrip_(NULL) { |
+ tabstrip_(NULL), |
+ browser_(browser) { |
model_->AddObserver(this); |
notification_registrar_.Add(this, |
@@ -269,14 +271,9 @@ |
UserMetrics::RecordAction(UserMetricsAction("NewTab_Button"), |
model_->profile()); |
- TabContents* selected_tab = model_->GetSelectedTabContents(); |
- if (!selected_tab) |
+ if (browser_ && browser_->OpenAppsPanelAsNewTab()) |
return; |
- Browser* browser = selected_tab->delegate()->GetBrowser(); |
- if (browser->OpenAppsPanelAsNewTab()) |
- return; |
- |
model_->delegate()->AddBlankTab(true); |
} |
@@ -368,7 +365,13 @@ |
TabContents* contents, |
int model_index, |
TabRendererData* data) { |
- SkBitmap* app_icon = contents->GetExtensionAppIcon(); |
+ SkBitmap* app_icon = NULL; |
+ |
+ // Extension App icons are slightly larger than favicons, so only allow |
+ // them if permitted by the model. |
+ if (model_->delegate()->LargeIconsPermitted()) |
+ app_icon = contents->GetExtensionAppIcon(); |
+ |
if (app_icon) |
data->favicon = *app_icon; |
else |