| OLD | NEW | 
|    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2012 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/ui/views/tabs/browser_tab_strip_controller.h" |    5 #include "chrome/browser/ui/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_process.h" |    9 #include "chrome/browser/browser_process.h" | 
|   10 #include "chrome/browser/extensions/tab_helper.h" |   10 #include "chrome/browser/extensions/tab_helper.h" | 
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  170  |  170  | 
|  171 BrowserTabStripController::BrowserTabStripController(Browser* browser, |  171 BrowserTabStripController::BrowserTabStripController(Browser* browser, | 
|  172                                                      TabStripModel* model) |  172                                                      TabStripModel* model) | 
|  173     : model_(model), |  173     : model_(model), | 
|  174       tabstrip_(NULL), |  174       tabstrip_(NULL), | 
|  175       browser_(browser), |  175       browser_(browser), | 
|  176       hover_tab_selector_(model) { |  176       hover_tab_selector_(model) { | 
|  177   model_->AddObserver(this); |  177   model_->AddObserver(this); | 
|  178  |  178  | 
|  179   local_pref_registrar_.Init(g_browser_process->local_state()); |  179   local_pref_registrar_.Init(g_browser_process->local_state()); | 
|  180   local_pref_registrar_.Add(prefs::kTabStripLayoutType, this); |  180   local_pref_registrar_.Add( | 
 |  181       prefs::kTabStripLayoutType, | 
 |  182       base::Bind(&BrowserTabStripController::UpdateLayoutType, | 
 |  183                  base::Unretained(this))); | 
|  181 } |  184 } | 
|  182  |  185  | 
|  183 BrowserTabStripController::~BrowserTabStripController() { |  186 BrowserTabStripController::~BrowserTabStripController() { | 
|  184   // When we get here the TabStrip is being deleted. We need to explicitly |  187   // When we get here the TabStrip is being deleted. We need to explicitly | 
|  185   // cancel the menu, otherwise it may try to invoke something on the tabstrip |  188   // cancel the menu, otherwise it may try to invoke something on the tabstrip | 
|  186   // from its destructor. |  189   // from its destructor. | 
|  187   if (context_menu_contents_.get()) |  190   if (context_menu_contents_.get()) | 
|  188     context_menu_contents_->Cancel(); |  191     context_menu_contents_->Cancel(); | 
|  189  |  192  | 
|  190   model_->RemoveObserver(this); |  193   model_->RemoveObserver(this); | 
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  425 void BrowserTabStripController::TabMiniStateChanged(WebContents* contents, |  428 void BrowserTabStripController::TabMiniStateChanged(WebContents* contents, | 
|  426                                                     int model_index) { |  429                                                     int model_index) { | 
|  427   SetTabDataAt(contents, model_index); |  430   SetTabDataAt(contents, model_index); | 
|  428 } |  431 } | 
|  429  |  432  | 
|  430 void BrowserTabStripController::TabBlockedStateChanged(WebContents* contents, |  433 void BrowserTabStripController::TabBlockedStateChanged(WebContents* contents, | 
|  431                                                        int model_index) { |  434                                                        int model_index) { | 
|  432   SetTabDataAt(contents, model_index); |  435   SetTabDataAt(contents, model_index); | 
|  433 } |  436 } | 
|  434  |  437  | 
|  435 //////////////////////////////////////////////////////////////////////////////// |  | 
|  436 // BrowserTabStripController, content::NotificationObserver implementation: |  | 
|  437  |  | 
|  438 void BrowserTabStripController::OnPreferenceChanged( |  | 
|  439     PrefServiceBase* service, |  | 
|  440     const std::string& pref_name) { |  | 
|  441   if (pref_name == prefs::kTabStripLayoutType) { |  | 
|  442     UpdateLayoutType(); |  | 
|  443   } |  | 
|  444 } |  | 
|  445  |  | 
|  446 void BrowserTabStripController::SetTabRendererDataFromModel( |  438 void BrowserTabStripController::SetTabRendererDataFromModel( | 
|  447     WebContents* contents, |  439     WebContents* contents, | 
|  448     int model_index, |  440     int model_index, | 
|  449     TabRendererData* data, |  441     TabRendererData* data, | 
|  450     TabStatus tab_status) { |  442     TabStatus tab_status) { | 
|  451   FaviconTabHelper* favicon_tab_helper = |  443   FaviconTabHelper* favicon_tab_helper = | 
|  452       FaviconTabHelper::FromWebContents(contents); |  444       FaviconTabHelper::FromWebContents(contents); | 
|  453  |  445  | 
|  454   data->favicon = favicon_tab_helper->GetFavicon().AsImageSkia(); |  446   data->favicon = favicon_tab_helper->GetFavicon().AsImageSkia(); | 
|  455   data->network_state = TabContentsNetworkState(contents); |  447   data->network_state = TabContentsNetworkState(contents); | 
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  514   SetTabRendererDataFromModel(contents, index, &data, NEW_TAB); |  506   SetTabRendererDataFromModel(contents, index, &data, NEW_TAB); | 
|  515   tabstrip_->AddTabAt(index, data, is_active); |  507   tabstrip_->AddTabAt(index, data, is_active); | 
|  516 } |  508 } | 
|  517  |  509  | 
|  518 void BrowserTabStripController::UpdateLayoutType() { |  510 void BrowserTabStripController::UpdateLayoutType() { | 
|  519   bool adjust_layout = false; |  511   bool adjust_layout = false; | 
|  520   TabStripLayoutType layout_type = |  512   TabStripLayoutType layout_type = | 
|  521       DetermineTabStripLayout(g_browser_process->local_state(), &adjust_layout); |  513       DetermineTabStripLayout(g_browser_process->local_state(), &adjust_layout); | 
|  522   tabstrip_->SetLayoutType(layout_type, adjust_layout); |  514   tabstrip_->SetLayoutType(layout_type, adjust_layout); | 
|  523 } |  515 } | 
| OLD | NEW |