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

Unified Diff: chrome/browser/ui/webui/print_preview/print_preview_handler.cc

Issue 208583007: Tunnel the CDD from the Print Preview javascript to the privet operation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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/browser/ui/webui/print_preview/print_preview_handler.cc
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 01b03b9f202efdabc1f6ac923a9cc3294b97a635..32e38b7dc4e82bd0fcd1a1e357bd2b135ff93cc8 100644
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -722,6 +722,7 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) {
if (print_with_privet && PrivetPrintingEnabled()) {
std::string printer_name;
std::string print_ticket;
+ std::string capabilities;
UMA_HISTOGRAM_COUNTS("PrintPreview.PageCount.PrintWithPrivet", page_count);
ReportUserActionHistogram(PRINT_WITH_PRIVET);
@@ -729,16 +730,18 @@ void PrintPreviewHandler::HandlePrint(const base::ListValue* args) {
int height = 0;
if (!settings->GetString(printing::kSettingDeviceName, &printer_name) ||
!settings->GetString(printing::kSettingTicket, &print_ticket) ||
+ !settings->GetString(printing::kSettingCapabilities, &capabilities) ||
!settings->GetInteger(printing::kSettingPageWidth, &width) ||
!settings->GetInteger(printing::kSettingPageHeight, &height) ||
- width <= 0 || height <=0) {
+ width <= 0 || height <= 0) {
NOTREACHED();
base::FundamentalValue http_code_value(-1);
web_ui()->CallJavascriptFunction("onPrivetPrintFailed", http_code_value);
return;
}
- PrintToPrivetPrinter(printer_name, print_ticket, gfx::Size(width, height));
+ PrintToPrivetPrinter(
+ printer_name, print_ticket, capabilities, gfx::Size(width, height));
return;
}
#endif
@@ -1403,21 +1406,23 @@ bool PrintPreviewHandler::PrivetUpdateClient(
void PrintPreviewHandler::PrivetLocalPrintUpdateClient(
std::string print_ticket,
+ std::string capabilities,
gfx::Size page_size,
scoped_ptr<local_discovery::PrivetHTTPClient> http_client) {
if (!PrivetUpdateClient(http_client.Pass()))
return;
- StartPrivetLocalPrint(print_ticket, page_size);
+ StartPrivetLocalPrint(print_ticket, capabilities, page_size);
}
-void PrintPreviewHandler::StartPrivetLocalPrint(
- const std::string& print_ticket,
- const gfx::Size& page_size) {
+void PrintPreviewHandler::StartPrivetLocalPrint(const std::string& print_ticket,
+ const std::string& capabilities,
+ const gfx::Size& page_size) {
privet_local_print_operation_ =
privet_http_client_->CreateLocalPrintOperation(this);
privet_local_print_operation_->SetTicket(print_ticket);
+ privet_local_print_operation_->SetCapabilities(capabilities);
scoped_refptr<base::RefCountedBytes> data;
base::string16 title;
@@ -1481,14 +1486,17 @@ void PrintPreviewHandler::SendPrivetCapabilitiesError(
name_value);
}
-void PrintPreviewHandler::PrintToPrivetPrinter(
- const std::string& device_name,
- const std::string& ticket,
- const gfx::Size& page_size) {
+void PrintPreviewHandler::PrintToPrivetPrinter(const std::string& device_name,
+ const std::string& ticket,
+ const std::string& capabilities,
+ const gfx::Size& page_size) {
CreatePrivetHTTP(
device_name,
base::Bind(&PrintPreviewHandler::PrivetLocalPrintUpdateClient,
- base::Unretained(this), ticket, page_size));
+ base::Unretained(this),
+ ticket,
+ capabilities,
+ page_size));
}
bool PrintPreviewHandler::CreatePrivetHTTP(

Powered by Google App Engine
This is Rietveld 408576698