RecentTabs submenu: fix crash when getting favicon for recently closed tab.

cause:
favicons for both recently closed tabs and tabs from other devices were fetched the same way:
1) via synchronous SessionModelAssociator::GetSyncedFaviconForPageURL().
2) if (1) fails, via asynchronous FaviconService::GetFaviconImageForURL().
TabRestoreServiceChanged() is called on every tab close, triggering the recently closed menu entries to be regenerated.
in some scenarios, e.g. if tab close is triggered from renderer, using (1) to retrieve favicon results in a crash.

fix:
- since (1) is really only for synced tabs, use it only for tabs from other devices.
- (2) is used for recently closed tabs and if (1) fails for tabs from other devices.

BUG=310245
TEST=crash in bug rpt doesn't happen.

Review URL: https://codereview.chromium.org/32823014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230482 0039d316-1c4b-4281-b951-d872f2087c98
Automatically register canary GUIDs on install, but don't expose in-browser UI for registration.

This completes the work necessary to enable SxS distributions to be set as the default browser.

BUG=273248
TEST=
 1) Uninstall all Chrome products (Canary, Stable, Chromium)
 2) Install an official build of Chrome and set it as default browser.
 3) Run setup.exe --chrome-sxs to install SxS.
 4) Confirm that on startup, no set default infobar prompt is shown.
 5) In chrome://settings, confirm that the text "This is a secondary installation..." is seen
 6) In Windows "Choose default browser" utility, confirm that "Google Chrome Canary" is displayed and choose it.
 7) Restart canary, and confirm that in chrome://settings it says "The default browser is currently Google Chrome."
 8) Pin "Google Chrome Canary" tile to Start Screen, and confirm that launching Canary from Start Tile launches in Metro.
 9) Run setup.exe --chrome-sxs --uninstall and confirm that the "Change default browser" combo box is displayed.
 10) Choose option to change default browser to Firefox and Uninstall.
 11) Using regedit, confirm that GUIDS for canary are gone.
 12) Refresh settings in Windows Default browser utility, and confirm that Firefox is displayed.
 13) In Windows Default Browser utility, set Google Chrome (this is the original, Stable channel installation) as default browser.
 14) Run Chrome Stable and confirm in settings that it says "The default browser is currently Google Chrome"

pkasting: chrome/browser/ui/*
grt, gab: chrome/installer/*, chrome/browser/shell_integration_win.cc
jhawkins (optional): chrome/browser/ui/webui/*

Review URL: https://codereview.chromium.org/34053002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230483 0039d316-1c4b-4281-b951-d872f2087c98
Refactor the Win audio code and make channel functions support a device id.
The bulk of the changes is simply deleting copy/pasted code and related refactoring.
The functional part of the cl is based on a patch sent to us from user kearygriffin (see bug).

BUG=276894

Review URL: https://codereview.chromium.org/37303002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230484 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 230483
WebView: avoid library name clash when building standalone.

The standalone libwebviewchromium.so "clashes" with the one built using
android_webview_build==1; rename it in the standalone case so that if
you end up with both available, the correct one is used.

product_prefix is used because this ensures that the existing logic to
use product_extension to make component builds work is not disrupted.
Tested change with component and non-component builds.

BUG=

Review URL: https://codereview.chromium.org/37373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230485 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 230485