Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc

Issue 8403015: base::Bind: Convert ServiceProcessControl::CloudPrintProxyInfoHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fix. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/service/service_process_control.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" 5 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h"
6 6
7 #include <stack> 7 #include <stack>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h"
11 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
12 #include "chrome/browser/browser_process.h" 13 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/notifications/desktop_notification_service.h" 14 #include "chrome/browser/notifications/desktop_notification_service.h"
14 #include "chrome/browser/notifications/notification.h" 15 #include "chrome/browser/notifications/notification.h"
15 #include "chrome/browser/notifications/notification_ui_manager.h" 16 #include "chrome/browser/notifications/notification_ui_manager.h"
16 #include "chrome/browser/prefs/pref_service.h" 17 #include "chrome/browser/prefs/pref_service.h"
17 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h" 18 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h"
18 #include "chrome/browser/profiles/profile.h" 19 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/service/service_process_control.h" 20 #include "chrome/browser/service/service_process_control.h"
20 #include "chrome/browser/ui/browser_list.h" 21 #include "chrome/browser/ui/browser_list.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 g_browser_process->notification_ui_manager()->CancelById( 146 g_browser_process->notification_ui_manager()->CancelById(
146 token_expired_delegate_->id()); 147 token_expired_delegate_->id());
147 token_expired_delegate_ = NULL; 148 token_expired_delegate_ = NULL;
148 if (!keep_alive) 149 if (!keep_alive)
149 BrowserList::EndKeepAlive(); 150 BrowserList::EndKeepAlive();
150 } 151 }
151 } 152 }
152 153
153 void CloudPrintProxyService::OnCloudPrintSetupClosed() { 154 void CloudPrintProxyService::OnCloudPrintSetupClosed() {
154 MessageLoop::current()->PostTask( 155 MessageLoop::current()->PostTask(
155 FROM_HERE, NewRunnableFunction(&BrowserList::EndKeepAlive)); 156 FROM_HERE, base::Bind(&BrowserList::EndKeepAlive));
156 } 157 }
157 158
158 void CloudPrintProxyService::RefreshCloudPrintProxyStatus() { 159 void CloudPrintProxyService::RefreshCloudPrintProxyStatus() {
159 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 160 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
160 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance(); 161 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance();
161 DCHECK(process_control->is_connected()); 162 DCHECK(process_control->is_connected());
162 ServiceProcessControl::CloudPrintProxyInfoHandler* callback = 163 ServiceProcessControl::CloudPrintProxyInfoHandler callback =
163 NewCallback(this, &CloudPrintProxyService::ProxyInfoCallback); 164 base::Bind(&CloudPrintProxyService::ProxyInfoCallback,
165 base::Unretained(this));
164 // GetCloudPrintProxyInfo takes ownership of callback. 166 // GetCloudPrintProxyInfo takes ownership of callback.
165 process_control->GetCloudPrintProxyInfo(callback); 167 process_control->GetCloudPrintProxyInfo(callback);
166 } 168 }
167 169
168 void CloudPrintProxyService::EnableCloudPrintProxy(const std::string& lsid, 170 void CloudPrintProxyService::EnableCloudPrintProxy(const std::string& lsid,
169 const std::string& email) { 171 const std::string& email) {
170 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance(); 172 ServiceProcessControl* process_control = ServiceProcessControl::GetInstance();
171 DCHECK(process_control->is_connected()); 173 DCHECK(process_control->is_connected());
172 process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid)); 174 process_control->Send(new ServiceMsg_EnableCloudPrintProxy(lsid));
173 // Assume the IPC worked. 175 // Assume the IPC worked.
(...skipping 28 matching lines...) Expand all
202 proxy_id_ = proxy_info.proxy_id; 204 proxy_id_ = proxy_info.proxy_id;
203 profile_->GetPrefs()->SetString( 205 profile_->GetPrefs()->SetString(
204 prefs::kCloudPrintEmail, 206 prefs::kCloudPrintEmail,
205 proxy_info.enabled ? proxy_info.email : std::string()); 207 proxy_info.enabled ? proxy_info.email : std::string());
206 } 208 }
207 209
208 bool CloudPrintProxyService::InvokeServiceTask(const base::Closure& task) { 210 bool CloudPrintProxyService::InvokeServiceTask(const base::Closure& task) {
209 ServiceProcessControl::GetInstance()->Launch(task, base::Closure()); 211 ServiceProcessControl::GetInstance()->Launch(task, base::Closure());
210 return true; 212 return true;
211 } 213 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/service/service_process_control.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698