DescriptionMacViews: NativeWidget -> Widget notifications: fullscreen, activation.
Fullscreen is asynchronous on Mac, so NativeWidgetMac needs to
coordinate with the ViewsNSWindowDelegate to behave in the manner views
code expects. Part of this is maintaining the restored bounds, which
Cocoa doesn't provide access to.
Activation also goes through the ViewsNSWindowDelegate. It's simpler but
needs an interactive_ui_test, which is added. Other NSWindowDelegate
messages are deferred to a follow-up.
Maximize is "implemented" as a no-op on Mac, since it's
indistinguishable from a large window (whereas views code typically
expects maximize to remove window borders).
This CL gets the following views_unittests passing:
WidgetTest.GetRestoredBounds
WidgetTest.ExitFullscreenRestoreState
WidgetTest.FullscreenFrameLayout
Many Cocoa-native tests are also added to ensure user-initiated
operations are correctly observed.
BUG=403679, 378134
Committed: https://crrev.com/50d05e112bdee6085dc461eba5435eb82ec60a46
Cr-Commit-Position: refs/heads/master@{#299263}
Patch Set 1 #Patch Set 2 : Fix menus in interactive_ui_tests #Patch Set 3 : rebase #Patch Set 4 : Smarter fullscreening #Patch Set 5 : Rollback some stuff for a simpler patch #Patch Set 6 : Oh man. fullscreen tests are hard. #
Total comments: 8
Patch Set 7 : More tests. Still need: visibility observer, bounds observer, external move/resize #Patch Set 8 : Rollback more stuff that is missing coverage -- turns out visibility is HARD #Patch Set 9 : respond to comments #
Total comments: 13
Patch Set 10 : respond to comments #Messages
Total messages: 19 (7 generated)
|