summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-18 21:47:17 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-18 21:47:17 +0000
commited453c0a1d45f244d9b675c59bad604029cb1281 (patch)
tree69788c4d6f709254cd5e061f7f84c81d30d9e6fe /chrome/browser/printing
parent3eb923c081d9e23654f6f618b0ba553fb7f2bcfa (diff)
downloadchromium_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.cc34
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;
}