| Index: chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm
|
| diff --git a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm
|
| index 691de9aaefe05eb44cedc4c42d5447bd8069d532..757e36ca95d0619d32f0c1103a97de709e98d319 100644
|
| --- a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm
|
| +++ b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm
|
| @@ -60,6 +60,15 @@ void SetFullScreenCollectionBehavior(NSWindow* window, bool allow_fullscreen) {
|
| [window setCollectionBehavior:behavior];
|
| }
|
|
|
| +void SetWorkspacesCollectionBehavior(NSWindow* window, bool always_visible) {
|
| + NSWindowCollectionBehavior behavior = [window collectionBehavior];
|
| + if (always_visible)
|
| + behavior |= NSWindowCollectionBehaviorCanJoinAllSpaces;
|
| + else
|
| + behavior &= ~NSWindowCollectionBehaviorCanJoinAllSpaces;
|
| + [window setCollectionBehavior:behavior];
|
| +}
|
| +
|
| void InitCollectionBehavior(NSWindow* window) {
|
| // Since always-on-top windows have a higher window level
|
| // than NSNormalWindowLevel, they will default to
|
| @@ -379,6 +388,8 @@ NativeAppWindowCocoa::NativeAppWindowCocoa(
|
| [window setLevel:AlwaysOnTopWindowLevel()];
|
| InitCollectionBehavior(window);
|
|
|
| + SetWorkspacesCollectionBehavior(window, params.visible_on_all_workspaces);
|
| +
|
| window_controller_.reset(
|
| [[NativeAppWindowController alloc] initWithWindow:window.release()]);
|
|
|
| @@ -967,6 +978,10 @@ void NativeAppWindowCocoa::SetAlwaysOnTop(bool always_on_top) {
|
| NSNormalWindowLevel)];
|
| }
|
|
|
| +void NativeAppWindowCocoa::SetVisibleOnAllWorkspaces(bool always_visible) {
|
| + SetWorkspacesCollectionBehavior(window(), always_visible);
|
| +}
|
| +
|
| NativeAppWindowCocoa::~NativeAppWindowCocoa() {
|
| }
|
|
|
|
|