Chromium Code Reviews| 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_); |
| +} |