| Index: chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc
|
| diff --git a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc
|
| index ab18eaeace0060306f89e2629b640ce9bb4aa33f..4c5f73e87b4c51cc975d205d92d65602efe86da3 100644
|
| --- a/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc
|
| +++ b/chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc
|
| @@ -49,19 +49,22 @@ bool CloudPrintPrivateSetupConnectorFunction::RunImpl() {
|
| params->credentials,
|
| params->user_settings);
|
| } else {
|
| - if (!CloudPrintProxyServiceFactory::GetForProfile(GetProfile()))
|
| + CloudPrintProxyService* service =
|
| + CloudPrintProxyServiceFactory::GetForProfile(GetProfile());
|
| + if (!service)
|
| return false;
|
| scoped_ptr<base::DictionaryValue> user_setings(
|
| params->user_settings.ToValue());
|
| - CloudPrintProxyServiceFactory::GetForProfile(GetProfile())
|
| - ->EnableForUserWithRobot(params->credentials,
|
| - params->robot_email,
|
| - params->user_email,
|
| - *user_setings);
|
| + service->EnableForUserWithRobot(params->credentials,
|
| + params->robot_email,
|
| + params->user_email,
|
| + *user_setings);
|
| }
|
| SendResponse(true);
|
| -#endif
|
| return true;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
|
|
| CloudPrintPrivateGetHostNameFunction::CloudPrintPrivateGetHostNameFunction() {
|
| @@ -85,26 +88,29 @@ CloudPrintPrivateGetPrintersFunction::CloudPrintPrivateGetPrintersFunction() {
|
| CloudPrintPrivateGetPrintersFunction::~CloudPrintPrivateGetPrintersFunction() {
|
| }
|
|
|
| -void CloudPrintPrivateGetPrintersFunction::CollectPrinters() {
|
| +void CloudPrintPrivateGetPrintersFunction::SendResults(
|
| + const std::vector<std::string>& printers) {
|
| + results_ = api::cloud_print_private::GetPrinters::Results::Create(printers);
|
| + SendResponse(true);
|
| +}
|
| +
|
| +bool CloudPrintPrivateGetPrintersFunction::RunImpl() {
|
| #if defined(ENABLE_FULL_PRINTING)
|
| std::vector<std::string> result;
|
| if (CloudPrintTestsDelegate::instance()) {
|
| - result = CloudPrintTestsDelegate::instance()->GetPrinters();
|
| + SendResults(CloudPrintTestsDelegate::instance()->GetPrinters());
|
| } else {
|
| - CloudPrintProxyService::GetPrintersAvalibleForRegistration(&result);
|
| + CloudPrintProxyService* service =
|
| + CloudPrintProxyServiceFactory::GetForProfile(GetProfile());
|
| + if (!service)
|
| + return false;
|
| + service->GetPrinters(
|
| + base::Bind(&CloudPrintPrivateGetPrintersFunction::SendResults, this));
|
| }
|
| - results_ = api::cloud_print_private::GetPrinters::Results::Create(result);
|
| - content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&CloudPrintPrivateGetPrintersFunction::SendResponse,
|
| - this, true));
|
| -#endif
|
| -}
|
| -
|
| -
|
| -bool CloudPrintPrivateGetPrintersFunction::RunImpl() {
|
| - content::BrowserThread::GetBlockingPool()->PostTask(FROM_HERE,
|
| - base::Bind(&CloudPrintPrivateGetPrintersFunction::CollectPrinters, this));
|
| return true;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
|
|
|
|
|
|