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 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 } | 435 } |
436 | 436 |
437 void BrowserTabStripController::TabBlockedStateChanged(TabContents* contents, | 437 void BrowserTabStripController::TabBlockedStateChanged(TabContents* contents, |
438 int model_index) { | 438 int model_index) { |
439 SetTabDataAt(contents->web_contents(), model_index); | 439 SetTabDataAt(contents->web_contents(), model_index); |
440 } | 440 } |
441 | 441 |
442 //////////////////////////////////////////////////////////////////////////////// | 442 //////////////////////////////////////////////////////////////////////////////// |
443 // BrowserTabStripController, content::NotificationObserver implementation: | 443 // BrowserTabStripController, content::NotificationObserver implementation: |
444 | 444 |
445 void BrowserTabStripController::Observe(int type, | 445 void BrowserTabStripController::OnPreferenceChanged( |
446 const content::NotificationSource& source, | 446 PrefServiceBase* service, |
447 const content::NotificationDetails& details) { | 447 const std::string& pref_name) { |
448 switch (type) { | 448 if (pref_name == prefs::kTabStripLayoutType) { |
449 case chrome::NOTIFICATION_PREF_CHANGED: | 449 UpdateLayoutType(); |
450 if (*content::Details<std::string>(details).ptr() == | |
451 prefs::kTabStripLayoutType) { | |
452 UpdateLayoutType(); | |
453 } | |
454 break; | |
455 | |
456 default: | |
457 NOTREACHED(); | |
458 break; | |
459 } | 450 } |
460 } | 451 } |
461 | 452 |
462 void BrowserTabStripController::SetTabRendererDataFromModel( | 453 void BrowserTabStripController::SetTabRendererDataFromModel( |
463 WebContents* contents, | 454 WebContents* contents, |
464 int model_index, | 455 int model_index, |
465 TabRendererData* data, | 456 TabRendererData* data, |
466 TabStatus tab_status) { | 457 TabStatus tab_status) { |
467 FaviconTabHelper* favicon_tab_helper = | 458 FaviconTabHelper* favicon_tab_helper = |
468 FaviconTabHelper::FromWebContents(contents); | 459 FaviconTabHelper::FromWebContents(contents); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
530 SetTabRendererDataFromModel(contents->web_contents(), index, &data, NEW_TAB); | 521 SetTabRendererDataFromModel(contents->web_contents(), index, &data, NEW_TAB); |
531 tabstrip_->AddTabAt(index, data, is_active); | 522 tabstrip_->AddTabAt(index, data, is_active); |
532 } | 523 } |
533 | 524 |
534 void BrowserTabStripController::UpdateLayoutType() { | 525 void BrowserTabStripController::UpdateLayoutType() { |
535 bool adjust_layout = false; | 526 bool adjust_layout = false; |
536 TabStripLayoutType layout_type = | 527 TabStripLayoutType layout_type = |
537 DetermineTabStripLayout(g_browser_process->local_state(), &adjust_layout); | 528 DetermineTabStripLayout(g_browser_process->local_state(), &adjust_layout); |
538 tabstrip_->SetLayoutType(layout_type, adjust_layout); | 529 tabstrip_->SetLayoutType(layout_type, adjust_layout); |
539 } | 530 } |
OLD | NEW |