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

Side by Side Diff: chrome/utility/chrome_content_utility_client.cc

Issue 211843004: Tunnel PWGRasterConfig capability to the ticket and to the utility process (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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/utility/chrome_content_utility_client.h ('k') | printing/pwg_raster_settings.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/utility/chrome_content_utility_client.h" 5 #include "chrome/utility/chrome_content_utility_client.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 #endif // defined(OS_WIN) 574 #endif // defined(OS_WIN)
575 if (!succeeded) { 575 if (!succeeded) {
576 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafile_Failed()); 576 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafile_Failed());
577 } 577 }
578 ReleaseProcessIfNeeded(); 578 ReleaseProcessIfNeeded();
579 } 579 }
580 580
581 void ChromeContentUtilityClient::OnRenderPDFPagesToPWGRaster( 581 void ChromeContentUtilityClient::OnRenderPDFPagesToPWGRaster(
582 IPC::PlatformFileForTransit pdf_transit, 582 IPC::PlatformFileForTransit pdf_transit,
583 const printing::PdfRenderSettings& settings, 583 const printing::PdfRenderSettings& settings,
584 const printing::PwgRasterSettings& bitmap_settings,
584 IPC::PlatformFileForTransit bitmap_transit) { 585 IPC::PlatformFileForTransit bitmap_transit) {
585 base::PlatformFile pdf = 586 base::PlatformFile pdf =
586 IPC::PlatformFileForTransitToPlatformFile(pdf_transit); 587 IPC::PlatformFileForTransitToPlatformFile(pdf_transit);
587 base::PlatformFile bitmap = 588 base::PlatformFile bitmap =
588 IPC::PlatformFileForTransitToPlatformFile(bitmap_transit); 589 IPC::PlatformFileForTransitToPlatformFile(bitmap_transit);
589 if (RenderPDFPagesToPWGRaster(pdf, settings, bitmap)) { 590 if (RenderPDFPagesToPWGRaster(pdf, settings, bitmap_settings, bitmap)) {
590 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded()); 591 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded());
591 } else { 592 } else {
592 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Failed()); 593 Send(new ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Failed());
593 } 594 }
594 ReleaseProcessIfNeeded(); 595 ReleaseProcessIfNeeded();
595 } 596 }
596 597
597 #if defined(OS_WIN) 598 #if defined(OS_WIN)
598 bool ChromeContentUtilityClient::RenderPDFToWinMetafile( 599 bool ChromeContentUtilityClient::RenderPDFToWinMetafile(
599 base::PlatformFile pdf_file, 600 base::PlatformFile pdf_file,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 } 668 }
668 } 669 }
669 metafile.FinishDocument(); 670 metafile.FinishDocument();
670 return ret; 671 return ret;
671 } 672 }
672 #endif // defined(OS_WIN) 673 #endif // defined(OS_WIN)
673 674
674 bool ChromeContentUtilityClient::RenderPDFPagesToPWGRaster( 675 bool ChromeContentUtilityClient::RenderPDFPagesToPWGRaster(
675 base::PlatformFile pdf_file, 676 base::PlatformFile pdf_file,
676 const printing::PdfRenderSettings& settings, 677 const printing::PdfRenderSettings& settings,
678 const printing::PwgRasterSettings& bitmap_settings,
677 base::PlatformFile bitmap_file) { 679 base::PlatformFile bitmap_file) {
678 bool autoupdate = true; 680 bool autoupdate = true;
679 if (!g_pdf_lib.Get().IsValid()) 681 if (!g_pdf_lib.Get().IsValid())
680 return false; 682 return false;
681 683
682 base::PlatformFileInfo info; 684 base::PlatformFileInfo info;
683 if (!base::GetPlatformFileInfo(pdf_file, &info) || info.size <= 0) 685 if (!base::GetPlatformFileInfo(pdf_file, &info) || info.size <= 0)
684 return false; 686 return false;
685 687
686 std::string data(info.size, 0); 688 std::string data(info.size, 0);
(...skipping 12 matching lines...) Expand all
699 encoder.EncodeDocumentHeader(&pwg_header); 701 encoder.EncodeDocumentHeader(&pwg_header);
700 int bytes_written = base::WritePlatformFileAtCurrentPos(bitmap_file, 702 int bytes_written = base::WritePlatformFileAtCurrentPos(bitmap_file,
701 pwg_header.data(), 703 pwg_header.data(),
702 pwg_header.size()); 704 pwg_header.size());
703 if (bytes_written != static_cast<int>(pwg_header.size())) 705 if (bytes_written != static_cast<int>(pwg_header.size()))
704 return false; 706 return false;
705 707
706 cloud_print::BitmapImage image(settings.area().size(), 708 cloud_print::BitmapImage image(settings.area().size(),
707 cloud_print::BitmapImage::BGRA); 709 cloud_print::BitmapImage::BGRA);
708 for (int i = 0; i < total_page_count; ++i) { 710 for (int i = 0; i < total_page_count; ++i) {
709 if (!g_pdf_lib.Get().RenderPDFPageToBitmap( 711 int page_number = i;
710 data.data(), data.size(), i, image.pixel_data(), 712
711 image.size().width(), image.size().height(), settings.dpi(), 713 if (bitmap_settings.reverse_page_order) {
712 settings.dpi(), autoupdate)) { 714 page_number = total_page_count - 1 - page_number;
715 }
716
717 if (!g_pdf_lib.Get().RenderPDFPageToBitmap(data.data(),
718 data.size(),
719 page_number,
720 image.pixel_data(),
721 image.size().width(),
722 image.size().height(),
723 settings.dpi(),
724 settings.dpi(),
725 autoupdate)) {
713 return false; 726 return false;
714 } 727 }
715 std::string pwg_page; 728 std::string pwg_page;
716 if (!encoder.EncodePage(image, settings.dpi(), total_page_count, &pwg_page)) 729 if (!encoder.EncodePage(image, settings.dpi(), total_page_count, &pwg_page))
717 return false; 730 return false;
718 bytes_written = base::WritePlatformFileAtCurrentPos(bitmap_file, 731 bytes_written = base::WritePlatformFileAtCurrentPos(bitmap_file,
719 pwg_page.data(), 732 pwg_page.data(),
720 pwg_page.size()); 733 pwg_page.size());
721 if (bytes_written != static_cast<int>(pwg_page.size())) 734 if (bytes_written != static_cast<int>(pwg_page.size()))
722 return false; 735 return false;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 NetworkingPrivateCrypto crypto; 943 NetworkingPrivateCrypto crypto;
931 success = crypto.EncryptByteString(public_key, key_data, &ciphertext); 944 success = crypto.EncryptByteString(public_key, key_data, &ciphertext);
932 } 945 }
933 946
934 Send(new ChromeUtilityHostMsg_GotEncryptedWiFiCredentials(ciphertext, 947 Send(new ChromeUtilityHostMsg_GotEncryptedWiFiCredentials(ciphertext,
935 success)); 948 success));
936 } 949 }
937 #endif // defined(OS_WIN) 950 #endif // defined(OS_WIN)
938 951
939 } // namespace chrome 952 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/utility/chrome_content_utility_client.h ('k') | printing/pwg_raster_settings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698