Index: chrome/browser/shell_integration.cc |
diff --git a/chrome/browser/shell_integration.cc b/chrome/browser/shell_integration.cc |
index 0b66d078dd23e449226561478e5579c10920489e..c9b4c3ec51e548bfcac5119effa15d46622048f0 100644 |
--- a/chrome/browser/shell_integration.cc |
+++ b/chrome/browser/shell_integration.cc |
@@ -61,86 +61,136 @@ CommandLine ShellIntegration::CommandLineArgsForLauncher( |
} |
/////////////////////////////////////////////////////////////////////////////// |
-// ShellIntegration::DefaultBrowserWorker |
+// ShellIntegration::DefaultWebClientWorker |
// |
-ShellIntegration::DefaultBrowserWorker::DefaultBrowserWorker( |
- DefaultBrowserObserver* observer) |
+ShellIntegration::DefaultWebClientWorker::DefaultWebClientWorker( |
+ DefaultWebClientObserver* observer) |
: observer_(observer) { |
} |
-void ShellIntegration::DefaultBrowserWorker::StartCheckDefaultBrowser() { |
- observer_->SetDefaultBrowserUIState(STATE_PROCESSING); |
+void ShellIntegration::DefaultWebClientWorker::StartCheckIsDefault() { |
+ if (observer_) { |
+ observer_->SetDefaultWebClientUIState(STATE_PROCESSING); |
+ } |
BrowserThread::PostTask( |
BrowserThread::FILE, FROM_HERE, |
NewRunnableMethod( |
- this, &DefaultBrowserWorker::ExecuteCheckDefaultBrowser)); |
+ this, &DefaultWebClientWorker::ExecuteCheckIsDefault)); |
} |
-void ShellIntegration::DefaultBrowserWorker::StartSetAsDefaultBrowser() { |
- observer_->SetDefaultBrowserUIState(STATE_PROCESSING); |
+void ShellIntegration::DefaultWebClientWorker::StartSetAsDefault() { |
+ if (observer_) { |
+ observer_->SetDefaultWebClientUIState(STATE_PROCESSING); |
+ } |
BrowserThread::PostTask( |
BrowserThread::FILE, FROM_HERE, |
NewRunnableMethod( |
- this, &DefaultBrowserWorker::ExecuteSetAsDefaultBrowser)); |
+ this, &DefaultWebClientWorker::ExecuteSetAsDefault)); |
} |
-void ShellIntegration::DefaultBrowserWorker::ObserverDestroyed() { |
+void ShellIntegration::DefaultWebClientWorker::ObserverDestroyed() { |
// Our associated view has gone away, so we shouldn't call back to it if |
// our worker thread returns after the view is dead. |
observer_ = NULL; |
} |
/////////////////////////////////////////////////////////////////////////////// |
-// DefaultBrowserWorker, private: |
+// DefaultWebClientWorker, private: |
-void ShellIntegration::DefaultBrowserWorker::ExecuteCheckDefaultBrowser() { |
+ |
xiyuan
2011/05/24 17:55:20
nit: nuke one empty line.
benwells
2011/05/25 08:07:19
Done.
|
+void ShellIntegration::DefaultWebClientWorker::ExecuteCheckIsDefault() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
- DefaultBrowserState state = ShellIntegration::IsDefaultBrowser(); |
+ DefaultWebClientState state = CheckIsDefault(); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
NewRunnableMethod( |
- this, &DefaultBrowserWorker::CompleteCheckDefaultBrowser, state)); |
+ this, &DefaultWebClientWorker::CompleteCheckIsDefault, |
+ state)); |
Mark Mentovai
2011/05/24 16:28:53
This would fit on the previous line.
benwells
2011/05/25 08:07:19
Done.
|
} |
-void ShellIntegration::DefaultBrowserWorker::CompleteCheckDefaultBrowser( |
- DefaultBrowserState state) { |
+void ShellIntegration::DefaultWebClientWorker::CompleteCheckIsDefault( |
+ DefaultWebClientState state) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
UpdateUI(state); |
} |
-void ShellIntegration::DefaultBrowserWorker::ExecuteSetAsDefaultBrowser() { |
+void ShellIntegration::DefaultWebClientWorker::ExecuteSetAsDefault() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
+ SetAsDefault(); |
ShellIntegration::SetAsDefaultBrowser(); |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
NewRunnableMethod( |
- this, &DefaultBrowserWorker::CompleteSetAsDefaultBrowser)); |
+ this, &DefaultWebClientWorker::CompleteSetAsDefault)); |
} |
-void ShellIntegration::DefaultBrowserWorker::CompleteSetAsDefaultBrowser() { |
+void ShellIntegration::DefaultWebClientWorker::CompleteSetAsDefault() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
if (observer_) { |
Mark Mentovai
2011/05/24 16:28:53
It doesn’t seem like you need this |observer_| che
benwells
2011/05/25 08:07:19
Interesting and valid point. Instead of checking h
|
// Set as default completed, check again to make sure it stuck... |
- StartCheckDefaultBrowser(); |
+ StartCheckIsDefault(); |
} |
} |
-void ShellIntegration::DefaultBrowserWorker::UpdateUI( |
- DefaultBrowserState state) { |
+void ShellIntegration::DefaultWebClientWorker::UpdateUI( |
+ DefaultWebClientState state) { |
if (observer_) { |
switch (state) { |
- case NOT_DEFAULT_BROWSER: |
- observer_->SetDefaultBrowserUIState(STATE_NOT_DEFAULT); |
+ case NOT_DEFAULT_WEB_CLIENT: |
+ observer_->SetDefaultWebClientUIState(STATE_NOT_DEFAULT); |
break; |
- case IS_DEFAULT_BROWSER: |
- observer_->SetDefaultBrowserUIState(STATE_IS_DEFAULT); |
+ case IS_DEFAULT_WEB_CLIENT: |
+ observer_->SetDefaultWebClientUIState(STATE_IS_DEFAULT); |
break; |
- case UNKNOWN_DEFAULT_BROWSER: |
- observer_->SetDefaultBrowserUIState(STATE_UNKNOWN); |
+ case UNKNOWN_DEFAULT_WEB_CLIENT: |
+ observer_->SetDefaultWebClientUIState(STATE_UNKNOWN); |
break; |
default: |
break; |
} |
} |
} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// ShellIntegration::DefaultBrowserWorker |
+// |
+ |
+ShellIntegration::DefaultBrowserWorker::DefaultBrowserWorker( |
+ DefaultWebClientObserver* observer) |
+ : DefaultWebClientWorker(observer) { |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// DefaultBrowserWorker, private: |
+ |
+ShellIntegration::DefaultWebClientState |
+ShellIntegration::DefaultBrowserWorker::CheckIsDefault() { |
+ return ShellIntegration::IsDefaultBrowser(); |
+} |
+ |
+void ShellIntegration::DefaultBrowserWorker::SetAsDefault() { |
+ ShellIntegration::SetAsDefaultBrowser(); |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// ShellIntegration::DefaultProtocolClientWorker |
+// |
+ |
+ShellIntegration::DefaultProtocolClientWorker::DefaultProtocolClientWorker( |
+ DefaultWebClientObserver* observer, const std::string& protocol) |
+ : DefaultWebClientWorker(observer), |
+ protocol_(protocol) { |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
+// DefaultProtocolClientWorker, private: |
+ |
+ShellIntegration::DefaultWebClientState |
+ShellIntegration::DefaultProtocolClientWorker::CheckIsDefault() { |
+ return ShellIntegration::IsDefaultProtocolClient(protocol_); |
+} |
+ |
+void ShellIntegration::DefaultProtocolClientWorker::SetAsDefault() { |
+ ShellIntegration::SetAsDefaultProtocolClient(protocol_); |
+} |