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

Unified Diff: chrome/service/cloud_print/cloud_print_connector.cc

Issue 14215009: Changed cloud print private API to pass all page settings as single object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed warning and unittes Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/service/cloud_print/cloud_print_connector.cc
diff --git a/chrome/service/cloud_print/cloud_print_connector.cc b/chrome/service/cloud_print/cloud_print_connector.cc
index 87920171b93ac65ec8dd4d2cfc98961b2010b724..634ef4d02df8ec0be306b5968e62d73f278ad5d4 100644
--- a/chrome/service/cloud_print/cloud_print_connector.cc
+++ b/chrome/service/cloud_print/cloud_print_connector.cc
@@ -28,6 +28,10 @@ CloudPrintConnector::CloudPrintConnector(Client* client,
settings_.CopyFrom(settings);
}
+CloudPrintConnector::PendingTask::PendingTask() : type(PENDING_PRINTERS_NONE) {}
+
+CloudPrintConnector::PendingTask::~PendingTask() {}
+
bool CloudPrintConnector::InitPrintSystem() {
if (print_system_.get())
return true;
@@ -90,12 +94,12 @@ void CloudPrintConnector::GetPrinterIds(std::list<std::string>* printer_ids) {
void CloudPrintConnector::RegisterPrinters(
const printing::PrinterList& printers) {
- if (!settings_.connect_new_printers() || !IsRunning())
+ if (!IsRunning())
return;
printing::PrinterList::const_iterator it;
for (it = printers.begin(); it != printers.end(); ++it) {
- if (!settings_.IsPrinterBlacklisted(it->printer_name))
- AddPendingRegisterTask(*it);
+ if (settings_.ShouldConnect(it->printer_name))
+ AddPendingRegisterTask(*it, settings_.GetDisplayName(it->printer_name));
}
}
@@ -212,7 +216,8 @@ CloudPrintConnector::HandlePrinterListResponse(
printer_data->GetString(kNameValue, &printer_name);
std::string printer_id;
printer_data->GetString(kIdValue, &printer_id);
- if (settings_.IsPrinterBlacklisted(printer_name)) {
+
+ if (!settings_.ShouldConnect(printer_name)) {
VLOG(1) << "CP_CONNECTOR: Deleting " << printer_name <<
" id: " << printer_id << " as blacklisted";
AddPendingDeleteTask(printer_id);
@@ -399,10 +404,12 @@ void CloudPrintConnector::AddPendingDeleteTask(const std::string& id) {
}
void CloudPrintConnector::AddPendingRegisterTask(
- const printing::PrinterBasicInfo& info) {
+ const printing::PrinterBasicInfo& info,
+ const std::string& display_name) {
PendingTask task;
task.type = PENDING_PRINTER_REGISTER;
task.printer_info = info;
+ task.display_name = display_name;
AddPendingTask(task);
}
@@ -428,7 +435,7 @@ void CloudPrintConnector::ProcessPendingTask() {
OnPrintersAvailable();
break;
case PENDING_PRINTER_REGISTER :
- OnPrinterRegister(task.printer_info);
+ OnPrinterRegister(task.printer_info, task.display_name);
break;
case PENDING_PRINTER_DELETE :
OnPrinterDelete(task.printer_id);
@@ -459,7 +466,7 @@ void CloudPrintConnector::OnPrintersAvailable() {
}
void CloudPrintConnector::OnPrinterRegister(
- const printing::PrinterBasicInfo& info) {
+ const printing::PrinterBasicInfo& info, const std::string& display_name) {
for (JobHandlerMap::iterator it = job_handler_map_.begin();
it != job_handler_map_.end(); ++it) {
if (IsSamePrinter(it->second->GetPrinterName(), info.printer_name)) {
@@ -474,7 +481,7 @@ void CloudPrintConnector::OnPrinterRegister(
print_system_->GetPrinterCapsAndDefaults(
info.printer_name.c_str(),
base::Bind(&CloudPrintConnector::OnReceivePrinterCaps,
- base::Unretained(this)));
+ base::Unretained(this), display_name));
}
void CloudPrintConnector::OnPrinterDelete(const std::string& printer_id) {
@@ -496,6 +503,7 @@ void CloudPrintConnector::OnPrinterDelete(const std::string& printer_id) {
}
void CloudPrintConnector::OnReceivePrinterCaps(
+ const std::string& display_name,
bool succeeded,
const std::string& printer_name,
const printing::PrinterCapsAndDefaults& caps_and_defaults) {
@@ -530,6 +538,10 @@ void CloudPrintConnector::OnReceivePrinterCaps(
settings_.proxy_id(), mime_boundary, std::string(), &post_data);
AddMultipartValueForUpload(kPrinterNameValue,
info.printer_name, mime_boundary, std::string(), &post_data);
+ if (!display_name.empty()) {
+ AddMultipartValueForUpload(kPrinterDisplayNameValue,
+ display_name, mime_boundary, std::string(), &post_data);
+ }
AddMultipartValueForUpload(kPrinterDescValue,
info.printer_description, mime_boundary, std::string(), &post_data);
AddMultipartValueForUpload(kPrinterStatusValue,

Powered by Google App Engine
This is Rietveld 408576698