Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6717)

Unified Diff: chrome/browser/ui/webui/options2/browser_options_handler2.cc

Issue 10453041: Support for interactive set-chrome-as-default in Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/options2/browser_options_handler2.cc
diff --git a/chrome/browser/ui/webui/options2/browser_options_handler2.cc b/chrome/browser/ui/webui/options2/browser_options_handler2.cc
index 081078bc77ddf6bcd1889603219d5dc9e3dfcb16..e5d0d5ddec5d3731e438bf946ac96857a6249c4f 100644
--- a/chrome/browser/ui/webui/options2/browser_options_handler2.cc
+++ b/chrome/browser/ui/webui/options2/browser_options_handler2.cc
@@ -679,7 +679,8 @@ void BrowserOptionsHandler::CheckAutoLaunchCallback(
void BrowserOptionsHandler::UpdateDefaultBrowserState() {
// Check for side-by-side first.
- if (!ShellIntegration::CanSetAsDefaultBrowser()) {
+ if (ShellIntegration::CHANGE_DEFAULT_NOT_ALLOWED ==
grt (UTC plus 2) 2012/05/25 20:27:38 flip
motek. 2012/05/28 17:40:33 Done.
+ ShellIntegration::CanSetAsDefaultBrowser()) {
grt (UTC plus 2) 2012/05/25 20:27:38 indent four more spaces
motek. 2012/05/28 17:40:33 Done.
SetDefaultBrowserUIString(IDS_OPTIONS_DEFAULTBROWSER_SXS);
return;
}
@@ -707,14 +708,27 @@ void BrowserOptionsHandler::BecomeDefaultBrowser(const ListValue* args) {
if (default_browser_policy_.IsManaged())
return;
- content::RecordAction(UserMetricsAction("Options_SetAsDefaultBrowser"));
-#if defined(OS_MACOSX)
- if (ShellIntegration::SetAsDefaultBrowser())
+ if (ShellIntegration::CanSetAsDefaultBrowser() ==
+ ShellIntegration::CHANGE_DEFAULT_INTERACTIVE) {
+ // Interactive operation (a dialog has to be shown).
+ content::RecordAction(
+ UserMetricsAction("Options_ShowSetAsDefaultBrowser"));
+ if (!ShellIntegration::StartSetAsDefaultBrowserInteractive()) {
+ content::RecordAction(
+ UserMetricsAction("Options_SetAsDefaultBrowserCancelled"));
+ return; // No updates needed.
+ }
UpdateDefaultBrowserState();
+ } else {
+ content::RecordAction(UserMetricsAction("Options_SetAsDefaultBrowser"));
+#if defined(OS_MACOSX)
+ if (ShellIntegration::SetAsDefaultBrowser())
+ UpdateDefaultBrowserState();
#else
- default_browser_worker_->StartSetAsDefault();
- // Callback takes care of updating UI.
+ default_browser_worker_->StartSetAsDefault();
+ // Callback takes care of updating UI.
#endif
+ }
// If the user attempted to make Chrome the default browser, then he/she
// arguably wants to be notified when that changes.

Powered by Google App Engine
This is Rietveld 408576698