Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/ui/webui/print_preview/print_preview_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" |
| 6 | 6 |
| 7 #include <ctype.h> | 7 #include <ctype.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 337 printing_context->settings().device_units_per_inch(); | 337 printing_context->settings().device_units_per_inch(); |
| 338 return gfx::Size(pdf_media_size.width() * deviceMicronsPerDeviceUnit, | 338 return gfx::Size(pdf_media_size.width() * deviceMicronsPerDeviceUnit, |
| 339 pdf_media_size.height() * deviceMicronsPerDeviceUnit); | 339 pdf_media_size.height() * deviceMicronsPerDeviceUnit); |
| 340 } | 340 } |
| 341 | 341 |
| 342 std::unique_ptr<base::DictionaryValue> GetPdfCapabilities( | 342 std::unique_ptr<base::DictionaryValue> GetPdfCapabilities( |
| 343 const std::string& locale) { | 343 const std::string& locale) { |
| 344 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 344 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 345 | 345 |
| 346 cloud_devices::CloudDeviceDescription description; | 346 cloud_devices::CloudDeviceDescription description; |
| 347 using namespace cloud_devices::printer; | 347 |
| 348 using cloud_devices::printer::OrientationCapability; | |
| 349 using cloud_devices::printer::PORTRAIT; | |
| 350 using cloud_devices::printer::LANDSCAPE; | |
| 351 using cloud_devices::printer::AUTO_ORIENTATION; | |
| 348 | 352 |
| 349 OrientationCapability orientation; | 353 OrientationCapability orientation; |
| 350 orientation.AddOption(cloud_devices::printer::PORTRAIT); | 354 orientation.AddOption(PORTRAIT); |
| 351 orientation.AddOption(cloud_devices::printer::LANDSCAPE); | 355 orientation.AddOption(LANDSCAPE); |
| 352 orientation.AddDefaultOption(AUTO_ORIENTATION, true); | 356 orientation.AddDefaultOption(AUTO_ORIENTATION, true); |
| 353 orientation.SaveTo(&description); | 357 orientation.SaveTo(&description); |
| 354 | 358 |
| 359 using cloud_devices::printer::ColorCapability; | |
| 360 using cloud_devices::printer::Color; | |
| 361 using cloud_devices::printer::STANDARD_COLOR; | |
| 362 | |
| 355 ColorCapability color; | 363 ColorCapability color; |
| 356 { | 364 { |
| 357 Color standard_color(STANDARD_COLOR); | 365 Color standard_color(STANDARD_COLOR); |
| 358 standard_color.vendor_id = base::IntToString(printing::COLOR); | 366 standard_color.vendor_id = base::IntToString(printing::COLOR); |
| 359 color.AddDefaultOption(standard_color, true); | 367 color.AddDefaultOption(standard_color, true); |
| 360 } | 368 } |
| 361 color.SaveTo(&description); | 369 color.SaveTo(&description); |
| 362 | 370 |
| 363 static const cloud_devices::printer::MediaType kPdfMedia[] = { | 371 using cloud_devices::printer::MediaType; |
| 364 ISO_A0, | 372 using cloud_devices::printer::ISO_A0; |
| 365 ISO_A1, | 373 using cloud_devices::printer::ISO_A1; |
| 366 ISO_A2, | 374 using cloud_devices::printer::ISO_A2; |
| 367 ISO_A3, | 375 using cloud_devices::printer::ISO_A3; |
| 368 ISO_A4, | 376 using cloud_devices::printer::ISO_A4; |
| 369 ISO_A5, | 377 using cloud_devices::printer::ISO_A5; |
| 370 NA_LEGAL, | 378 using cloud_devices::printer::NA_LEGAL; |
| 371 NA_LETTER, | 379 using cloud_devices::printer::NA_LETTER; |
| 372 NA_LEDGER | 380 using cloud_devices::printer::NA_LEDGER; |
| 373 }; | 381 |
| 382 static const MediaType kPdfMedia[] = {ISO_A0, ISO_A1, ISO_A2, | |
| 383 ISO_A3, ISO_A4, ISO_A5, | |
| 384 NA_LEGAL, NA_LETTER, NA_LEDGER}; | |
| 385 | |
| 374 const gfx::Size default_media_size = GetDefaultPdfMediaSizeMicrons(); | 386 const gfx::Size default_media_size = GetDefaultPdfMediaSizeMicrons(); |
| 387 | |
| 388 using cloud_devices::printer::Media; | |
| 389 using cloud_devices::printer::MediaCapability; | |
| 390 | |
| 375 Media default_media( | 391 Media default_media( |
| 376 "", "", default_media_size.width(), default_media_size.height()); | 392 "", "", default_media_size.width(), default_media_size.height()); |
| 377 if (!default_media.MatchBySize() || | 393 if (!default_media.MatchBySize() || |
| 378 std::find(kPdfMedia, | 394 std::find(kPdfMedia, |
| 379 kPdfMedia + arraysize(kPdfMedia), | 395 kPdfMedia + arraysize(kPdfMedia), |
| 380 default_media.type) == kPdfMedia + arraysize(kPdfMedia)) { | 396 default_media.type) == kPdfMedia + arraysize(kPdfMedia)) { |
| 381 default_media = Media(locale == "en-US" ? NA_LETTER : ISO_A4); | 397 default_media = Media(locale == "en-US" ? NA_LETTER : ISO_A4); |
| 382 } | 398 } |
| 383 MediaCapability media; | 399 MediaCapability media; |
| 384 for (size_t i = 0; i < arraysize(kPdfMedia); ++i) { | 400 for (size_t i = 0; i < arraysize(kPdfMedia); ++i) { |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 403 real_description = it->second; | 419 real_description = it->second; |
| 404 return std::make_pair(real_name, real_description); | 420 return std::make_pair(real_name, real_description); |
| 405 #else | 421 #else |
| 406 return std::make_pair(printer.printer_name, printer.printer_description); | 422 return std::make_pair(printer.printer_name, printer.printer_description); |
| 407 #endif | 423 #endif |
| 408 } | 424 } |
| 409 | 425 |
| 410 void EnumeratePrintersOnBlockingPoolThread(base::ListValue* printers) { | 426 void EnumeratePrintersOnBlockingPoolThread(base::ListValue* printers) { |
| 411 DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); | 427 DCHECK(BrowserThread::GetBlockingPool()->RunsTasksOnCurrentThread()); |
| 412 | 428 |
| 429 #if defined(OS_CHROMEOS) | |
| 430 printing::PrintBackend::SetNativeCupsEnabled( | |
|
Lei Zhang
2016/06/28 22:27:35
We probably don't need to set the same value every
skau
2016/06/28 23:58:19
I've moved it to ChromeBrowserMainChromeos since t
| |
| 431 base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 432 switches::kEnableNativeCups)); | |
| 433 #endif // defined(OS_CHROMEOS) | |
| 434 | |
| 413 scoped_refptr<printing::PrintBackend> print_backend( | 435 scoped_refptr<printing::PrintBackend> print_backend( |
| 414 printing::PrintBackend::CreateInstance(nullptr)); | 436 printing::PrintBackend::CreateInstance(nullptr)); |
| 415 | 437 |
| 416 VLOG(1) << "Enumerate printers start"; | 438 VLOG(1) << "Enumerate printers start"; |
| 417 printing::PrinterList printer_list; | 439 printing::PrinterList printer_list; |
| 418 print_backend->EnumeratePrinters(&printer_list); | 440 print_backend->EnumeratePrinters(&printer_list); |
| 419 | 441 |
| 420 for (const printing::PrinterBasicInfo& printer : printer_list) { | 442 for (const printing::PrinterBasicInfo& printer : printer_list) { |
| 421 std::unique_ptr<base::DictionaryValue> printer_info( | 443 std::unique_ptr<base::DictionaryValue> printer_info( |
| 422 new base::DictionaryValue); | 444 new base::DictionaryValue); |
| (...skipping 1371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1794 | 1816 |
| 1795 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { | 1817 void PrintPreviewHandler::UnregisterForGaiaCookieChanges() { |
| 1796 if (gaia_cookie_manager_service_) | 1818 if (gaia_cookie_manager_service_) |
| 1797 gaia_cookie_manager_service_->RemoveObserver(this); | 1819 gaia_cookie_manager_service_->RemoveObserver(this); |
| 1798 } | 1820 } |
| 1799 | 1821 |
| 1800 void PrintPreviewHandler::SetPdfSavedClosureForTesting( | 1822 void PrintPreviewHandler::SetPdfSavedClosureForTesting( |
| 1801 const base::Closure& closure) { | 1823 const base::Closure& closure) { |
| 1802 pdf_file_saved_closure_ = closure; | 1824 pdf_file_saved_closure_ = closure; |
| 1803 } | 1825 } |
| OLD | NEW |