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

Side by Side Diff: chrome/browser/extensions/api/cloud_print_private/cloud_print_private_api.cc

Issue 22577010: Printing: Add a basic printing mode without print preview and cloud print. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 months 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/api/cloud_print_private/cloud_print_private_ api.h" 5 #include "chrome/browser/extensions/api/cloud_print_private/cloud_print_private_ api.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/threading/sequenced_worker_pool.h" 9 #include "base/threading/sequenced_worker_pool.h"
10 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" 10 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h"
(...skipping 21 matching lines...) Expand all
32 CloudPrintPrivateSetupConnectorFunction:: 32 CloudPrintPrivateSetupConnectorFunction::
33 CloudPrintPrivateSetupConnectorFunction() { 33 CloudPrintPrivateSetupConnectorFunction() {
34 } 34 }
35 35
36 CloudPrintPrivateSetupConnectorFunction:: 36 CloudPrintPrivateSetupConnectorFunction::
37 ~CloudPrintPrivateSetupConnectorFunction() { 37 ~CloudPrintPrivateSetupConnectorFunction() {
38 } 38 }
39 39
40 40
41 bool CloudPrintPrivateSetupConnectorFunction::RunImpl() { 41 bool CloudPrintPrivateSetupConnectorFunction::RunImpl() {
42 #if defined(ENABLE_FULL_PRINTING)
42 using api::cloud_print_private::SetupConnector::Params; 43 using api::cloud_print_private::SetupConnector::Params;
43 scoped_ptr<Params> params(Params::Create(*args_)); 44 scoped_ptr<Params> params(Params::Create(*args_));
44 if (CloudPrintTestsDelegate::instance()) { 45 if (CloudPrintTestsDelegate::instance()) {
45 CloudPrintTestsDelegate::instance()->SetupConnector( 46 CloudPrintTestsDelegate::instance()->SetupConnector(
46 params->user_email, 47 params->user_email,
47 params->robot_email, 48 params->robot_email,
48 params->credentials, 49 params->credentials,
49 params->user_settings); 50 params->user_settings);
50 } else { 51 } else {
51 if (!CloudPrintProxyServiceFactory::GetForProfile(profile_)) 52 if (!CloudPrintProxyServiceFactory::GetForProfile(profile_))
52 return false; 53 return false;
53 scoped_ptr<base::DictionaryValue> user_setings( 54 scoped_ptr<base::DictionaryValue> user_setings(
54 params->user_settings.ToValue()); 55 params->user_settings.ToValue());
55 CloudPrintProxyServiceFactory::GetForProfile(profile_)-> 56 CloudPrintProxyServiceFactory::GetForProfile(profile_)->
56 EnableForUserWithRobot(params->credentials, 57 EnableForUserWithRobot(params->credentials,
57 params->robot_email, 58 params->robot_email,
58 params->user_email, 59 params->user_email,
59 *user_setings); 60 *user_setings);
60 } 61 }
61 SendResponse(true); 62 SendResponse(true);
63 #endif
62 return true; 64 return true;
63 } 65 }
64 66
65 CloudPrintPrivateGetHostNameFunction::CloudPrintPrivateGetHostNameFunction() { 67 CloudPrintPrivateGetHostNameFunction::CloudPrintPrivateGetHostNameFunction() {
66 } 68 }
67 69
68 CloudPrintPrivateGetHostNameFunction::~CloudPrintPrivateGetHostNameFunction() { 70 CloudPrintPrivateGetHostNameFunction::~CloudPrintPrivateGetHostNameFunction() {
69 } 71 }
70 72
71 bool CloudPrintPrivateGetHostNameFunction::RunImpl() { 73 bool CloudPrintPrivateGetHostNameFunction::RunImpl() {
72 SetResult(Value::CreateStringValue( 74 SetResult(Value::CreateStringValue(
73 CloudPrintTestsDelegate::instance() ? 75 CloudPrintTestsDelegate::instance() ?
74 CloudPrintTestsDelegate::instance()->GetHostName() : 76 CloudPrintTestsDelegate::instance()->GetHostName() :
75 net::GetHostName())); 77 net::GetHostName()));
76 SendResponse(true); 78 SendResponse(true);
77 return true; 79 return true;
78 } 80 }
79 81
80 CloudPrintPrivateGetPrintersFunction::CloudPrintPrivateGetPrintersFunction() { 82 CloudPrintPrivateGetPrintersFunction::CloudPrintPrivateGetPrintersFunction() {
81 } 83 }
82 84
83 CloudPrintPrivateGetPrintersFunction::~CloudPrintPrivateGetPrintersFunction() { 85 CloudPrintPrivateGetPrintersFunction::~CloudPrintPrivateGetPrintersFunction() {
84 } 86 }
85 87
86 void CloudPrintPrivateGetPrintersFunction::CollectPrinters() { 88 void CloudPrintPrivateGetPrintersFunction::CollectPrinters() {
89 #if defined(ENABLE_FULL_PRINTING)
87 std::vector<std::string> result; 90 std::vector<std::string> result;
88 if (CloudPrintTestsDelegate::instance()) { 91 if (CloudPrintTestsDelegate::instance()) {
89 result = CloudPrintTestsDelegate::instance()->GetPrinters(); 92 result = CloudPrintTestsDelegate::instance()->GetPrinters();
90 } else { 93 } else {
91 CloudPrintProxyService::GetPrintersAvalibleForRegistration(&result); 94 CloudPrintProxyService::GetPrintersAvalibleForRegistration(&result);
92 } 95 }
93 results_ = api::cloud_print_private::GetPrinters::Results::Create(result); 96 results_ = api::cloud_print_private::GetPrinters::Results::Create(result);
94 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, 97 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
95 base::Bind(&CloudPrintPrivateGetPrintersFunction::SendResponse, 98 base::Bind(&CloudPrintPrivateGetPrintersFunction::SendResponse,
96 this, true)); 99 this, true));
100 #endif
97 } 101 }
98 102
99 103
100 bool CloudPrintPrivateGetPrintersFunction::RunImpl() { 104 bool CloudPrintPrivateGetPrintersFunction::RunImpl() {
101 content::BrowserThread::GetBlockingPool()->PostTask(FROM_HERE, 105 content::BrowserThread::GetBlockingPool()->PostTask(FROM_HERE,
102 base::Bind(&CloudPrintPrivateGetPrintersFunction::CollectPrinters, this)); 106 base::Bind(&CloudPrintPrivateGetPrintersFunction::CollectPrinters, this));
103 return true; 107 return true;
104 } 108 }
105 109
106 110
107 CloudPrintPrivateGetClientIdFunction::CloudPrintPrivateGetClientIdFunction() { 111 CloudPrintPrivateGetClientIdFunction::CloudPrintPrivateGetClientIdFunction() {
108 } 112 }
109 113
110 CloudPrintPrivateGetClientIdFunction::~CloudPrintPrivateGetClientIdFunction() { 114 CloudPrintPrivateGetClientIdFunction::~CloudPrintPrivateGetClientIdFunction() {
111 } 115 }
112 116
113 bool CloudPrintPrivateGetClientIdFunction::RunImpl() { 117 bool CloudPrintPrivateGetClientIdFunction::RunImpl() {
114 SetResult(Value::CreateStringValue( 118 SetResult(Value::CreateStringValue(
115 CloudPrintTestsDelegate::instance() ? 119 CloudPrintTestsDelegate::instance() ?
116 CloudPrintTestsDelegate::instance()->GetClientId() : 120 CloudPrintTestsDelegate::instance()->GetClientId() :
117 google_apis::GetOAuth2ClientID(google_apis::CLIENT_CLOUD_PRINT))); 121 google_apis::GetOAuth2ClientID(google_apis::CLIENT_CLOUD_PRINT)));
118 SendResponse(true); 122 SendResponse(true);
119 return true; 123 return true;
120 } 124 }
121 125
122 } // namespace extensions 126 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698