Chromium Code Reviews| 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/frame/opaque_browser_frame_view.h" | 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 634 ui::ThemeProvider* tp = GetThemeProvider(); | 634 ui::ThemeProvider* tp = GetThemeProvider(); |
| 635 frame_background_->set_frame_color(GetFrameColor()); | 635 frame_background_->set_frame_color(GetFrameColor()); |
| 636 frame_background_->set_theme_image(GetFrameImage()); | 636 frame_background_->set_theme_image(GetFrameImage()); |
| 637 frame_background_->set_theme_overlay_image(GetFrameOverlayImage()); | 637 frame_background_->set_theme_overlay_image(GetFrameOverlayImage()); |
| 638 frame_background_->set_top_area_height(GetTopAreaHeight()); | 638 frame_background_->set_top_area_height(GetTopAreaHeight()); |
| 639 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 639 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
| 640 // The window manager typically shows a gradient in the native title bar (when | 640 // The window manager typically shows a gradient in the native title bar (when |
| 641 // the system title bar pref is set, or when maximized on Ubuntu). Hide the | 641 // the system title bar pref is set, or when maximized on Ubuntu). Hide the |
| 642 // gradient in the tab strip (by shifting it up vertically) to avoid a | 642 // gradient in the tab strip (by shifting it up vertically) to avoid a |
| 643 // double-gradient effect. | 643 // double-gradient effect. |
| 644 if (tp->UsingNativeTheme()) | 644 if (tp->UsingSystemTheme()) |
| 645 frame_background_->set_maximized_top_inset(kGTKThemeCondensedFrameTopInset); | 645 frame_background_->set_maximized_top_inset(kGTKThemeCondensedFrameTopInset); |
| 646 #endif | 646 #endif |
| 647 | 647 |
| 648 frame_background_->PaintMaximized(canvas, this); | 648 frame_background_->PaintMaximized(canvas, this); |
| 649 | 649 |
| 650 // TODO(jamescook): Migrate this into FrameBackground. | 650 // TODO(jamescook): Migrate this into FrameBackground. |
| 651 if (!browser_view()->IsToolbarVisible()) { | 651 if (!browser_view()->IsToolbarVisible()) { |
| 652 // There's no toolbar to edge the frame border, so we need to draw a bottom | 652 // There's no toolbar to edge the frame border, so we need to draw a bottom |
| 653 // edge. The graphic we use for this has a built in client edge, so we clip | 653 // edge. The graphic we use for this has a built in client edge, so we clip |
| 654 // it off the bottom. | 654 // it off the bottom. |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 857 color_id = is_incognito ? | 857 color_id = is_incognito ? |
| 858 ThemeProperties::COLOR_FRAME_INCOGNITO : | 858 ThemeProperties::COLOR_FRAME_INCOGNITO : |
| 859 ThemeProperties::COLOR_FRAME; | 859 ThemeProperties::COLOR_FRAME; |
| 860 } else { | 860 } else { |
| 861 color_id = is_incognito ? | 861 color_id = is_incognito ? |
| 862 ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE : | 862 ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE : |
| 863 ThemeProperties::COLOR_FRAME_INACTIVE; | 863 ThemeProperties::COLOR_FRAME_INACTIVE; |
| 864 } | 864 } |
| 865 | 865 |
| 866 if (browser_view()->IsBrowserTypeNormal() || | 866 if (browser_view()->IsBrowserTypeNormal() || |
| 867 platform_observer_->IsUsingNativeTheme()) { | 867 platform_observer_->IsUsingSystemTheme()) { |
| 868 return GetThemeProvider()->GetColor(color_id); | 868 return GetThemeProvider()->GetColor(color_id); |
| 869 } | 869 } |
| 870 | 870 |
| 871 // Never theme app and popup windows unless the |platform_observer_| | 871 // Never theme app and popup windows unless the |platform_observer_| |
| 872 // requested an override. | 872 // requested an override. |
| 873 return ThemeProperties::GetDefaultColor(color_id); | 873 return ThemeProperties::GetDefaultColor(color_id); |
| 874 } | 874 } |
| 875 | 875 |
| 876 gfx::ImageSkia* OpaqueBrowserFrameView::GetFrameImage() const { | 876 gfx::ImageSkia* OpaqueBrowserFrameView::GetFrameImage() const { |
| 877 bool is_incognito = browser_view()->IsOffTheRecord(); | 877 bool is_incognito = browser_view()->IsOffTheRecord(); |
| 878 int resource_id; | 878 int resource_id; |
| 879 if (browser_view()->IsBrowserTypeNormal()) { | 879 if (browser_view()->IsBrowserTypeNormal()) { |
| 880 if (ShouldPaintAsActive()) { | 880 if (ShouldPaintAsActive()) { |
| 881 resource_id = is_incognito ? | 881 resource_id = is_incognito ? |
| 882 IDR_THEME_FRAME_INCOGNITO : IDR_THEME_FRAME; | 882 IDR_THEME_FRAME_INCOGNITO : IDR_THEME_FRAME; |
| 883 } else { | 883 } else { |
| 884 resource_id = is_incognito ? | 884 resource_id = is_incognito ? |
| 885 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; | 885 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; |
| 886 } | 886 } |
| 887 return GetThemeProvider()->GetImageSkiaNamed(resource_id); | 887 return GetThemeProvider()->GetImageSkiaNamed(resource_id); |
| 888 } | 888 } |
| 889 if (ShouldPaintAsActive()) { | 889 if (ShouldPaintAsActive()) { |
| 890 resource_id = is_incognito ? | 890 resource_id = is_incognito ? |
| 891 IDR_THEME_FRAME_INCOGNITO : IDR_FRAME; | 891 IDR_THEME_FRAME_INCOGNITO : IDR_FRAME; |
| 892 } else { | 892 } else { |
| 893 resource_id = is_incognito ? | 893 resource_id = is_incognito ? |
| 894 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; | 894 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; |
| 895 } | 895 } |
| 896 | 896 |
| 897 if (platform_observer_->IsUsingNativeTheme()) { | 897 if (platform_observer_->IsUsingSystemTheme()) { |
| 898 // We want to use theme images provided by the platform theme when enabled, | 898 // We want to use theme images provided by the platform theme when enabled, |
|
msw
2014/04/25 23:28:37
nit: s/platform/system/
Evan Stade
2014/05/07 00:50:38
Done.
| |
| 899 // even if we are an app or popup window. | 899 // even if we are an app or popup window. |
| 900 return GetThemeProvider()->GetImageSkiaNamed(resource_id); | 900 return GetThemeProvider()->GetImageSkiaNamed(resource_id); |
| 901 } | 901 } |
| 902 | 902 |
| 903 // Otherwise, never theme app and popup windows. | 903 // Otherwise, never theme app and popup windows. |
| 904 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 904 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 905 return rb.GetImageSkiaNamed(chrome::MapThemeImage( | 905 return rb.GetImageSkiaNamed(chrome::MapThemeImage( |
| 906 chrome::GetHostDesktopTypeForNativeWindow( | 906 chrome::GetHostDesktopTypeForNativeWindow( |
| 907 browser_view()->GetNativeWindow()), | 907 browser_view()->GetNativeWindow()), |
| 908 resource_id)); | 908 resource_id)); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 921 | 921 |
| 922 int OpaqueBrowserFrameView::GetTopAreaHeight() const { | 922 int OpaqueBrowserFrameView::GetTopAreaHeight() const { |
| 923 gfx::ImageSkia* frame_image = GetFrameImage(); | 923 gfx::ImageSkia* frame_image = GetFrameImage(); |
| 924 int top_area_height = frame_image->height(); | 924 int top_area_height = frame_image->height(); |
| 925 if (browser_view()->IsTabStripVisible()) { | 925 if (browser_view()->IsTabStripVisible()) { |
| 926 top_area_height = std::max(top_area_height, | 926 top_area_height = std::max(top_area_height, |
| 927 GetBoundsForTabStrip(browser_view()->tabstrip()).bottom()); | 927 GetBoundsForTabStrip(browser_view()->tabstrip()).bottom()); |
| 928 } | 928 } |
| 929 return top_area_height; | 929 return top_area_height; |
| 930 } | 930 } |
| OLD | NEW |