summaryrefslogtreecommitdiff
path: root/samples/pdfium_test.cc
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-10-09 12:45:15 -0700
committerTom Sepez <tsepez@chromium.org>2015-10-09 12:45:15 -0700
commitf1c713663192368d26031a4caed1f9705f4510af (patch)
treed7078da243fe29c2ac9160ab21725bee3a349a7b /samples/pdfium_test.cc
parentc9952e66c588aad6a5996796fb0c96b202e6de0a (diff)
downloadpdfium-f1c713663192368d26031a4caed1f9705f4510af.tar.xz
Allow compiling PDFium without V8.
Original patch from issue 1391843004 at patchset 1 (http://crrev.com/1391843004#ps1) Introduce a pdf_enable_v8 GYP variable, which controls a corresponding PDF_ENABLE_V8 #define, and bring in the real JS library when set. Otherwise, link against a stub JS runtime. BUG=pdfium:211 R=dml@google.com, jochen@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1395733006 .
Diffstat (limited to 'samples/pdfium_test.cc')
-rw-r--r--samples/pdfium_test.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index 74e797b944..f15e19c75b 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -19,8 +19,10 @@
#include "../public/fpdf_text.h"
#include "../public/fpdfview.h"
#include "image_diff_png.h"
+#ifdef PDF_ENABLE_V8
#include "v8/include/libplatform/libplatform.h"
#include "v8/include/v8.h"
+#endif
#ifdef _WIN32
#define snprintf _snprintf
@@ -79,6 +81,7 @@ static char* GetFileContents(const char* filename, size_t* retlen) {
return buffer;
}
+#ifdef PDF_ENABLE_V8
#ifdef V8_USE_EXTERNAL_STARTUP_DATA
// Returns the full path for an external V8 data file based on either
// the currect exectuable path or an explicit override.
@@ -116,6 +119,7 @@ static bool GetExternalData(const Options& options,
return true;
}
#endif // V8_USE_EXTERNAL_STARTUP_DATA
+#endif // PDF_ENABLE_V8
static bool CheckDimensions(int stride, int width, int height) {
if (stride < 0 || width < 0 || height < 0)
@@ -373,6 +377,7 @@ bool ParseCommandLine(const std::vector<std::string>& args,
options->output_format = OUTPUT_BMP;
}
#endif // _WIN32
+#ifdef PDF_ENABLE_V8
#ifdef V8_USE_EXTERNAL_STARTUP_DATA
else if (cur_arg.size() > 10 && cur_arg.compare(0, 10, "--bin-dir=") == 0) {
if (!options->bin_directory.empty()) {
@@ -382,6 +387,7 @@ bool ParseCommandLine(const std::vector<std::string>& args,
options->bin_directory = cur_arg.substr(10);
}
#endif // V8_USE_EXTERNAL_STARTUP_DATA
+#endif // PDF_ENABLE_V8
else if (cur_arg.size() > 8 && cur_arg.compare(0, 8, "--scale=") == 0) {
if (!options->scale_factor_as_string.empty()) {
fprintf(stderr, "Duplicate --scale argument\n");
@@ -595,6 +601,7 @@ int main(int argc, const char* argv[]) {
return 1;
}
+#ifdef PDF_ENABLE_V8
v8::V8::InitializeICU();
v8::Platform* platform = v8::platform::CreateDefaultPlatform();
v8::V8::InitializePlatform(platform);
@@ -615,6 +622,7 @@ int main(int argc, const char* argv[]) {
v8::V8::SetNativesDataBlob(&natives);
v8::V8::SetSnapshotDataBlob(&snapshot);
#endif // V8_USE_EXTERNAL_STARTUP_DATA
+#endif // PDF_ENABLE_V8
FPDF_LIBRARY_CONFIG config;
config.version = 2;
@@ -649,8 +657,10 @@ int main(int argc, const char* argv[]) {
}
FPDF_DestroyLibrary();
+#ifdef PDF_ENABLE_V8
v8::V8::ShutdownPlatform();
delete platform;
+#endif // PDF_ENABLE_V8
return 0;
}