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

Unified Diff: chrome/browser/shell_integration.h

Issue 200025: Allow the default browser check to return "unknown" and reflect that in the UI. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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/shell_integration.h
===================================================================
--- chrome/browser/shell_integration.h (revision 25499)
+++ chrome/browser/shell_integration.h (working copy)
@@ -21,12 +21,22 @@
// this operation fails.
static bool SetAsDefaultBrowser();
- // Returns true if this instance of Chrome is the default browser. (Defined
- // as being the handler for the http/https protocols... we don't want to
- // report false here if the user has simply chosen to open HTML files in a
- // text editor and ftp links with a FTP client).
- static bool IsDefaultBrowser();
+ // On Linux, it may not be possible to determine or set the default browser
+ // on some desktop environments or configurations. So, we use this enum and
+ // not a plain bool. (Note however that if used like a bool, this enum will
+ // have reasonable behavior.)
+ enum DefaultBrowserState {
+ NOT_DEFAULT_BROWSER = 0,
+ IS_DEFAULT_BROWSER,
+ UNKNOWN_DEFAULT_BROWSER
+ };
+ // Attempt to determine if this instance of Chrome is the default browser and
+ // return the appropriate state. (Defined as being the handler for HTTP/HTTPS
+ // protocols; we don't want to report "no" here if the user has simply chosen
+ // to open HTML files in a text editor and FTP links with an FTP client.)
+ static DefaultBrowserState IsDefaultBrowser();
+
// Returns true if Firefox is likely to be the default browser for the current
// user. This method is very fast so it can be invoked in the UI thread.
static bool IsFirefoxDefaultBrowser();
@@ -59,8 +69,9 @@
// The current default browser UI state
enum DefaultBrowserUIState {
STATE_PROCESSING,
- STATE_DEFAULT,
- STATE_NOT_DEFAULT
+ STATE_NOT_DEFAULT,
+ STATE_IS_DEFAULT,
+ STATE_UNKNOWN
};
class DefaultBrowserObserver {
@@ -95,7 +106,7 @@
// thread. |CompleteCheckDefaultBrowser| notifies the view to update on the
// UI thread.
void ExecuteCheckDefaultBrowser();
- void CompleteCheckDefaultBrowser(bool is_default);
+ void CompleteCheckDefaultBrowser(DefaultBrowserState state);
// Functions that track the process of setting Chrome as the default
// browser. |ExecuteSetAsDefaultBrowser| updates the registry on the file
@@ -106,7 +117,7 @@
// Updates the UI in our associated view with the current default browser
// state.
- void UpdateUI(bool is_default);
+ void UpdateUI(DefaultBrowserState state);
DefaultBrowserObserver* observer_;

Powered by Google App Engine
This is Rietveld 408576698