| 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 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 ui::ThemeProvider* tp = GetThemeProvider(); | 640 ui::ThemeProvider* tp = GetThemeProvider(); |
| 641 frame_background_->set_frame_color(GetFrameColor()); | 641 frame_background_->set_frame_color(GetFrameColor()); |
| 642 frame_background_->set_theme_image(GetFrameImage()); | 642 frame_background_->set_theme_image(GetFrameImage()); |
| 643 frame_background_->set_theme_overlay_image(GetFrameOverlayImage()); | 643 frame_background_->set_theme_overlay_image(GetFrameOverlayImage()); |
| 644 frame_background_->set_top_area_height(GetTopAreaHeight()); | 644 frame_background_->set_top_area_height(GetTopAreaHeight()); |
| 645 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) | 645 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
| 646 // The window manager typically shows a gradient in the native title bar (when | 646 // The window manager typically shows a gradient in the native title bar (when |
| 647 // the system title bar pref is set, or when maximized on Ubuntu). Hide the | 647 // the system title bar pref is set, or when maximized on Ubuntu). Hide the |
| 648 // gradient in the tab strip (by shifting it up vertically) to avoid a | 648 // gradient in the tab strip (by shifting it up vertically) to avoid a |
| 649 // double-gradient effect. | 649 // double-gradient effect. |
| 650 if (tp->UsingNativeTheme()) | 650 if (tp->UsingSystemTheme()) |
| 651 frame_background_->set_maximized_top_inset(kGTKThemeCondensedFrameTopInset); | 651 frame_background_->set_maximized_top_inset(kGTKThemeCondensedFrameTopInset); |
| 652 #endif | 652 #endif |
| 653 | 653 |
| 654 frame_background_->PaintMaximized(canvas, this); | 654 frame_background_->PaintMaximized(canvas, this); |
| 655 | 655 |
| 656 // TODO(jamescook): Migrate this into FrameBackground. | 656 // TODO(jamescook): Migrate this into FrameBackground. |
| 657 if (!browser_view()->IsToolbarVisible()) { | 657 if (!browser_view()->IsToolbarVisible()) { |
| 658 // There's no toolbar to edge the frame border, so we need to draw a bottom | 658 // There's no toolbar to edge the frame border, so we need to draw a bottom |
| 659 // edge. The graphic we use for this has a built in client edge, so we clip | 659 // edge. The graphic we use for this has a built in client edge, so we clip |
| 660 // it off the bottom. | 660 // it off the bottom. |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 color_id = is_incognito ? | 863 color_id = is_incognito ? |
| 864 ThemeProperties::COLOR_FRAME_INCOGNITO : | 864 ThemeProperties::COLOR_FRAME_INCOGNITO : |
| 865 ThemeProperties::COLOR_FRAME; | 865 ThemeProperties::COLOR_FRAME; |
| 866 } else { | 866 } else { |
| 867 color_id = is_incognito ? | 867 color_id = is_incognito ? |
| 868 ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE : | 868 ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE : |
| 869 ThemeProperties::COLOR_FRAME_INACTIVE; | 869 ThemeProperties::COLOR_FRAME_INACTIVE; |
| 870 } | 870 } |
| 871 | 871 |
| 872 if (browser_view()->IsBrowserTypeNormal() || | 872 if (browser_view()->IsBrowserTypeNormal() || |
| 873 platform_observer_->IsUsingNativeTheme()) { | 873 platform_observer_->IsUsingSystemTheme()) { |
| 874 return GetThemeProvider()->GetColor(color_id); | 874 return GetThemeProvider()->GetColor(color_id); |
| 875 } | 875 } |
| 876 | 876 |
| 877 // Never theme app and popup windows unless the |platform_observer_| | 877 // Never theme app and popup windows unless the |platform_observer_| |
| 878 // requested an override. | 878 // requested an override. |
| 879 return ThemeProperties::GetDefaultColor(color_id); | 879 return ThemeProperties::GetDefaultColor(color_id); |
| 880 } | 880 } |
| 881 | 881 |
| 882 gfx::ImageSkia* OpaqueBrowserFrameView::GetFrameImage() const { | 882 gfx::ImageSkia* OpaqueBrowserFrameView::GetFrameImage() const { |
| 883 bool is_incognito = browser_view()->IsOffTheRecord(); | 883 bool is_incognito = browser_view()->IsOffTheRecord(); |
| 884 int resource_id; | 884 int resource_id; |
| 885 if (browser_view()->IsBrowserTypeNormal()) { | 885 if (browser_view()->IsBrowserTypeNormal()) { |
| 886 if (ShouldPaintAsActive()) { | 886 if (ShouldPaintAsActive()) { |
| 887 resource_id = is_incognito ? | 887 resource_id = is_incognito ? |
| 888 IDR_THEME_FRAME_INCOGNITO : IDR_THEME_FRAME; | 888 IDR_THEME_FRAME_INCOGNITO : IDR_THEME_FRAME; |
| 889 } else { | 889 } else { |
| 890 resource_id = is_incognito ? | 890 resource_id = is_incognito ? |
| 891 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; | 891 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; |
| 892 } | 892 } |
| 893 return GetThemeProvider()->GetImageSkiaNamed(resource_id); | 893 return GetThemeProvider()->GetImageSkiaNamed(resource_id); |
| 894 } | 894 } |
| 895 if (ShouldPaintAsActive()) { | 895 if (ShouldPaintAsActive()) { |
| 896 resource_id = is_incognito ? | 896 resource_id = is_incognito ? |
| 897 IDR_THEME_FRAME_INCOGNITO : IDR_FRAME; | 897 IDR_THEME_FRAME_INCOGNITO : IDR_FRAME; |
| 898 } else { | 898 } else { |
| 899 resource_id = is_incognito ? | 899 resource_id = is_incognito ? |
| 900 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; | 900 IDR_THEME_FRAME_INCOGNITO_INACTIVE : IDR_THEME_FRAME_INACTIVE; |
| 901 } | 901 } |
| 902 | 902 |
| 903 if (platform_observer_->IsUsingNativeTheme()) { | 903 if (platform_observer_->IsUsingSystemTheme()) { |
| 904 // We want to use theme images provided by the platform theme when enabled, | 904 // We want to use theme images provided by the platform theme when enabled, |
| 905 // even if we are an app or popup window. | 905 // even if we are an app or popup window. |
| 906 return GetThemeProvider()->GetImageSkiaNamed(resource_id); | 906 return GetThemeProvider()->GetImageSkiaNamed(resource_id); |
| 907 } | 907 } |
| 908 | 908 |
| 909 // Otherwise, never theme app and popup windows. | 909 // Otherwise, never theme app and popup windows. |
| 910 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 910 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 911 return rb.GetImageSkiaNamed(chrome::MapThemeImage( | 911 return rb.GetImageSkiaNamed(chrome::MapThemeImage( |
| 912 chrome::GetHostDesktopTypeForNativeWindow( | 912 chrome::GetHostDesktopTypeForNativeWindow( |
| 913 browser_view()->GetNativeWindow()), | 913 browser_view()->GetNativeWindow()), |
| (...skipping 13 matching lines...) Expand all Loading... |
| 927 | 927 |
| 928 int OpaqueBrowserFrameView::GetTopAreaHeight() const { | 928 int OpaqueBrowserFrameView::GetTopAreaHeight() const { |
| 929 gfx::ImageSkia* frame_image = GetFrameImage(); | 929 gfx::ImageSkia* frame_image = GetFrameImage(); |
| 930 int top_area_height = frame_image->height(); | 930 int top_area_height = frame_image->height(); |
| 931 if (browser_view()->IsTabStripVisible()) { | 931 if (browser_view()->IsTabStripVisible()) { |
| 932 top_area_height = std::max(top_area_height, | 932 top_area_height = std::max(top_area_height, |
| 933 GetBoundsForTabStrip(browser_view()->tabstrip()).bottom()); | 933 GetBoundsForTabStrip(browser_view()->tabstrip()).bottom()); |
| 934 } | 934 } |
| 935 return top_area_height; | 935 return top_area_height; |
| 936 } | 936 } |
| OLD | NEW |