summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-02 03:23:40 +0000
committerjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-02 03:23:40 +0000
commitda2b2779e19c981a7b23f6dba17438244713e092 (patch)
tree573c25237cd3f344571fba8bb1b7773c2120808d /chrome/browser
parent03017f7ef58fb13f14492f792f3d122ff7b865fd (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/themes/theme_service.cc10
-rw-r--r--chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_aura.cc8
-rw-r--r--chrome/browser/ui/views/frame/opaque_browser_frame_view.cc14
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(),