Index: ui/views/cocoa/bridged_native_widget.mm |
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm |
index 24275787c04e43ac1ab87b032e13ff5f4665461c..fd51109f66063ef33c934b3eb37120675f8895ae 100644 |
--- a/ui/views/cocoa/bridged_native_widget.mm |
+++ b/ui/views/cocoa/bridged_native_widget.mm |
@@ -430,13 +430,11 @@ void BridgedNativeWidget::ToggleDesiredFullscreenState() { |
return; // TODO(tapted): Implement this for Snow Leopard. |
} |
- // Since fullscreen requests are ignored if the collection behavior does not |
- // allow it, save the collection behavior and restore it after. |
- NSWindowCollectionBehavior behavior = [window_ collectionBehavior]; |
- [window_ setCollectionBehavior:behavior | |
- NSWindowCollectionBehaviorFullScreenPrimary]; |
+ // Enable fullscreen collection behavior because: |
+ // 1: -[NSWindow toggleFullscreen:] would otherwise be ignored, |
+ // 2: the fullscreen button must be enabled so the user can leave fullscreen. |
+ gfx::SetNSWindowCanFullscreen(window_, true); |
tapted
2015/05/06 06:20:41
Why always `true`? (this function is a toggle).
i
jackhou1
2015/05/13 04:27:53
Changed to only set the collection behavior if not
|
[window_ toggleFullScreen:nil]; |
- [window_ setCollectionBehavior:behavior]; |
} |
void BridgedNativeWidget::OnSizeChanged() { |
@@ -528,8 +526,10 @@ void BridgedNativeWidget::OnSizeConstraintsChanged() { |
bool is_resizable = widget->widget_delegate()->CanResize(); |
bool shows_resize_controls = |
is_resizable && (min_size.IsEmpty() || min_size != max_size); |
- bool shows_fullscreen_controls = |
- is_resizable && widget->widget_delegate()->CanMaximize(); |
+ // Fullscreen controls should be enabled when in fullscreen so the user can |
+ // leave. |
+ bool shows_fullscreen_controls = target_fullscreen_state_ || |
tapted
2015/05/06 06:20:41
What will call OnSizeConstraintsChanged() when tar
jackhou1
2015/05/13 04:27:53
There's a RootView::Layout after leaving fullscree
|
+ (is_resizable && widget->widget_delegate()->CanMaximize()); |
gfx::ApplyNSWindowSizeConstraints(window, min_size, max_size, |
shows_resize_controls, |