summaryrefslogtreecommitdiff
path: root/testing/embedder_test.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-01-03 09:44:28 -0500
committerChromium commit bot <commit-bot@chromium.org>2018-01-08 14:52:51 +0000
commit5553d8b11634935c34e7774325eda6afd61c8f56 (patch)
treea33d4014b3c7f1ef88bf84e3ec3ef05a53af1b7f /testing/embedder_test.cpp
parent5183e8679844eeff2c5dda2a2e02762487429a1f (diff)
downloadpdfium-5553d8b11634935c34e7774325eda6afd61c8f56.tar.xz
Initialize V8 once in embedder tests
This CL moves the initialization of the V8 platform to happen in the GTest environment so it's only run once. This takes the CFXJSE_FormCalcContextEmbedderTest Debug time from ~25s to ~19s on my local machine. Bug: pdfium:928 Change-Id: Ie8c27606721e7056de42e7d9474b0621f1e7212f Reviewed-on: https://pdfium-review.googlesource.com/22070 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'testing/embedder_test.cpp')
-rw-r--r--testing/embedder_test.cpp51
1 files changed, 1 insertions, 50 deletions
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index ccc98b4dcd..baedeb3432 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -28,15 +28,6 @@
namespace {
-const char* g_exe_path = nullptr;
-
-#ifdef PDF_ENABLE_V8
-#ifdef V8_USE_EXTERNAL_STARTUP_DATA
-v8::StartupData* g_v8_natives = nullptr;
-v8::StartupData* g_v8_snapshot = nullptr;
-#endif // V8_USE_EXTERNAL_STARTUP_DATA
-#endif // PDF_ENABLE_V8
-
int GetBitmapBytesPerPixel(FPDF_BITMAP bitmap) {
const int format = FPDFBitmap_GetFormat(bitmap);
switch (format) {
@@ -67,31 +58,11 @@ EmbedderTest::EmbedderTest()
memset(&file_access_, 0, sizeof(file_access_));
delegate_ = default_delegate_.get();
-#ifdef PDF_ENABLE_V8
-#ifdef V8_USE_EXTERNAL_STARTUP_DATA
- if (g_v8_natives && g_v8_snapshot) {
- InitializeV8ForPDFium(g_exe_path, std::string(), nullptr, nullptr,
- &platform_);
- } else {
- g_v8_natives = new v8::StartupData;
- g_v8_snapshot = new v8::StartupData;
- InitializeV8ForPDFium(g_exe_path, std::string(), g_v8_natives,
- g_v8_snapshot, &platform_);
- }
-#else
- InitializeV8ForPDFium(g_exe_path, &platform_);
-#endif // V8_USE_EXTERNAL_STARTUP_DATA
-#endif // FPDF_ENABLE_V8
FPDF_FILEWRITE::version = 1;
FPDF_FILEWRITE::WriteBlock = WriteBlockCallback;
}
-EmbedderTest::~EmbedderTest() {
-#ifdef PDF_ENABLE_V8
- v8::V8::ShutdownPlatform();
- delete platform_;
-#endif // PDF_ENABLE_V8
-}
+EmbedderTest::~EmbedderTest() {}
void EmbedderTest::SetUp() {
FPDF_LIBRARY_CONFIG config;
@@ -499,23 +470,3 @@ int EmbedderTest::GetBlockFromString(void* param,
memcpy(buf, new_file->data() + pos, size);
return 1;
}
-
-// Can't use gtest-provided main since we need to stash the path to the
-// executable in order to find the external V8 binary data files.
-int main(int argc, char** argv) {
- g_exe_path = argv[0];
- testing::InitGoogleTest(&argc, argv);
- testing::InitGoogleMock(&argc, argv);
- int ret_val = RUN_ALL_TESTS();
-
-#ifdef PDF_ENABLE_V8
-#ifdef V8_USE_EXTERNAL_STARTUP_DATA
- if (g_v8_natives)
- free(const_cast<char*>(g_v8_natives->data));
- if (g_v8_snapshot)
- free(const_cast<char*>(g_v8_snapshot->data));
-#endif // V8_USE_EXTERNAL_STARTUP_DATA
-#endif // PDF_ENABLE_V8
-
- return ret_val;
-}