OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <fstream> | 8 #include <fstream> |
9 #include <iostream> | 9 #include <iostream> |
10 #include <iterator> | 10 #include <iterator> |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 #include "components/printing/common/print_messages.h" | 43 #include "components/printing/common/print_messages.h" |
44 #include "content/public/browser/web_contents.h" | 44 #include "content/public/browser/web_contents.h" |
45 #include "content/public/browser/web_ui_message_handler.h" | 45 #include "content/public/browser/web_ui_message_handler.h" |
46 #include "content/public/test/browser_test_utils.h" | 46 #include "content/public/test/browser_test_utils.h" |
47 #include "ipc/ipc_message_macros.h" | 47 #include "ipc/ipc_message_macros.h" |
48 #include "net/base/filename_util.h" | 48 #include "net/base/filename_util.h" |
49 #include "pdf/pdf.h" | 49 #include "pdf/pdf.h" |
50 #include "printing/pdf_render_settings.h" | 50 #include "printing/pdf_render_settings.h" |
51 #include "printing/units.h" | 51 #include "printing/units.h" |
52 #include "ui/gfx/codec/png_codec.h" | 52 #include "ui/gfx/codec/png_codec.h" |
| 53 #include "ui/gfx/geometry/point.h" |
53 #include "ui/gfx/geometry/rect.h" | 54 #include "ui/gfx/geometry/rect.h" |
54 #include "url/gurl.h" | 55 #include "url/gurl.h" |
55 | 56 |
56 #if defined(OS_WIN) | 57 #if defined(OS_WIN) |
57 #include <fcntl.h> | 58 #include <fcntl.h> |
58 #include <io.h> | 59 #include <io.h> |
59 #endif | 60 #endif |
60 | 61 |
61 using content::WebContents; | 62 using content::WebContents; |
62 using content::WebContentsObserver; | 63 using content::WebContentsObserver; |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 // The image will be rotated if |width_in_pixels| is greater than | 364 // The image will be rotated if |width_in_pixels| is greater than |
364 // |height_in_pixels|. This is because the page will be rotated to fit | 365 // |height_in_pixels|. This is because the page will be rotated to fit |
365 // within a piece of paper. Therefore, |width_in_pixels| and | 366 // within a piece of paper. Therefore, |width_in_pixels| and |
366 // |height_in_pixels| have to be swapped or else they won't reflect the | 367 // |height_in_pixels| have to be swapped or else they won't reflect the |
367 // dimensions of the rotated page. | 368 // dimensions of the rotated page. |
368 if (width_in_pixels > height_in_pixels) | 369 if (width_in_pixels > height_in_pixels) |
369 std::swap(width_in_pixels, height_in_pixels); | 370 std::swap(width_in_pixels, height_in_pixels); |
370 | 371 |
371 total_height_in_pixels += height_in_pixels; | 372 total_height_in_pixels += height_in_pixels; |
372 gfx::Rect rect(width_in_pixels, height_in_pixels); | 373 gfx::Rect rect(width_in_pixels, height_in_pixels); |
373 PdfRenderSettings settings(rect, kDpi, true, | 374 PdfRenderSettings settings(rect, gfx::Point(0, 0), kDpi, true, |
374 PdfRenderSettings::Mode::NORMAL); | 375 PdfRenderSettings::Mode::NORMAL); |
375 | 376 |
376 int int_max = std::numeric_limits<int>::max(); | 377 int int_max = std::numeric_limits<int>::max(); |
377 if (settings.area.width() > int_max / kColorChannels || | 378 if (settings.area.width() > int_max / kColorChannels || |
378 settings.area.height() > | 379 settings.area.height() > |
379 int_max / (kColorChannels * settings.area.width())) { | 380 int_max / (kColorChannels * settings.area.width())) { |
380 FAIL() << "The dimensions of the image are too large." | 381 FAIL() << "The dimensions of the image are too large." |
381 << "Decrease the DPI or the dimensions of the image."; | 382 << "Decrease the DPI or the dimensions of the image."; |
382 } | 383 } |
383 | 384 |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 // waiting for this message and start waiting for the image data. | 632 // waiting for this message and start waiting for the image data. |
632 std::cout << "#EOF\n"; | 633 std::cout << "#EOF\n"; |
633 std::cout.flush(); | 634 std::cout.flush(); |
634 | 635 |
635 SendPng(); | 636 SendPng(); |
636 Reset(); | 637 Reset(); |
637 } | 638 } |
638 } | 639 } |
639 | 640 |
640 } // namespace printing | 641 } // namespace printing |
OLD | NEW |