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/renderer/printing/print_web_view_helper.h" | 5 #include "chrome/renderer/printing/print_web_view_helper.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 1350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1361 prep_frame_view_->GetPrintCanvasSize())) { | 1361 prep_frame_view_->GetPrintCanvasSize())) { |
1362 LOG(ERROR) << "Printing failed."; | 1362 LOG(ERROR) << "Printing failed."; |
1363 return DidFinishPrinting(FAIL_PRINT); | 1363 return DidFinishPrinting(FAIL_PRINT); |
1364 } | 1364 } |
1365 } | 1365 } |
1366 | 1366 |
1367 void PrintWebViewHelper::FinishFramePrinting() { | 1367 void PrintWebViewHelper::FinishFramePrinting() { |
1368 prep_frame_view_.reset(); | 1368 prep_frame_view_.reset(); |
1369 } | 1369 } |
1370 | 1370 |
1371 #if defined(OS_MACOSX) || defined(OS_WIN) | 1371 #if defined(OS_MACOSX) || \ |
| 1372 (defined(OS_WIN) && !defined(WIN_PDF_METAFILE_FOR_PRINTING)) |
1372 bool PrintWebViewHelper::PrintPagesNative(blink::WebFrame* frame, | 1373 bool PrintWebViewHelper::PrintPagesNative(blink::WebFrame* frame, |
1373 int page_count, | 1374 int page_count, |
1374 const gfx::Size& canvas_size) { | 1375 const gfx::Size& canvas_size) { |
1375 const PrintMsg_PrintPages_Params& params = *print_pages_params_; | 1376 const PrintMsg_PrintPages_Params& params = *print_pages_params_; |
1376 const PrintMsg_Print_Params& print_params = params.params; | 1377 const PrintMsg_Print_Params& print_params = params.params; |
1377 | 1378 |
1378 PrintMsg_PrintPage_Params page_params; | 1379 PrintMsg_PrintPage_Params page_params; |
1379 page_params.params = print_params; | 1380 page_params.params = print_params; |
1380 if (params.pages.empty()) { | 1381 if (params.pages.empty()) { |
1381 for (int i = 0; i < page_count; ++i) { | 1382 for (int i = 0; i < page_count; ++i) { |
1382 page_params.page_number = i; | 1383 page_params.page_number = i; |
1383 PrintPageInternal(page_params, canvas_size, frame); | 1384 PrintPageInternal(page_params, canvas_size, frame); |
1384 } | 1385 } |
1385 } else { | 1386 } else { |
1386 for (size_t i = 0; i < params.pages.size(); ++i) { | 1387 for (size_t i = 0; i < params.pages.size(); ++i) { |
1387 if (params.pages[i] >= page_count) | 1388 if (params.pages[i] >= page_count) |
1388 break; | 1389 break; |
1389 page_params.page_number = params.pages[i]; | 1390 page_params.page_number = params.pages[i]; |
1390 PrintPageInternal(page_params, canvas_size, frame); | 1391 PrintPageInternal(page_params, canvas_size, frame); |
1391 } | 1392 } |
1392 } | 1393 } |
1393 return true; | 1394 return true; |
1394 } | 1395 } |
1395 | 1396 |
1396 #endif // OS_MACOSX || OS_WIN | 1397 #endif // OS_MACOSX || !WIN_PDF_METAFILE_FOR_PRINTING |
1397 | 1398 |
1398 // static - Not anonymous so that platform implementations can use it. | 1399 // static - Not anonymous so that platform implementations can use it. |
1399 void PrintWebViewHelper::ComputePageLayoutInPointsForCss( | 1400 void PrintWebViewHelper::ComputePageLayoutInPointsForCss( |
1400 blink::WebFrame* frame, | 1401 blink::WebFrame* frame, |
1401 int page_index, | 1402 int page_index, |
1402 const PrintMsg_Print_Params& page_params, | 1403 const PrintMsg_Print_Params& page_params, |
1403 bool ignore_css_margins, | 1404 bool ignore_css_margins, |
1404 double* scale_factor, | 1405 double* scale_factor, |
1405 PageSizeMargins* page_layout_in_points) { | 1406 PageSizeMargins* page_layout_in_points) { |
1406 PrintMsg_Print_Params params = CalculatePrintParamsForCss( | 1407 PrintMsg_Print_Params params = CalculatePrintParamsForCss( |
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2024 } | 2025 } |
2025 | 2026 |
2026 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { | 2027 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { |
2027 prep_frame_view_.reset(); | 2028 prep_frame_view_.reset(); |
2028 metafile_.reset(); | 2029 metafile_.reset(); |
2029 pages_to_render_.clear(); | 2030 pages_to_render_.clear(); |
2030 error_ = PREVIEW_ERROR_NONE; | 2031 error_ = PREVIEW_ERROR_NONE; |
2031 } | 2032 } |
2032 | 2033 |
2033 } // namespace printing | 2034 } // namespace printing |
OLD | NEW |