Index: chrome/browser/ui/views/apps/app_window_native_widget_mac.mm |
diff --git a/chrome/browser/ui/views/apps/app_window_native_widget_mac.mm b/chrome/browser/ui/views/apps/app_window_native_widget_mac.mm |
index 935d52d9556b7cc8b7600880cdaa5cfa1f566231..fd03db3e4fc5a9fdeebee5b15a92cf1d6814c05f 100644 |
--- a/chrome/browser/ui/views/apps/app_window_native_widget_mac.mm |
+++ b/chrome/browser/ui/views/apps/app_window_native_widget_mac.mm |
@@ -6,11 +6,15 @@ |
#import <Cocoa/Cocoa.h> |
+#import "chrome/browser/ui/cocoa/apps/titlebar_background_view.h" |
#import "chrome/browser/ui/views/frame/native_widget_mac_frameless_nswindow.h" |
+#include "extensions/browser/app_window/native_app_window.h" |
#import "ui/base/cocoa/window_size_constants.h" |
-AppWindowNativeWidgetMac::AppWindowNativeWidgetMac(views::Widget* widget) |
- : NativeWidgetMac(widget) { |
+AppWindowNativeWidgetMac::AppWindowNativeWidgetMac( |
+ views::Widget* widget, |
+ extensions::NativeAppWindow* native_app_window) |
+ : NativeWidgetMac(widget), native_app_window_(native_app_window) { |
} |
AppWindowNativeWidgetMac::~AppWindowNativeWidgetMac() { |
@@ -18,10 +22,18 @@ AppWindowNativeWidgetMac::~AppWindowNativeWidgetMac() { |
NSWindow* AppWindowNativeWidgetMac::CreateNSWindow( |
const views::Widget::InitParams& params) { |
- // If the window has a standard frame, use the same NSWindow as |
+ // If the window has a native or colored frame, use the same NSWindow as |
// NativeWidgetMac. |
- if (!params.remove_standard_frame) |
- return NativeWidgetMac::CreateNSWindow(params); |
+ if (!native_app_window_->IsFrameless()) { |
+ NSWindow* ns_window = NativeWidgetMac::CreateNSWindow(params); |
+ if (native_app_window_->HasFrameColor()) { |
+ [TitlebarBackgroundView |
+ addToNSWindow:ns_window |
+ activeColor:native_app_window_->ActiveFrameColor() |
+ inactiveColor:native_app_window_->InactiveFrameColor()]; |
+ } |
+ return ns_window; |
+ } |
// NSTexturedBackgroundWindowMask is needed to implement draggable window |
// regions. |