OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/toolbar/toolbar_view.h" | 5 #include "chrome/browser/ui/views/toolbar/toolbar_view.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/i18n/number_formatting.h" | 9 #include "base/i18n/number_formatting.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 browser_actions_->GetPreferredSize().width() + | 507 browser_actions_->GetPreferredSize().width() + |
508 app_menu_->GetPreferredSize().width() + kRightEdgeSpacing, | 508 app_menu_->GetPreferredSize().width() + kRightEdgeSpacing, |
509 0); | 509 0); |
510 gfx::ImageSkia* normal_background = | 510 gfx::ImageSkia* normal_background = |
511 GetThemeProvider()->GetImageSkiaNamed(IDR_CONTENT_TOP_CENTER); | 511 GetThemeProvider()->GetImageSkiaNamed(IDR_CONTENT_TOP_CENTER); |
512 size.SetToMax( | 512 size.SetToMax( |
513 gfx::Size(0, normal_background->height() - content_shadow_height())); | 513 gfx::Size(0, normal_background->height() - content_shadow_height())); |
514 } else { | 514 } else { |
515 const int kPopupBottomSpacingGlass = 1; | 515 const int kPopupBottomSpacingGlass = 1; |
516 const int kPopupBottomSpacingNonGlass = 2; | 516 const int kPopupBottomSpacingNonGlass = 2; |
517 size.Enlarge( | 517 size.Enlarge(0, |
518 0, | 518 PopupTopSpacing() + (UsingWindowsGlass() |
519 PopupTopSpacing() + (GetWidget()->ShouldUseNativeFrame() ? | 519 ? kPopupBottomSpacingGlass |
520 kPopupBottomSpacingGlass : kPopupBottomSpacingNonGlass)); | 520 : kPopupBottomSpacingNonGlass)); |
521 } | 521 } |
522 return size; | 522 return size; |
523 } | 523 } |
524 | 524 |
525 void ToolbarView::Layout() { | 525 void ToolbarView::Layout() { |
526 // If we have not been initialized yet just do nothing. | 526 // If we have not been initialized yet just do nothing. |
527 if (back_ == NULL) | 527 if (back_ == NULL) |
528 return; | 528 return; |
529 | 529 |
530 if (!is_display_mode_normal()) { | 530 if (!is_display_mode_normal()) { |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 void ToolbarView::OnPaint(gfx::Canvas* canvas) { | 649 void ToolbarView::OnPaint(gfx::Canvas* canvas) { |
650 View::OnPaint(canvas); | 650 View::OnPaint(canvas); |
651 | 651 |
652 if (is_display_mode_normal()) | 652 if (is_display_mode_normal()) |
653 return; | 653 return; |
654 | 654 |
655 // For glass, we need to draw a black line below the location bar to separate | 655 // For glass, we need to draw a black line below the location bar to separate |
656 // it from the content area. For non-glass, the NonClientView draws the | 656 // it from the content area. For non-glass, the NonClientView draws the |
657 // toolbar background below the location bar for us. | 657 // toolbar background below the location bar for us. |
658 // NOTE: Keep this in sync with BrowserView::GetInfoBarSeparatorColor()! | 658 // NOTE: Keep this in sync with BrowserView::GetInfoBarSeparatorColor()! |
659 if (GetWidget()->ShouldUseNativeFrame()) | 659 if (UsingWindowsGlass()) |
660 canvas->FillRect(gfx::Rect(0, height() - 1, width(), 1), SK_ColorBLACK); | 660 canvas->FillRect(gfx::Rect(0, height() - 1, width(), 1), SK_ColorBLACK); |
661 } | 661 } |
662 | 662 |
663 void ToolbarView::OnThemeChanged() { | 663 void ToolbarView::OnThemeChanged() { |
664 LoadImages(); | 664 LoadImages(); |
665 } | 665 } |
666 | 666 |
667 const char* ToolbarView::GetClassName() const { | 667 const char* ToolbarView::GetClassName() const { |
668 return kViewClassName; | 668 return kViewClassName; |
669 } | 669 } |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 EnumerateModulesModel* loaded_modules = EnumerateModulesModel::GetInstance(); | 725 EnumerateModulesModel* loaded_modules = EnumerateModulesModel::GetInstance(); |
726 loaded_modules->MaybePostScanningTask(); | 726 loaded_modules->MaybePostScanningTask(); |
727 return loaded_modules->ShouldShowConflictWarning(); | 727 return loaded_modules->ShouldShowConflictWarning(); |
728 #else | 728 #else |
729 return false; | 729 return false; |
730 #endif | 730 #endif |
731 } | 731 } |
732 | 732 |
733 int ToolbarView::PopupTopSpacing() const { | 733 int ToolbarView::PopupTopSpacing() const { |
734 const int kPopupTopSpacingNonGlass = 3; | 734 const int kPopupTopSpacingNonGlass = 3; |
735 return GetWidget()->ShouldUseNativeFrame() ? 0 : kPopupTopSpacingNonGlass; | 735 return UsingWindowsGlass() ? 0 : kPopupTopSpacingNonGlass; |
| 736 } |
| 737 |
| 738 bool ToolbarView::UsingWindowsGlass() const { |
| 739 #if defined(OS_WIN) |
| 740 return GetWidget()->ShouldUseNativeFrame(); |
| 741 #endif |
| 742 return false; |
736 } | 743 } |
737 | 744 |
738 void ToolbarView::LoadImages() { | 745 void ToolbarView::LoadImages() { |
739 ui::ThemeProvider* tp = GetThemeProvider(); | 746 ui::ThemeProvider* tp = GetThemeProvider(); |
740 | 747 |
741 back_->SetImage(views::Button::STATE_NORMAL, | 748 back_->SetImage(views::Button::STATE_NORMAL, |
742 *(tp->GetImageSkiaNamed(IDR_BACK))); | 749 *(tp->GetImageSkiaNamed(IDR_BACK))); |
743 back_->SetImage(views::Button::STATE_DISABLED, | 750 back_->SetImage(views::Button::STATE_DISABLED, |
744 *(tp->GetImageSkiaNamed(IDR_BACK_D))); | 751 *(tp->GetImageSkiaNamed(IDR_BACK_D))); |
745 | 752 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 | 833 |
827 void ToolbarView::OnShowHomeButtonChanged() { | 834 void ToolbarView::OnShowHomeButtonChanged() { |
828 Layout(); | 835 Layout(); |
829 SchedulePaint(); | 836 SchedulePaint(); |
830 } | 837 } |
831 | 838 |
832 int ToolbarView::content_shadow_height() const { | 839 int ToolbarView::content_shadow_height() const { |
833 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ? | 840 return browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH ? |
834 kContentShadowHeightAsh : kContentShadowHeight; | 841 kContentShadowHeightAsh : kContentShadowHeight; |
835 } | 842 } |
OLD | NEW |