"Restart Chrome within N days" dialog not dismissing on Canary |
||||||
Issue descriptionChrome 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.
,
Nov 2
[Mac triage] +a couple of people who might be able to better route this.
,
Nov 2
,
Nov 2
,
Nov 2
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.
,
Nov 5
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.
,
Nov 8
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".
,
Nov 9
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.
,
Nov 9
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.
,
Nov 13
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.
,
Nov 13
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by krajshree@chromium.org
, Nov 2