| Index: chrome/browser/shell_integration.cc
|
| diff --git a/chrome/browser/shell_integration.cc b/chrome/browser/shell_integration.cc
|
| index 0b66d078dd23e449226561478e5579c10920489e..fd0e035a0b794ac17c35b5abe8cab64ac96c2f54 100644
|
| --- a/chrome/browser/shell_integration.cc
|
| +++ b/chrome/browser/shell_integration.cc
|
| @@ -61,86 +61,131 @@ 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);
|
| - BrowserThread::PostTask(
|
| - BrowserThread::FILE, FROM_HERE,
|
| - NewRunnableMethod(
|
| - this, &DefaultBrowserWorker::ExecuteCheckDefaultBrowser));
|
| +void ShellIntegration::DefaultWebClientWorker::StartCheckIsDefault() {
|
| + if (observer_) {
|
| + observer_->SetDefaultWebClientUIState(STATE_PROCESSING);
|
| + BrowserThread::PostTask(
|
| + BrowserThread::FILE, FROM_HERE,
|
| + NewRunnableMethod(
|
| + 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() {
|
| +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));
|
| }
|
|
|
| -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));
|
| - ShellIntegration::SetAsDefaultBrowser();
|
| + SetAsDefault();
|
| 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_) {
|
| - // Set as default completed, check again to make sure it stuck...
|
| - StartCheckDefaultBrowser();
|
| - }
|
| + // Set as default completed, check again to make sure it stuck...
|
| + 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_);
|
| +}
|
|
|