New issue
Advanced search Search tips

Issue 829347 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

MacViews material menus

Project Member Reported by ellyjo...@chromium.org, Apr 5 2018

Issue description

Implement the material menu look & feel for MacViews menus. The mock is here: <https://drive.google.com/file/d/0BxMIIGI80eU-U1JzRVhrQjJscEU/view> 

I'm currently planning to implement the cross-platform mock as given with these Mac-specific deviations:

1) Use of Mac symbolic names for accelerators, so ⌘D instead of Cmd-D
2) Support for "increase contrast" by:
  a) Drawing a black border around the menu
  b) Increasing separator alpha from 15% to 100%
  c) Increasing minor text alpha from 40% to 100%
  d) Drawing a black border around the highlighted item
3) The ripple animation on click (which we don't use on Mac) replaced by the animation Mac menus use (flicker the selected item).
 
Cc: rsesek@chromium.org sdy@chromium.org
1.) SGTM
2a.) I presume this means doing what other "menus" like Page info do today? (https://screenshot.googleplex.com/ApOrKrfE9MS)If so, that SGTM. If not, I'd need more explanation. 
2b.) To match other separators in the Core UI[1], the current spec is Google Grey 900 at 16%, or #202124 at 16%
2c.) what is minor text?
2d.) need more info
3.) SGTM

>> checkmark layout

I prefer third image: no special indent, the checkbox starts "crowding" the label.




pageinfo.png
37.5 KB View Download
Screen Shot 2018-04-05 at 10.21.35 AM.png
178 KB View Download
Sorry, I was unclear about #2: I was proposing what we'd do when the system has the "Increase contrast" accessibility setting enabled, which causes strokes to be drawn in black rather than grey across the system. If you turn that setting on and look at how the tabstrip changes you can see what it looks like.

#1 and #3 ack :)
Three more things from chatting with bettes@ just now:

4) We're going to do 8pt rounded corners instead of 2pt on the menus
5) We're going to exempt combobox menus from the 320pt minimum
6) We're going to use the system highlight color (ala  issue 829467 ) for hover, not always grey
Status: Started (was: Assigned)
I snagged the system highlight blue and drew it at 17% alpha and I think it looks gorgeous.

Screenshots of WIP CL <https://chromium-review.googlesource.com/c/chromium/src/+/998016> attached.

Still need to figure out how to achieve #3 (the Mac dismissal animation).
Screen Shot 2018-04-05 at 2.40.41 PM.png
36.2 KB View Download
Screen Shot 2018-04-05 at 2.54.40 PM.png
22.3 KB View Download
Screen Shot 2018-04-05 at 2.54.46 PM.png
39.1 KB View Download
One other deviation I ran into while fixing <https://chromium-review.googlesource.com/c/chromium/src/+/998016>:

7) On Mac, comboboxes use checkmarks to denote the selected item.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c0aed57e2e803aadf029450180782e0471b8baa

commit 6c0aed57e2e803aadf029450180782e0471b8baa
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Fri Apr 06 16:37:05 2018

macviews: materialize macviews menus

This change:
1) Implements the Material menu spec, as linked in the attached bug;
2) Adds support to NativeThemeMac for using Aqua highlights in Aqua mode;
3) Removes the logic in BridgedNativeWidget to support translucent/blurred
   menu windows, since Material menus are opaque

Future work:
1) Removing MenuRunnerImplCocoa, which can be rendered dead;
2) Fixing the synchronous-ness of MacViews menus

Bug:  829347 
Change-Id: I6219edf82c36cc0380dc9073835d8071a2709496
Reviewed-on: https://chromium-review.googlesource.com/998016
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548806}
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/native_theme/native_theme_mac.mm
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/cocoa/bridged_native_widget.mm
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_config.cc
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_config.h
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_config_mac.mm
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_controller.h
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_item_view.cc
[modify] https://crrev.com/6c0aed57e2e803aadf029450180782e0471b8baa/ui/views/controls/menu/menu_runner_impl_cocoa.mm

Comment 8 by gov...@chromium.org, Apr 11 2018

Labels: Proj-MacViews
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb3061b1ebb591cdada694fa762f5c358176aeec

commit fb3061b1ebb591cdada694fa762f5c358176aeec
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Thu Apr 12 12:45:45 2018

views: support Mac menu closure animations

This change:
1) Adds MenuClosureAnimationMac, which implements the Mac menu closure
   animation;
2) Adds logic to MenuItemView to force drawing the item in a selected
   or unselected state as needed, for use in this animation;
3) Adds support to MenuController for disabling handling input events,
   so that the closure animation can appear to be "synchronous";
4) Makes MenuController::Accept possibly asynchronous;
5) Updates unit tests to account for (4)

Bug:  829347 
Change-Id: I8676718e6a5e9704b422ed4cb08e8d10002bf45a
Reviewed-on: https://chromium-review.googlesource.com/999803
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550160}
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/chrome/browser/ui/views/menu_test_base.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/chrome/browser/ui/views/toolbar/toolbar_action_view_interactive_uitest.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/BUILD.gn
[add] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_closure_animation_mac.h
[add] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_closure_animation_mac.mm
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_controller.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_controller.h
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_controller_unittest.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_host_root_view.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_host_root_view.h
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_item_view.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_item_view.h
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/controls/menu/menu_runner_unittest.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/test/menu_test_utils.cc
[modify] https://crrev.com/fb3061b1ebb591cdada694fa762f5c358176aeec/ui/views/test/menu_test_utils.h

"Increase contrast" disabled & enabled for <https://chromium-review.googlesource.com/#/c/chromium/src/+/1010245>
Screen Shot 2018-04-12 at 10.07.18 AM.png
48.2 KB View Download
Screen Shot 2018-04-12 at 10.07.35 AM.png
48.4 KB View Download
I asked lpalmaro@ (a11y PM) for feedback on #10. She suggested two further changes:

1) 2pt separator lines instead of 1pt
2) Bold font for the selected item

I'll do those in a followup CL, since sorting out the font could be hard - Mac doesn't have a bold menu system font.
Labels: -Pri-1 -M-67 -Target-67 M-68 Target-68 Pri-2
This bug is in a good place at the moment:

The default behaviors are implemented. High contrast is here: <https://chromium-review.googlesource.com/c/chromium/src/+/1010245> but does not block M67. I'm kicking the remainder of this bug to M68.
Cc: ellyjo...@chromium.org
 Issue 832324  has been merged into this issue.
 Issue 832316  has been merged into this issue.
 Issue 832665  has been merged into this issue.
Project Member

Comment 16 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0d2adffc4857d639c39c9f5c01c32cc5fc932a7

commit a0d2adffc4857d639c39c9f5c01c32cc5fc932a7
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Tue Apr 17 14:36:58 2018

macviews: support high contrast in menus

This change:
1) Draws exterior borders on menus, even if MenuConfig says not to use them,
   if the NativeTheme is in high contrast mode;
2) Draws separators in black instead of grey in high contrast mode on Mac;
3) Draws a heavy (2pt) border around the selected item in high contrast mode
   on Mac

Screenshots are attached to the bug as comment #10.

Bug:  829347 
Change-Id: I8ffd7adbae5b35751c18b77a9e8b6564926f7012
Reviewed-on: https://chromium-review.googlesource.com/1010245
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551324}
[modify] https://crrev.com/a0d2adffc4857d639c39c9f5c01c32cc5fc932a7/ui/native_theme/native_theme_mac.h
[modify] https://crrev.com/a0d2adffc4857d639c39c9f5c01c32cc5fc932a7/ui/native_theme/native_theme_mac.mm
[modify] https://crrev.com/a0d2adffc4857d639c39c9f5c01c32cc5fc932a7/ui/views/controls/menu/menu_scroll_view_container.cc

Status: Fixed (was: Started)
Labels: Needs-Feedback
Tested the issue on latest chrome version 68.0.3399.0 using Mac 10.12.6 with steps mentioned below:
1) Launched chrome version and enabled MacViews-Browser flag in chrome://flags
2) Observed the UI of Three-dot menu, Combo box and Bookmarks bar as per screenshots provided in comment#5

@Reporter: Please find the attached screenshots for your reference and help us in verifying the fix.

Thanks!

Three Dot Menu.png
36.9 KB View Download
Combo Box.png
45.7 KB View Download
Bookmarks Bar.png
15.1 KB View Download
Project Member

Comment 19 by bugdroid1@chromium.org, May 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab

commit 53a5165fc4916460625ea6bd3eb7953fd5a5e0ab
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Mon May 21 15:38:59 2018

views: reduce corner radius on context menus

Context menus and combobox menus are both "auxiliary" in the UI sense, so they
have a reduced corner radius to fit better with their parent controls.

Bug:  829347 
Change-Id: Ie0ecfcbab5161071d5cf61cc8e7647172122dad5
Reviewed-on: https://chromium-review.googlesource.com/1066470
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560275}
[modify] https://crrev.com/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab/ui/views/controls/menu/menu_config.cc
[modify] https://crrev.com/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab/ui/views/controls/menu/menu_config.h
[modify] https://crrev.com/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab/ui/views/controls/menu/menu_config_mac.mm
[modify] https://crrev.com/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab/ui/views/controls/menu/menu_controller.cc
[modify] https://crrev.com/53a5165fc4916460625ea6bd3eb7953fd5a5e0ab/ui/views/controls/menu/menu_controller.h

Labels: needs-
ellyjones@ Could you please help us with the repro steps to verify the fix in comment #19 

Thank You...


Labels: -needs-
Hi, is there any possibility to reconsider the design decision for the spacing between the checkmark and label? The context menu is already very spacious. It has a lot of padding between menu items and the between the edge of the context menu and its contents. I feel that making the label nest right beside the checkmark does not take full advantage of the amount of space available.

So everything in the context menu is very spread apart, except the checkmark which makes it stand out in a bad way. Lots of space on the left but almost none on the right. This is just my initial feedback on the MacViews design after using it for a while.

By the way, what was the reason for keeping the checkmark and label "crowded"?
I should also mention on Windows there is plenty of space on both sides of the checkmark.
2018-07-03_15-49-09.png
8.3 KB View Download
FYI: I attached c#23 and c#24 out of this closed report to  issue 832257 , so this can decided there.
#23: Yes - some other history came to light about menu spacing, so I filed issue 860673. Please feel free to star or follow that bug.
Project Member

Comment 27 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb02feee251aa6be7ccc2d180167ae9fb6cdd2d1

commit fb02feee251aa6be7ccc2d180167ae9fb6cdd2d1
Author: Avi Drissman <avi@chromium.org>
Date: Tue Jul 31 17:02:06 2018

Remove unused definitions.

Their use was removed in 6c0aed57e2e803aadf029450180782e0471b8baa.

BUG= 829347 

Change-Id: Ia5e99e49ba53cb4a416fda37407fdf5faa516f27
Reviewed-on: https://chromium-review.googlesource.com/1156845
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579440}
[modify] https://crrev.com/fb02feee251aa6be7ccc2d180167ae9fb6cdd2d1/ui/views/cocoa/bridged_native_widget.mm

Sign in to add a comment