diff options
author | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-02 03:23:40 +0000 |
---|---|---|
committer | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-02 03:23:40 +0000 |
commit | da2b2779e19c981a7b23f6dba17438244713e092 (patch) | |
tree | 573c25237cd3f344571fba8bb1b7773c2120808d /chrome/browser | |
parent | 03017f7ef58fb13f14492f792f3d122ff7b865fd (diff) | |
download | chromium_src-da2b2779e19c981a7b23f6dba17438244713e092.zip chromium_src-da2b2779e19c981a7b23f6dba17438244713e092.tar.gz chromium_src-da2b2779e19c981a7b23f6dba17438244713e092.tar.bz2 |
Aura: Use more traditional window frame, add flag for new look
Added --aura-windows to trigger new-style transparent window frames.
Fixed window frame art for top border.
BUG=102499
TEST=none
Review URL: http://codereview.chromium.org/8423021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108239 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
3 files changed, 30 insertions, 2 deletions
diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc index e0daa05..c2c8d6a 100644 --- a/chrome/browser/themes/theme_service.cc +++ b/chrome/browser/themes/theme_service.cc @@ -60,11 +60,21 @@ SkColor IncreaseLightness(SkColor color, double percent) { } // Default colors. +#if defined(USE_AURA) +// TODO(jamescook): Revert this when Aura is using its own window frame +// implementation by default, specifically BrowserNonClientFrameViewAura. +const SkColor kDefaultColorFrame = SkColorSetRGB(185, 185, 185); +const SkColor kDefaultColorFrameInactive = SkColorSetRGB(201, 201, 201); +const SkColor kDefaultColorFrameIncognito = SkColorSetRGB(83, 106, 139); +const SkColor kDefaultColorFrameIncognitoInactive = + SkColorSetRGB(126, 139, 156); +#else const SkColor kDefaultColorFrame = SkColorSetRGB(66, 116, 201); const SkColor kDefaultColorFrameInactive = SkColorSetRGB(161, 182, 228); const SkColor kDefaultColorFrameIncognito = SkColorSetRGB(83, 106, 139); const SkColor kDefaultColorFrameIncognitoInactive = SkColorSetRGB(126, 139, 156); +#endif // USE_AURA #if defined(OS_MACOSX) const SkColor kDefaultColorToolbar = SkColorSetRGB(230, 230, 230); #else diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_aura.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_aura.cc index 5c12515..362df1e 100644 --- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_aura.cc +++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_aura.cc @@ -4,9 +4,13 @@ #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.h" +#include "base/command_line.h" #include "chrome/browser/ui/panels/panel_browser_frame_view.h" #include "chrome/browser/ui/panels/panel_browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h" +#include "chrome/browser/ui/views/frame/opaque_browser_frame_view.h" +#include "chrome/browser/ui/views/frame/popup_non_client_frame_view.h" +#include "ui/aura/aura_switches.h" namespace browser { @@ -16,7 +20,9 @@ BrowserNonClientFrameView* CreateBrowserNonClientFrameView( return new PanelBrowserFrameView( frame, static_cast<PanelBrowserView*>(browser_view)); } - return new BrowserNonClientFrameViewAura(frame, browser_view); + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAuraWindows)) + return new BrowserNonClientFrameViewAura(frame, browser_view); + return new OpaqueBrowserFrameView(frame, browser_view); } } // namespace browser diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc index 95ab6cd..342d01f 100644 --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -609,6 +609,16 @@ void OpaqueBrowserFrameView::PaintRestoredFrameBorder(gfx::Canvas* canvas) { top_area_height = std::max(top_area_height, GetBoundsForTabStrip(browser_view_->tabstrip()).bottom()); } +#if defined(USE_AURA) + // TODO(jamescook): Remove this when Aura defaults to its own window frame, + // BrowserNonClientFrameViewAura. Until then, don't draw background colored + // rectangles, use images with colors baked in. This allows us to have alpha + // rounded window corners without a window mask. Also avoid overlapping the + // frame image with the corners. + canvas->TileImageInt(*theme_frame, top_left_corner->width(), 0, + width() - top_left_corner->width() - top_right_corner->width(), + theme_frame->height()); +#else SkColor frame_color = GetFrameColor(); canvas->FillRect(frame_color, gfx::Rect(0, 0, width(), top_area_height)); @@ -634,6 +644,7 @@ void OpaqueBrowserFrameView::PaintRestoredFrameBorder(gfx::Canvas* canvas) { // Draw the theme frame. canvas->TileImageInt(*theme_frame, 0, 0, width(), theme_frame->height()); +#endif // Draw the theme frame overlay. if (tp->HasCustomImage(IDR_THEME_FRAME_OVERLAY) && @@ -649,7 +660,8 @@ void OpaqueBrowserFrameView::PaintRestoredFrameBorder(gfx::Canvas* canvas) { canvas->DrawBitmapInt(*top_left_corner, 0, 0, top_left_corner->width(), top_left_height, 0, 0, top_left_corner->width(), top_left_height, false); canvas->TileImageInt(*top_edge, top_left_corner->width(), 0, - width() - top_right_corner->width(), top_edge->height()); + width() - top_left_corner->width() - top_right_corner->width(), + top_edge->height()); int top_right_height = std::min(top_right_corner->height(), height() - bottom_right_corner->height()); canvas->DrawBitmapInt(*top_right_corner, 0, 0, top_right_corner->width(), |