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

Issue 132991 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2012
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 0
Type: Bug

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment

Quirky metro experience

Project Member Reported by grt@chromium.org, Jun 15 2012

Issue description

Chrome 21.0.1173.0 r141671
Windows 8 8432

Do this with a fresh machine (one that's never had Chrome on it):
- mini_installer.exe --multi-install --chrome --verbose-logging --do-not-launch-chrome
- launch Chrome via task bar icon (desktop shortcut is created)
- exit Chrome
- launch Chrome via desktop shortcut (default browser infobar pops up)
- accept infobar to make chrome default
- accept UAC
- select Google Chrome from the Greg dialog
- switch to Start screen: non-metro Chrome tile is shown
- click Google Chrome tile (it's the shortcut in %APPDATA%\Microsoft\Windows\Start Menu\Programs\Google Chrome): Windows switches back to desktop, bringing Chrome to the foreground
- be confused and repeat the last three steps
- exit Chrome
- switch to Start screen: non-metro tile is still shown
- click Google Chrome tile: Windows transitions to desktop and then to immersive Chrome
- switch to Start screen: non-metro tile is still shown
- switch back to Chrome
- close the tab to exit Chrome: Windows transitions to Start screen, still w/ non-metro tile

I somehow got the Start screen to show the metro tile, at which point clicking it didn't first go to Desktop, but I can't seem to get that to happen now.
 
...whoa. Nuts. Is this on 8400?

Comment 2 by grt@chromium.org, Jun 15 2012

8432
Yikes. What happens if you install the dev channel of Chrome?

Comment 4 by grt@chromium.org, Jun 15 2012

Same thing.
Cc: cpu@chromium.org siggi@chromium.org ananta@chromium.org robertshield@chromium.org
Bad times. Can one of you installer folks look into this ASAP?

Comment 6 by grt@chromium.org, Jun 15 2012

Same thing in 8400.
...that's strange. I was able to install completely fine in 8400 from the Dev channel. Is anyone else seeing this kind of behavior?
Can you check with Gab whether his recent registration changes fix this? Maybe try installing from a locally-built mini_installer?

Comment 9 by grt@chromium.org, Jun 18 2012

did you test on a clean 8400 install (one that had never seen Chrome before)?
Okay, just tested on a clean 8432 install and repro'ed basically the above. On my first click on the non-Metro tile, I got a desktop flash --> Chrome splash --> the attached totally unresponsive/non-functional/confusing screen. Alt+F4 + relaunch non-Metro tile gives desktop flash --> functional Metro Chrome.

So this is bad. Gab/grt, either of you have a clue what's up here?
quirky_1.png
32.2 KB View Download
 Issue 133366  has been merged into this issue.
Labels: -Pri-2 Pri-0
This is a major issue. Bumping to P0.

Comment 13 by gab@chromium.org, Jun 18 2012

This might be related: I'm doing last checks on 8400 for the appid registration CL and I noticed that sometimes Chrome "has all its defaults", yet no Metro icon is shown (nor does Chrome launch in Metro), if I click "Set this program as default" in "Default Programs" (although the label there clearly states "This program has all its defaults") it suddenly enables the Metro tile which has me thinking we need to notify Windows of something somehow (very precise ;)) and we aren't.
Ananta, any thoughts from back in the early days when we used to e.g. poke the appid manually?

Comment 15 by grt@chromium.org, Jun 18 2012

I never saw an unresponsive Chrome.  That seems badder than bad.  I'll try to figure out what was going on with my original scenario.  In the process, hopefully I can repro this unresponsive screen.  I'll report back with new as I have some.
Perfect. Thanks, Greg!
Also possibly related, if someone else having the same issue wants to test- after unpinning the chrome icon from the start menu (metro version icon), it won't come back even after uninstalling and reinstalling. An icon will appear after install but it is the general one that would take you to the desktop version, not the version with the large icon (even after it is set to all defaults).

Comment 18 by cpu@chromium.org, Jun 18 2012

I feels as if windows needs some time to realize we are a metro browser. I wonder if there is a poorly documented shell notification (like SHChangeNotify) we can send to say "hey" update your stuff.  Maybe SHCNE_ASSOCCHANGED works?

Now this could be an issue of this windows build, so we probably want to open a connect bug, stating that they have regressed on this from 8400.

Gideon just tested with a fresh install of chrome metro and used the control panel to set chrome as the default browser.

That works

So it is quite possible that there is an additional step which the default programs applet is doing which we are missing in our default browser registration thingy

Comment 20 by gab@chromium.org, Jun 18 2012

i.e. all the way to "- switch to Start screen: non-metro Chrome tile is shown"
and then instead of doing all the other steps just go to default programs and trigger manually then everything works as expected?
Actually, no, sorry for the confusion - I only confirmed what you'd already found, Gab, namely that clicking the "Set this program as default" in the Control Panel fixes up the brokenness.

Comment 22 by grt@chromium.org, Jun 18 2012

Re comment #18, I get the same behavior on 8400.  I haven't gone back further in time.

Comment 23 by gab@chromium.org, Jun 19 2012

I can confirm that after "- switch to Start screen: non-metro Chrome tile is shown" simply going to "Default Programs" and selecting a random protocol (other than the already selected http/https) for Chrome seems to refresh some things and we then get the Metro properties on the Start Screen.

I'll try on OOB 8370.
+1 to try cpu's suggestion of SHChangeNotify with SHCNE_ASSOCCHANGED
Debugged the control panel default programs applet a bit. It seems to call
SHChangeNotify with the above flag multiple times for every default browser change.
calls come from sud.dll

It would be good to try it and also validate whether these calls happen when we set the default browser through the magic shell api.

Comment 25 by gab@chromium.org, Jun 19 2012

Repros on 8370 (and we don't support Metro before that so the regression range is all Win8s...).

I can actually repro on subsequent installs when uninstalling/reinstalling.

I think the reason we didn't see this before is that we just switched to using the Greg dialog (which doesn't seem to trigger the notification) the "ugly all defaults dialog" we used before would.

Comment 26 by gab@chromium.org, Jun 19 2012

Owner: gab@chromium.org
Status: Started
Looks like we are already doing this in the normal MakeChromeDefault() case [1], we need to also do it in the interactive make default.

[1] http://code.google.com/searchframe#OAMlx_jo-ck/src/chrome/installer/util/shell_util.cc&exact_package=chromium&q=SHCNE_ASSOCCHANGED&type=cs&l=1161

Comment 27 by grt@chromium.org, Jun 19 2012

Not to say that a notify won't make the problem go away, but it doesn't make sense that we would have to notify the shell after invoking the SHOpenWithDialog.

Comment 28 by gab@chromium.org, Jun 19 2012

Right, the dialog being a Windows call, you'd think it'd be smart enough to invalidate the cache itself... but it looks like it doesn't.

Maybe we also want to log a bug with MS, but we shouldn't hold off from notifying if it fixes it imo.
Once all of this shakes out I'll definitely log a bug with MS should it turn out that they're failing to do the obvious right thing.
Project Member

Comment 30 by bugdroid1@chromium.org, Jun 19 2012

The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=142911

------------------------------------------------------------------------
r142911 | grt@chromium.org | Mon Jun 18 21:55:55 PDT 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/util/shell_util.cc?r1=142911&r2=142910&pathrev=142911

Notify Windows Shell after making Chrome default interactively

Patch From Gabriel Charette <gab@chromium.org>
BUG= 132991 
TEST=Chrome Metro tile appears immediately after making Chrome default.

Review URL: https://chromiumcodereview.appspot.com/10576009
Patch from Gabriel Charette <gab@chromium.org>.
------------------------------------------------------------------------

Comment 31 by gab@chromium.org, Jun 19 2012

I think this fixes the behavior described (at least it fixes the way I was repro'ing it): please confirm that it's fixed on your side and we can close this madness :)!

Comment 32 by grt@chromium.org, Jun 20 2012

Labels: Merge-Requested Mstone-21 ReleaseBlock-Beta
Status: Verified
Verified with 21.0.1181.0 (Developer Build 142934) m.  This missed the branch point by one rev, so the merge will be trivial.  This is an ultra-low risk change that fixes a really bad behavior.  I'd like to merge it asap.  Thanks.

Comment 33 by kareng@google.com, Jun 20 2012

Labels: -Merge-Requested Merge-Approved
Project Member

Comment 34 by bugdroid1@chromium.org, Jun 20 2012

Labels: -Merge-Approved merge-merged-1180
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=143183

------------------------------------------------------------------------
r143183 | grt@chromium.org | Wed Jun 20 09:17:41 PDT 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/branches/1180/src/chrome/installer/util/shell_util.cc?r1=143183&r2=143182&pathrev=143183

Merge 142911 - Notify Windows Shell after making Chrome default interactively

Patch From Gabriel Charette <gab@chromium.org>
BUG= 132991 
TEST=Chrome Metro tile appears immediately after making Chrome default.

Review URL: https://chromiumcodereview.appspot.com/10576009
Patch from Gabriel Charette <gab@chromium.org>.

TBR=grt@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10581040
------------------------------------------------------------------------
Verified this on Latest Dev 21.0.1180.3.

Steps Followed :
------------------------------
1. Installed chrome with parameters "chrome.exe --chrome --multi-install --verbose-logging --do-not-launch-chrome"
2. Launched chrome from taskbar
3. Exit chrome
4. Launched chrome from Desktop shortcut
5. There was an info bar to make chrome as default browser and from infobar select "set as default"
6. Greg dialog pops up with all installed browser on system, Selected "Google Chrome" 
7. Switched to start screen and chrome on start screen got metro properties.
8. On launching chrome manually  from start-screen launches in metro mode.


Whoo! So does "Verified" count as fixed? :) (I'm still figuring out some of the crbug labels...)

Thanks Greg and Prudhvi!
Project Member

Comment 37 by bugdroid1@chromium.org, Oct 13 2012

Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member

Comment 38 by bugdroid1@chromium.org, Mar 10 2013

Labels: -Area-Internals -Internals-Install -Mstone-21 M-21 Cr-Internals Cr-Internals-Install
Project Member

Comment 39 by bugdroid1@chromium.org, Mar 14 2013

Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Project Member

Comment 40 by bugdroid1@chromium.org, Apr 5 2013

Labels: -Cr-Internals-Install Cr-Internals-Installer

Sign in to add a comment