New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 895139 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 30
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug

Blocking:
issue 859152



Sign in to add a comment

RemoteMacViews: Apps have no menus

Project Member Reported by ccameron@chromium.org, Oct 14

Issue description

The app shim process has historically not had a menu set, because the app shim process was never focused (it would immediately re-focus the corresponding windows in Chrome).
- The browser, when an app is focused, would remove a bunch of items from the menus using the code at [0]
- In app shim process there exists code at [1] to create pretend menus that mirror the doppelganger menu.

We need to create real, functional menus in the app shim process.

[0] https://cs.chromium.org/chromium/src/chrome/browser/ui/cocoa/apps/app_shim_menu_controller_mac.mm?rcl=0205225fa0f09458caca0e8ced88bf4893cca9d2&l=281
[1] https://cs.chromium.org/chromium/src/chrome/app_shim/app_shim_controller.mm?rcl=0205225fa0f09458caca0e8ced88bf4893cca9d2&l=113
 
Blocking: 859152
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 17

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

commit 199deebed89c1635a8670f380ae49a85b03822ed
Author: Christopher Cameron <ccameron@chromium.org>
Date: Wed Oct 17 20:29:53 2018

RemoteMacViews: Initialize menus in app shim

Replace the pretend menus created in the app shim (which never actually
appeared correctly) with real menus.

Share the chrome::MainMenuBuilder code for PWAs and the browser app. To
MenuItemBuilder:
- add a disable() function which allows PWA mode to skip many menu items
- change the string_format_1 to take a base::string16 instead of the
  id for the string (because we have no id for the current PWA)

Update the menu building functions to make the PWA menus identical
to the existing PWA menus created in the browser process by
AppShimMenuController.

Make AppShimDelegate expose NSUserInterfaceValidations (matching
AppDelegate), but do not hook anything up yet.

Bug:  895139 
Change-Id: I0393048b3a29d2ab0bee14cab802694d296b4058
Reviewed-on: https://chromium-review.googlesource.com/c/1278916
Commit-Queue: ccameron <ccameron@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600542}
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/app_shim/BUILD.gn
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/app_shim/DEPS
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/app_shim/app_shim_controller.mm
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/app_shim/app_shim_delegate.h
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/app_shim/app_shim_delegate.mm
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/browser/chrome_browser_main_mac.mm
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/browser/ui/cocoa/main_menu_builder.h
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/browser/ui/cocoa/main_menu_builder.mm
[modify] https://crrev.com/199deebed89c1635a8670f380ae49a85b03822ed/chrome/browser/ui/cocoa/main_menu_builder_unittest.mm

Labels: proj-MacPwa
Components: UI>Browser>WebAppInstalls
Labels: -proj-MacPwa
Status: Fixed (was: Assigned)

Sign in to add a comment