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

Side by Side Diff: chrome/browser/ui/webui/print_preview/extension_printer_handler.cc

Issue 1550053002: Convert Pass()→std::move() in //chrome/browser/ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ui/webui/print_preview/extension_printer_handler.h" 5 #include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "base/files/file.h" 12 #include "base/files/file.h"
12 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
13 #include "base/files/file_util.h" 14 #include "base/files/file_util.h"
14 #include "base/location.h" 15 #include "base/location.h"
15 #include "base/memory/ref_counted.h" 16 #include "base/memory/ref_counted.h"
16 #include "base/memory/ref_counted_memory.h" 17 #include "base/memory/ref_counted_memory.h"
17 #include "base/strings/string_split.h" 18 #include "base/strings/string_split.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 56
56 const char kProvisionalUsbLabel[] = "provisional-usb"; 57 const char kProvisionalUsbLabel[] = "provisional-usb";
57 58
58 // Updates |job| with raster file path, size and last modification time. 59 // Updates |job| with raster file path, size and last modification time.
59 // Returns the updated print job. 60 // Returns the updated print job.
60 scoped_ptr<extensions::PrinterProviderPrintJob> UpdateJobFileInfoOnWorkerThread( 61 scoped_ptr<extensions::PrinterProviderPrintJob> UpdateJobFileInfoOnWorkerThread(
61 const base::FilePath& raster_path, 62 const base::FilePath& raster_path,
62 scoped_ptr<extensions::PrinterProviderPrintJob> job) { 63 scoped_ptr<extensions::PrinterProviderPrintJob> job) {
63 if (base::GetFileInfo(raster_path, &job->file_info)) 64 if (base::GetFileInfo(raster_path, &job->file_info))
64 job->document_path = raster_path; 65 job->document_path = raster_path;
65 return job.Pass(); 66 return job;
66 } 67 }
67 68
68 // Callback to PWG raster conversion. 69 // Callback to PWG raster conversion.
69 // Posts a task to update print job with info about file containing converted 70 // Posts a task to update print job with info about file containing converted
70 // PWG raster data. The task is posted to |slow_task_runner|. 71 // PWG raster data. The task is posted to |slow_task_runner|.
71 void UpdateJobFileInfo( 72 void UpdateJobFileInfo(
72 scoped_ptr<extensions::PrinterProviderPrintJob> job, 73 scoped_ptr<extensions::PrinterProviderPrintJob> job,
73 const scoped_refptr<base::TaskRunner>& slow_task_runner, 74 const scoped_refptr<base::TaskRunner>& slow_task_runner,
74 const ExtensionPrinterHandler::PrintJobCallback& callback, 75 const ExtensionPrinterHandler::PrintJobCallback& callback,
75 bool success, 76 bool success,
76 const base::FilePath& pwg_file_path) { 77 const base::FilePath& pwg_file_path) {
77 if (!success) { 78 if (!success) {
78 callback.Run(job.Pass()); 79 callback.Run(std::move(job));
79 return; 80 return;
80 } 81 }
81 82
82 base::PostTaskAndReplyWithResult( 83 base::PostTaskAndReplyWithResult(
83 slow_task_runner.get(), FROM_HERE, 84 slow_task_runner.get(), FROM_HERE,
84 base::Bind(&UpdateJobFileInfoOnWorkerThread, pwg_file_path, 85 base::Bind(&UpdateJobFileInfoOnWorkerThread, pwg_file_path,
85 base::Passed(&job)), 86 base::Passed(&job)),
86 callback); 87 callback);
87 } 88 }
88 89
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 content_types.LoadFrom(printer_description); 201 content_types.LoadFrom(printer_description);
201 202
202 const bool kUsePdf = content_types.Contains(kContentTypePdf) || 203 const bool kUsePdf = content_types.Contains(kContentTypePdf) ||
203 content_types.Contains(kContentTypeAll); 204 content_types.Contains(kContentTypeAll);
204 205
205 if (kUsePdf) { 206 if (kUsePdf) {
206 // TODO(tbarzic): Consider writing larger PDF to disk and provide the data 207 // TODO(tbarzic): Consider writing larger PDF to disk and provide the data
207 // the same way as it's done with PWG raster. 208 // the same way as it's done with PWG raster.
208 print_job->content_type = kContentTypePdf; 209 print_job->content_type = kContentTypePdf;
209 print_job->document_bytes = print_data; 210 print_job->document_bytes = print_data;
210 DispatchPrintJob(callback, print_job.Pass()); 211 DispatchPrintJob(callback, std::move(print_job));
211 return; 212 return;
212 } 213 }
213 214
214 cloud_devices::CloudDeviceDescription ticket; 215 cloud_devices::CloudDeviceDescription ticket;
215 if (!ticket.InitFromString(ticket_json)) { 216 if (!ticket.InitFromString(ticket_json)) {
216 WrapPrintCallback(callback, false, kInvalidTicketPrintError); 217 WrapPrintCallback(callback, false, kInvalidTicketPrintError);
217 return; 218 return;
218 } 219 }
219 220
220 print_job->content_type = kContentTypePWGRaster; 221 print_job->content_type = kContentTypePWGRaster;
221 ConvertToPWGRaster(print_data, printer_description, ticket, page_size, 222 ConvertToPWGRaster(print_data, printer_description, ticket, page_size,
222 print_job.Pass(), 223 std::move(print_job),
223 base::Bind(&ExtensionPrinterHandler::DispatchPrintJob, 224 base::Bind(&ExtensionPrinterHandler::DispatchPrintJob,
224 weak_ptr_factory_.GetWeakPtr(), callback)); 225 weak_ptr_factory_.GetWeakPtr(), callback));
225 } 226 }
226 227
227 void ExtensionPrinterHandler::StartGrantPrinterAccess( 228 void ExtensionPrinterHandler::StartGrantPrinterAccess(
228 const std::string& printer_id, 229 const std::string& printer_id,
229 const PrinterHandler::GetPrinterInfoCallback& callback) { 230 const PrinterHandler::GetPrinterInfoCallback& callback) {
230 std::string extension_id; 231 std::string extension_id;
231 std::string device_guid; 232 std::string device_guid;
232 if (!ParseProvisionalUsbPrinterId(printer_id, &extension_id, &device_guid)) { 233 if (!ParseProvisionalUsbPrinterId(printer_id, &extension_id, &device_guid)) {
(...skipping 15 matching lines...) Expand all
248 extensions::PrinterProviderAPIFactory::GetInstance() 249 extensions::PrinterProviderAPIFactory::GetInstance()
249 ->GetForBrowserContext(browser_context_) 250 ->GetForBrowserContext(browser_context_)
250 ->DispatchGetUsbPrinterInfoRequested( 251 ->DispatchGetUsbPrinterInfoRequested(
251 extension_id, device, 252 extension_id, device,
252 base::Bind(&ExtensionPrinterHandler::WrapGetPrinterInfoCallback, 253 base::Bind(&ExtensionPrinterHandler::WrapGetPrinterInfoCallback,
253 weak_ptr_factory_.GetWeakPtr(), callback)); 254 weak_ptr_factory_.GetWeakPtr(), callback));
254 } 255 }
255 256
256 void ExtensionPrinterHandler::SetPwgRasterConverterForTesting( 257 void ExtensionPrinterHandler::SetPwgRasterConverterForTesting(
257 scoped_ptr<local_discovery::PWGRasterConverter> pwg_raster_converter) { 258 scoped_ptr<local_discovery::PWGRasterConverter> pwg_raster_converter) {
258 pwg_raster_converter_ = pwg_raster_converter.Pass(); 259 pwg_raster_converter_ = std::move(pwg_raster_converter);
259 } 260 }
260 261
261 void ExtensionPrinterHandler::ConvertToPWGRaster( 262 void ExtensionPrinterHandler::ConvertToPWGRaster(
262 const scoped_refptr<base::RefCountedMemory>& data, 263 const scoped_refptr<base::RefCountedMemory>& data,
263 const cloud_devices::CloudDeviceDescription& printer_description, 264 const cloud_devices::CloudDeviceDescription& printer_description,
264 const cloud_devices::CloudDeviceDescription& ticket, 265 const cloud_devices::CloudDeviceDescription& ticket,
265 const gfx::Size& page_size, 266 const gfx::Size& page_size,
266 scoped_ptr<extensions::PrinterProviderPrintJob> job, 267 scoped_ptr<extensions::PrinterProviderPrintJob> job,
267 const ExtensionPrinterHandler::PrintJobCallback& callback) { 268 const ExtensionPrinterHandler::PrintJobCallback& callback) {
268 if (!pwg_raster_converter_) { 269 if (!pwg_raster_converter_) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 .Set("extensionName", extension->name()) 365 .Set("extensionName", extension->name())
365 .Set("provisional", true))); 366 .Set("provisional", true)));
366 } 367 }
367 } 368 }
368 } 369 }
369 370
370 DCHECK_GT(pending_enumeration_count_, 0); 371 DCHECK_GT(pending_enumeration_count_, 0);
371 pending_enumeration_count_--; 372 pending_enumeration_count_--;
372 callback.Run(*printer_list.Build().get(), pending_enumeration_count_ == 0); 373 callback.Run(*printer_list.Build().get(), pending_enumeration_count_ == 0);
373 } 374 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/policy_ui_handler.cc ('k') | chrome/browser/ui/webui/print_preview/print_preview_distiller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698