diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-18 21:47:17 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-18 21:47:17 +0000 |
commit | ed453c0a1d45f244d9b675c59bad604029cb1281 (patch) | |
tree | 69788c4d6f709254cd5e061f7f84c81d30d9e6fe /chrome/browser/printing | |
parent | 3eb923c081d9e23654f6f618b0ba553fb7f2bcfa (diff) | |
download | chromium_src-ed453c0a1d45f244d9b675c59bad604029cb1281.zip chromium_src-ed453c0a1d45f244d9b675c59bad604029cb1281.tar.gz chromium_src-ed453c0a1d45f244d9b675c59bad604029cb1281.tar.bz2 |
Fixed ServiceProcessControl::Launch to remember the Task supplied to it in a list so that multiple successive Launch calls will work. Also added separate success and failure tasks to Launch. Modified the browser test to test this new functionality. Modified callers.
BUG=58802
TEST=Browser tests, Cloud Print Proxy UI.
Review URL: http://codereview.chromium.org/3851001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62978 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing')
-rw-r--r-- | chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc index 9b46a95..3c63d7d 100644 --- a/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc +++ b/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc @@ -142,36 +142,30 @@ void CloudPrintProxyService::RefreshCloudPrintProxyStatus() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); ServiceProcessControl* process_control = ServiceProcessControlManager::instance()->GetProcessControl(profile_); - DCHECK(process_control && process_control->is_connected()); - if (process_control && process_control->is_connected()) { - Callback2<bool, std::string>::Type* callback = - NewCallback(this, &CloudPrintProxyService::StatusCallback); - // GetCloudPrintProxyStatus takes ownership of callback. - process_control->GetCloudPrintProxyStatus(callback); - } + DCHECK(process_control->is_connected()); + Callback2<bool, std::string>::Type* callback = + NewCallback(this, &CloudPrintProxyService::StatusCallback); + // GetCloudPrintProxyStatus takes ownership of callback. + process_control->GetCloudPrintProxyStatus(callback); } void CloudPrintProxyService::EnableCloudPrintProxy(const std::string& lsid, const std::string& email) { ServiceProcessControl* process_control = ServiceProcessControlManager::instance()->GetProcessControl(profile_); - DCHECK(process_control && process_control->is_connected()); - if (process_control->is_connected()) { - process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid)); - // Assume the IPC worked. - profile_->GetPrefs()->SetString(prefs::kCloudPrintEmail, email); - } + DCHECK(process_control->is_connected()); + process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid)); + // Assume the IPC worked. + profile_->GetPrefs()->SetString(prefs::kCloudPrintEmail, email); } void CloudPrintProxyService::DisableCloudPrintProxy() { ServiceProcessControl* process_control = ServiceProcessControlManager::instance()->GetProcessControl(profile_); - DCHECK(process_control && process_control->is_connected()); - if (process_control->is_connected()) { - process_control->Send(new ServiceMsg_DisableCloudPrintProxy); - // Assume the IPC worked. - profile_->GetPrefs()->SetString(prefs::kCloudPrintEmail, std::string()); - } + DCHECK(process_control->is_connected()); + process_control->Send(new ServiceMsg_DisableCloudPrintProxy); + // Assume the IPC worked. + profile_->GetPrefs()->SetString(prefs::kCloudPrintEmail, std::string()); } void CloudPrintProxyService::StatusCallback(bool enabled, std::string email) { @@ -184,7 +178,7 @@ bool CloudPrintProxyService::InvokeServiceTask(Task* task) { ServiceProcessControlManager::instance()->GetProcessControl(profile_); DCHECK(process_control); if (process_control) - process_control->Launch(task); + process_control->Launch(task, NULL); return !!process_control; } |