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

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: Created 5 years, 8 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..f2b96afc6b6fcdab6c2bcf6e8910fad3c1407da8 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
@@ -7,10 +7,14 @@
#import <Cocoa/Cocoa.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"
+#import "ui/gfx/mac/nswindow_frame_controls.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,17 @@ 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()) {
+ gfx::AddColoredTitlebarToNSWindow(
+ ns_window, native_app_window_->ActiveFrameColor(),
+ native_app_window_->InactiveFrameColor());
+ }
+ return ns_window;
+ }
// NSTexturedBackgroundWindowMask is needed to implement draggable window
// regions.

Powered by Google App Engine
This is Rietveld 408576698