Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(748)

Unified Diff: chrome/browser/ui/views/apps/app_window_native_widget_mac.mm

Issue 1053303003: [MacViews] Implement colored window frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698