New issue
Advanced search Search tips

Issue 901002 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

"Restart Chrome within N days" dialog not dismissing on Canary

Project Member Reported by dcblack@chromium.org, Nov 1

Issue description

Chrome Version       : 72.0.3591.0 (Official Build) canary (64-bit)
OS Version: OS X 10.13.6

What steps will reproduce the problem?
1. Have Chrome Canary open on a corp-managed machine for any nontrivial length of time.
2. Wait
3. See a weird dialog that says "Relaunch Chrome within 12 days - Your administrator requires that you relaunch Chrome to apply an update"
4. Click the "got it" button.

What is the expected result?
The dialog should dismiss and probably come back to nag me in a few days.

What happens instead of that?
The dialog does not dismiss - hitting the got it button does nothing at all.  

Also the dialog is oddly styled and looks very out of place on mac os.


 
Labels: Needs-Triage-M72
Cc: atwilson@chromium.org grt@chromium.org
Components: Enterprise
[Mac triage] +a couple of people who might be able to better route this.
Labels: -Pri-3 Pri-2
Owner: grt@chromium.org
Cc: robliao@chromium.org bsep@chromium.org
 Issue 884791  has been merged into this issue.
We were unable to repro this before. Is anyone with a mac able to dig in? See https://bugs.chromium.org/p/chromium/issues/detail?id=884791#c2 for instructions on making this dialog appear in browser_tests.
Owner: ellyjo...@chromium.org
Status: Assigned (was: Unconfirmed)
As before, I'm stumped. The "Got it" button should lead to RelaunchRequiredDialogView::Cancel, which unconditionally returns true:

https://cs.chromium.org/chromium/src/chrome/browser/ui/views/relaunch_notification/relaunch_required_dialog_view.cc?type=cs&q=RelaunchRequiredDialogView::Cancel+file:%5C.cc&sq=package:chromium&g=0&l=58

On Windows, this is called by DialogClientView::CancelWindow, which right away calls GetWidget()->Close(). Is there any reason why this wouldn't work as expected on macOS?

Tentatively assigning to ellyjones in the hopes that you can ask a macOS dev to take a look. Thanks.
grt@: is there a way to skip the wait in the repro steps? running it via browser_tests might make it behave differently from having it spawn "naturally".
ellyjones@: it's slightly tricky on a corp machine, but doable. check chrome://policy to see that RelaunchNotification is 2. you'll need to find the way that RelaunchNotificationPeriod is given its value (a plist file somewhere?) and set it to 0. then launch chrome with --simulate-upgrade. after maybe 20 seconds you should see the dialog.
Cc: tapted@chromium.org ccameron@chromium.org
I also don't see how this could happen. I applied the following hacks to c/b/ui/v/relaunch_notification/relaunch_notification_controller.cc to make the dialog appear in a chromium build so I could debug:

1) In ReadPreference(), change the default case to return RelaunchNotificationSetting::kRequiredDialog
2) In RelaunchNotificationController::OnUpgradeRecommended(), always set current_level = UpgradeDetector::UPGRADE_ANNOYANCE_HIGH

This causes the dialog to spawn at browser startup (yay!), but I can't repro the behavior described in the bug. :( As far as I can tell, the Cancel path is absolutely standard.

Since this is Mac and the dialog is MODAL_TYPE_WINDOW, this actually is a sheet, which does have a window closure animation that has to run before it disappears. This all happens in BridgedNativeWidgetImpl::CloseWindow(). This code is not well-tested or very heavily used, so it's possible that bugs lurk here, but I can't think of or see anything immediately wrong with it.

Reporter: can we get a screen recording of this behavior?
gab@: are the hacks I did above sensible?

ccing in tapted@ and ccameron@, either of whom might have some guesses here.
Yes, those hacks are perfectly fine. If you see the modal dialog, then the hacks certainly work. :-)

Thank you for taking the time to investigate.
Labels: Needs-Feedback

Sign in to add a comment