OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <limits.h> | 5 #include <limits.h> |
6 #include <stdio.h> | 6 #include <stdio.h> |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 #include <sstream> | 11 #include <sstream> |
12 #include <string> | 12 #include <string> |
13 #include <utility> | 13 #include <utility> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #if defined PDF_ENABLE_SKIA && !defined _SKIA_SUPPORT_ | 16 #if defined PDF_ENABLE_SKIA && !defined _SKIA_SUPPORT_ |
17 #define _SKIA_SUPPORT_ | 17 #define _SKIA_SUPPORT_ |
18 #endif | 18 #endif |
19 | 19 |
20 #include "public/fpdf_dataavail.h" | 20 #include "public/fpdf_dataavail.h" |
21 #include "public/fpdf_edit.h" | 21 #include "public/fpdf_edit.h" |
22 #include "public/fpdf_ext.h" | 22 #include "public/fpdf_ext.h" |
23 #include "public/fpdf_formfill.h" | 23 #include "public/fpdf_formfill.h" |
24 #include "public/fpdf_text.h" | 24 #include "public/fpdf_text.h" |
25 #include "public/fpdfview.h" | 25 #include "public/fpdfview.h" |
26 #include "samples/image_diff_png.h" | 26 #include "samples/image_diff_png.h" |
27 #include "testing/test_support.h" | 27 #include "testing/test_support.h" |
28 | 28 |
| 29 #ifdef _WIN32 |
| 30 #include <io.h> |
| 31 #else |
| 32 #include <unistd.h> |
| 33 #endif |
| 34 |
29 #ifdef PDF_ENABLE_V8 | 35 #ifdef PDF_ENABLE_V8 |
30 #include "v8/include/libplatform/libplatform.h" | 36 #include "v8/include/libplatform/libplatform.h" |
31 #include "v8/include/v8.h" | 37 #include "v8/include/v8.h" |
32 #endif // PDF_ENABLE_V8 | 38 #endif // PDF_ENABLE_V8 |
33 | 39 |
34 #ifdef _WIN32 | |
35 #define snprintf _snprintf | |
36 #endif | |
37 | |
38 #ifdef PDF_ENABLE_SKIA | 40 #ifdef PDF_ENABLE_SKIA |
39 #include "third_party/skia/include/core/SkPictureRecorder.h" | 41 #include "third_party/skia/include/core/SkPictureRecorder.h" |
40 #include "third_party/skia/include/core/SkStream.h" | 42 #include "third_party/skia/include/core/SkStream.h" |
41 #endif | 43 #endif |
42 | 44 |
| 45 #ifdef _WIN32 |
| 46 #define access _access |
| 47 #define snprintf _snprintf |
| 48 #define R_OK 4 |
| 49 #endif |
| 50 |
43 enum OutputFormat { | 51 enum OutputFormat { |
44 OUTPUT_NONE, | 52 OUTPUT_NONE, |
45 OUTPUT_TEXT, | 53 OUTPUT_TEXT, |
46 OUTPUT_PPM, | 54 OUTPUT_PPM, |
47 OUTPUT_PNG, | 55 OUTPUT_PNG, |
48 #ifdef _WIN32 | 56 #ifdef _WIN32 |
49 OUTPUT_BMP, | 57 OUTPUT_BMP, |
50 OUTPUT_EMF, | 58 OUTPUT_EMF, |
51 #endif | 59 #endif |
52 #ifdef PDF_ENABLE_SKIA | 60 #ifdef PDF_ENABLE_SKIA |
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 if (!file_contents) | 906 if (!file_contents) |
899 continue; | 907 continue; |
900 fprintf(stderr, "Rendering PDF file %s.\n", filename.c_str()); | 908 fprintf(stderr, "Rendering PDF file %s.\n", filename.c_str()); |
901 std::string events; | 909 std::string events; |
902 if (options.send_events) { | 910 if (options.send_events) { |
903 std::string event_filename = filename; | 911 std::string event_filename = filename; |
904 size_t event_length = 0; | 912 size_t event_length = 0; |
905 size_t extension_pos = event_filename.find(".pdf"); | 913 size_t extension_pos = event_filename.find(".pdf"); |
906 if (extension_pos != std::string::npos) { | 914 if (extension_pos != std::string::npos) { |
907 event_filename.replace(extension_pos, 4, ".evt"); | 915 event_filename.replace(extension_pos, 4, ".evt"); |
908 std::unique_ptr<char, pdfium::FreeDeleter> event_contents = | 916 if (access(event_filename.c_str(), R_OK) == 0) { |
909 GetFileContents(event_filename.c_str(), &event_length); | 917 fprintf(stderr, "Using event file %s.\n", event_filename.c_str()); |
910 if (event_contents) { | 918 std::unique_ptr<char, pdfium::FreeDeleter> event_contents = |
911 fprintf(stderr, "Sending events from: %s\n", event_filename.c_str()); | 919 GetFileContents(event_filename.c_str(), &event_length); |
912 events = std::string(event_contents.get(), event_length); | 920 if (event_contents) { |
| 921 fprintf(stderr, "Sending events from: %s\n", |
| 922 event_filename.c_str()); |
| 923 events = std::string(event_contents.get(), event_length); |
| 924 } |
913 } | 925 } |
914 } | 926 } |
915 } | 927 } |
916 RenderPdf(filename, file_contents.get(), file_length, options, events); | 928 RenderPdf(filename, file_contents.get(), file_length, options, events); |
917 } | 929 } |
918 | 930 |
919 FPDF_DestroyLibrary(); | 931 FPDF_DestroyLibrary(); |
920 #ifdef PDF_ENABLE_V8 | 932 #ifdef PDF_ENABLE_V8 |
921 v8::V8::ShutdownPlatform(); | 933 v8::V8::ShutdownPlatform(); |
922 delete platform; | 934 delete platform; |
923 | 935 |
924 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 936 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
925 free(const_cast<char*>(natives.data)); | 937 free(const_cast<char*>(natives.data)); |
926 free(const_cast<char*>(snapshot.data)); | 938 free(const_cast<char*>(snapshot.data)); |
927 #endif // V8_USE_EXTERNAL_STARTUP_DATA | 939 #endif // V8_USE_EXTERNAL_STARTUP_DATA |
928 #endif // PDF_ENABLE_V8 | 940 #endif // PDF_ENABLE_V8 |
929 | 941 |
930 return 0; | 942 return 0; |
931 } | 943 } |
OLD | NEW |