Index: chrome/browser/ui/views/apps/native_app_window_views.cc |
diff --git a/chrome/browser/ui/views/apps/native_app_window_views.cc b/chrome/browser/ui/views/apps/native_app_window_views.cc |
index 47a8ec649863fdd31be1a049203976e4497cb269..34a6ec942e9427de45a48b7921b804adca3a2f4b 100644 |
--- a/chrome/browser/ui/views/apps/native_app_window_views.cc |
+++ b/chrome/browser/ui/views/apps/native_app_window_views.cc |
@@ -253,6 +253,8 @@ void NativeAppWindowViews::Init(apps::AppWindow* app_window, |
const AppWindow::CreateParams& create_params) { |
app_window_ = app_window; |
frameless_ = create_params.frame == AppWindow::FRAME_NONE; |
+ has_frame_color_ = create_params.has_frame_color; |
+ frame_color_ = create_params.frame_color; |
transparent_background_ = create_params.transparent_background; |
resizable_ = create_params.resizable; |
Observe(web_contents()); |
@@ -289,7 +291,7 @@ void NativeAppWindowViews::InitializeDefaultWindow( |
views::Widget::InitParams init_params(views::Widget::InitParams::TYPE_WINDOW); |
init_params.delegate = this; |
- init_params.remove_standard_frame = ShouldUseChromeStyleFrame(); |
+ init_params.remove_standard_frame = !ShouldUseNativeFrame(); |
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
// On Linux, remove the standard frame. Instead, we will use CustomFrameView |
// to draw a native-like frame. |
@@ -453,17 +455,8 @@ void NativeAppWindowViews::InitializePanelWindow( |
#endif |
} |
-bool NativeAppWindowViews::ShouldUseChromeStyleFrame() const { |
- if (frameless_) |
- return true; |
- |
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
- // Linux always uses native style frames. |
- return false; |
-#endif |
- |
- return !CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kAppsUseNativeFrame); |
+bool NativeAppWindowViews::ShouldUseNativeFrame() const { |
Matt Giuca
2014/02/18 06:03:18
I'm concerned that this will break the --apps-use-
benwells
2014/02/18 07:47:25
Good one, done.
Matt Giuca
2014/02/19 02:26:43
So, to confirm: you're happy for stable channel us
|
+ return !frameless_ & !has_frame_color_; |
} |
apps::AppWindowFrameView* NativeAppWindowViews::CreateAppWindowFrameView() { |
@@ -484,6 +477,7 @@ apps::AppWindowFrameView* NativeAppWindowViews::CreateAppWindowFrameView() { |
#endif |
apps::AppWindowFrameView* frame_view = new apps::AppWindowFrameView(this); |
frame_view->Init(window_, |
+ frame_color_, |
resize_inside_bounds_size, |
resize_outside_bounds_size, |
resize_outside_scale_for_touch, |
@@ -707,7 +701,7 @@ bool NativeAppWindowViews::CanMaximize() const { |
} |
base::string16 NativeAppWindowViews::GetWindowTitle() const { |
- return app_window_->GetTitle(); |
+ return base::string16(); |
} |
bool NativeAppWindowViews::ShouldShowWindowTitle() const { |
@@ -799,7 +793,7 @@ views::NonClientFrameView* NativeAppWindowViews::CreateNonClientFrameView( |
} |
} |
#endif |
- if (ShouldUseChromeStyleFrame()) |
+ if (!ShouldUseNativeFrame()) |
return CreateAppWindowFrameView(); |
return views::WidgetDelegateView::CreateNonClientFrameView(widget); |
} |
@@ -1041,6 +1035,10 @@ bool NativeAppWindowViews::IsFrameless() const { |
return frameless_; |
} |
+bool NativeAppWindowViews::HasFrameColor() const { return has_frame_color_; } |
+ |
+SkColor NativeAppWindowViews::FrameColor() const { return frame_color_; } |
+ |
gfx::Insets NativeAppWindowViews::GetFrameInsets() const { |
if (frameless_) |
return gfx::Insets(); |