diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-01-03 09:44:28 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-08 14:52:51 +0000 |
commit | 5553d8b11634935c34e7774325eda6afd61c8f56 (patch) | |
tree | a33d4014b3c7f1ef88bf84e3ec3ef05a53af1b7f /testing/embedder_test.cpp | |
parent | 5183e8679844eeff2c5dda2a2e02762487429a1f (diff) | |
download | pdfium-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.cpp | 51 |
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; -} |