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

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

Issue 11348165: Remove PrefObserver usages, batch 10. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android Created 8 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) 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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698