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

Issue 651648 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-09-29
OS: Linux , Windows
Pri: 1
Type: Bug
Launch-M-Target: 64-Beta

Blocking:
issue 630357
issue 764111


Participants' hotlists:
Harmony-Ready-For-Review


Sign in to add a comment

Harmony - update "Can't Update Chrome" dialog

Project Member Reported by shrike@chromium.org, Sep 30 2016

Issue description

Comment 2 by shrike@chromium.org, Sep 30 2016

Labels: Proj-HarmonyDialogs
Labels: -OS-Mac

Comment 4 by shrike@chromium.org, Oct 11 2016

Owner: pkasting@chromium.org
Owner: ----
Status: Available (was: Assigned)
Unassigning my Harmony bugs pending re-triage of who should own what.
Labels: -M-56
Labels: Pri-1
Description: Show this description
Owner: tapted@chromium.org
Status: Assigned (was: Available)
This one seems pretty straightforward, maybe Trent can get to it.
Labels: Launch-M-Target-64-Beta
NextAction: 2017-09-29
doh - how did I manage to get a dialog that is explicitly not available on Mac :p

Issue 151996 / Issue 164681 were never implemented for Mac - I guess we want to keep it that way, and not show the views dialog either?

It's not really clear from Issue 151996 whether not shipping on Mac was intentional

> Comment 90 by jeffreyc@google.com, Mar 27 2013
>> Have we determined/decided whether we will ship this on Mac and Linux in M27, or just Windows?
> Comment 91 by mad@chromium.org, Mar 27 2013 via email
>> Note that the bubble is implement with views, so won't work on Mac...


Anyway if we change our mind and want to launch this on Mac it can be done after Harmony.
I'm pretty sure we don't want to "keep not shipping this on Mac".  The comments you quote seem to clearly imply that we implemented this on Views first (which was Windows only at the time), and we planned to ship on the other platforms later.  mad@ always worked on views-only from my memory (as I do).

Is there extra work to launch this on Mac assuming Harmony?  It seems like we could just get it for free, and we could start ensuring it works now.
It is a bit more work to get it on Mac. Currently it's c/b/ui/views/toolbar's  ToolbarView that implements UpgradeObserver. Nothing on the Mac browser implements UpgradeObserver (just something in extensions). So mac_views_browser would get it for free but not MacViews for secondary UI.

To get it on Mac earlier, we could move the UpgradeObserver to BrowserWindow, or put it somewhere mac specific (testing is a bit more annoying then though).
Hm - maybe I'm looking at the wrong dialog - there's a UAC icon on the default button for Windows. Other platforms [i.e. Linux] won't badge it, but I'm not sure the "couldn't upgrade" use-cases are the same for Mac.
Screen Shot 2017-09-08 at 12.28.19 pm.png
18.7 KB View Download
Screen Shot 2017-09-08 at 12.28.59 pm.png
19.2 KB View Download
Labels: -OS-Chrome
Summary: Harmony - update "Can't Update Chrome" dialog (was: Harmony - update "Update Chrome" dialog)
Nah I think this is the dialog - there isn't a more likely dialog using the "Chrome is out of date" title. But there seems to be a disconnect with the button text on the Mocks.

 - Clicking "Reinstall Chromium" in Chrome currently just navigates to a URL for downloading Chrome.

the other flavour is shown when Chrome detects auto update is disabled. It spawns setup.exe on Windows. On Linux.. I'm assuming this flavour of dialog won't show. If it did, it looks like it would just LOG(ERROR).

The dialog doesn't have any tricky layout. Just a FillLayout with a fixed-width views::Label in it. With --secondary-ui-md it gets wider since that width constant is 330, so it will round up to 448. We probably want it to round ot 320 instead. To match the mock, it just seems to be a matter of hiding the `Later` button and updating strings. This is assuming we want to keep the UAC shield.


There is another dialog with "Chrome is out of date". Which is the "recovery bubble", IDS_RECOVERY_BUBBLE_TITLE. That one *does* seem to be wired in on Mac. I don't think it's on any of our tracking sheets - these dialogs inherit from GlobalErrorWithStandardBubble. (GlobalErrorBubbleView *is* on the tracking sheet, but only in the context of extensions). MacViews wiring for global error bubbles was added in r442503 . I need to make a bigger collection and add BrowserDialogTests for them all.


Also related to this is Issue 763227 - the "Critical Update" bubble. This was in the sheet with NEEDS_A_BUG (updated that cell).


removing ChromeOS for this issue because of:

bool OutdatedUpgradeBubbleView::IsAvailable() {
// This should only work on non-Chrome OS desktop platforms.
#if defined(OS_WIN) || defined(OS_MACOSX) || \
    (defined(OS_LINUX) && !defined(OS_CHROMEOS))
  return true;
#else
  return false;
#endif
}


harmony_wide.png
17.2 KB View Download
harmony_320.png
16.7 KB View Download
Blocking: 764111
Cc: tapted@chromium.org
Owner: bettes@chromium.org
OK! Question for bettes:

Status: This is most of the way there with the attached Windows screengrabs. I've changed the body text string, but I haven't changed the string on the button to "Update Chrom{e,ium}. The problem: this dialog has two modes:
 - mode (a) "Reinstall Chromium" takes you to a web page to download a new version of Chrome
 - mode (b) "Enable autoupdate" runs setup.exe with elevated permissions to re-enable the Chrome auto-update service.

Question:
 - Do want both these modes just to say "Update Chrome"?
 - [On Windows] Do we want to keep the UAC "shield" icon indicating that admin privileges may be required (the code detects when it thinks admin privileges are required and doesn't show it if not).


Apart from that this is done, but not committed yet. Screengrabs below.

CL -> https://chromium-review.googlesource.com/c/chromium/src/+/663108 
 - Add a DialogBrowserTest
 - Don't compile the test or the bubble on ChromeOS
 - Remove the "Later" button, add a Close [x]
 - Update the strings: there's just one now
 - Adjust width a minimal amount so it doesn't snap up to the
   "medium" dialog size under Harmony
 - Update histograms wrt Later/Close
Screen Shot 2017-09-15 at 10.22.46 am.png
23.1 KB View Download
Screen Shot 2017-09-15 at 10.23.12 am.png
21.4 KB View Download
Cc: -tapted@chromium.org bettes@chromium.org
Owner: tapted@chromium.org
Guidance from Shimi goes as follows: 

mode-A
- title: Can't update Chrome
- CTA: Turn on autoupdate

mode-B
- title: Can't update Chrome
- CTA: Reinstall Chrome(-ium)

Remove the shield in the CTA for both. 
Project Member

Comment 19 by bugdroid1@chromium.org, Sep 23 2017

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

commit 1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c
Author: Trent Apted <tapted@chromium.org>
Date: Sat Sep 23 00:21:44 2017

Harmony: Outdated Upgrade Bubble View outdated. Upgrade it.

 - Add a DialogBrowserTest
 - Don't compile the test or the bubble on ChromeOS
 - Remove the "Later" button, add a Close [x]
 - Update the body text strings: there's just one now
 - Update title and button strings
 - Adjust width a minimal amount so it doesn't snap up to the
   "medium" dialog size under Harmony
 - Update histograms comment wrt Later/Dismiss
 - Removes the elevation icon

Bug: 651648
Change-Id: I54ad1c422c56bda21f2eff7f33772aec41f76152
Reviewed-on: https://chromium-review.googlesource.com/663108
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Trent Apted <tapted@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503914}
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/app/chromium_strings.grd
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/app/generated_resources.grd
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/app/google_chrome_strings.grd
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/browser/ui/views/outdated_upgrade_bubble_view.cc
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/browser/ui/views/outdated_upgrade_bubble_view.h
[add] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/browser/ui/views/toolbar/outdated_upgrade_bubble_view_browsertest.cc
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/browser/ui/views/toolbar/toolbar_view.cc
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/chrome/test/BUILD.gn
[modify] https://crrev.com/1af2d4796e1743f9c26a2a5bc0fa7cef79f2cb8c/tools/metrics/actions/actions.xml

Thanks for the fix, seems like this will flow to Canary tomorrow. Can we add this in UX Review hotlist?
yes - this can be reviewed (it's not in my Windows Canary yet though - needs 63.0.3223.0, but we're still pushing 3222 as I write this).

To summon in Canary, you can pick one of the following flags and add it to the command line:

--simulate-outdated           // Simulates that current version is outdated.
--simulate-outdated-no-au     // Simulates that current version is outdated and auto-update is off.
--simulate-critical-update --check-for-update-interval=1   // Simulates a critical update being available.

for the third one, you need to wait a bit for the bubble to show.

Note the dialog does not exist on Mac.



There is also

--simulate-elevated-recovery  // Simulates that elevation is needed to recover upgrade channel.

which is a bubble type listed on  Issue 763233  - https://bugs.chromium.org/p/chromium/issues/attachment?aid=302158&inline=1



This is in the source code too:

--simulate-upgrade            // Simulates an update being available.

but it doesn't seem to do anything for me. (This is probably meant to put the menu item to upgrade Chrome via the window-modal dialog rather than the bubble - you can get this with --simulate-critical-update as well if you don't wait for the bubble to show.)
The NextAction date has arrived: 2017-09-29
I have such a hard time with these command lines. I can try again tomorrow with hwi's help or you can send screenshots. Whatever's easiest. One thing not explicitly called out in comment #17 is the missing highlight on the 3-dot menu. Hopefully that's part of this round? 
For windows command lines, I usually edit the taskbar shortcut 'Target'. You can do this by
 - Exiting Chrome (canary)
 - Shift+Right-click the taskbar icon
 - add stuff after the closing `"` in the `Target` field
 - OK / launch
 - (don't forget to remove the extra arguments when you're done!)




properties.png
17.1 KB View Download
target.png
21.2 KB View Download
simulate_outdated.png
14.7 KB View Download
simulate_outdated_no_au.png
14.2 KB View Download
simulate_critical_update.png
21.6 KB View Download
(and the missing highlight is a separate bug - I'll update  Issue 773979  - it's probably the same underlying cause)
A few notes on simulate_Critical_update.png

1. This might have been touched on with our last sync, but i'd be nice to have this shown in the small/320px size. Is this displayed at medium to avoid the title text from wrapping? 

2. Call to action should be "Restart now". Let's remove the "OK -" part

3. Remove the punctuation on the title text

Comment 27 by bsep@chromium.org, Jan 10 2018

Cc: tapted@chromium.org
Owner: bsep@chromium.org
Load balancing away from tapted@
Cc: bsep@chromium.org
Owner: kylixrd@chromium.org
For the critical update bubble, the message text width, and thus the overall bubble width is determined by a localizable value in character widths. For English, it's set to 55 characters. This is then used to indirectly calculate the width of the bubble.

To get the 320 width, this will need to change.
Project Member

Comment 30 by bugdroid1@chromium.org, Feb 13 2018

Cc: sindhu.chelamcherla@chromium.org
Labels: Needs-Feedback
Tried testing the issue on Win-10 using chrome version #66.0.3347.0 by clicking the 3 dot menu at the top most right corner and did not observe any "Can't Update Chrome" dialog

kylixrd@ - Is there any way this can be verified on the latest canary #66.0.3347.0 manually and requesting for help in verification of this on canary.

Thanks...!!

Comment 32 by bsep@chromium.org, Feb 14 2018

#31: Use the --simulate-outdated flag to summon the "Can't Update Chrome" dialog.
Cc: -bettes@chromium.org kylixrd@chromium.org
Owner: bettes@chromium.org
Let's get some official reviews going on this.
body text needs to use the Body 1 secondary. Everything lgtm
Screen Shot 2018-03-08 at 6.30.02 PM.png
83.9 KB View Download
Cc: -kylixrd@chromium.org
Owner: kylixrd@chromium.org
Labels: Hotlist-DesktopUIChecked Hotlist-DesktopUIToolingRequired

Sign in to add a comment