From a72e8e2c4392df725c7e35ed1ae3f891e79e49ec Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Wed, 7 Oct 2015 10:17:53 -0700 Subject: Merge to XFA: Pass v8::Isolate to PDFium at init time. New code changes in JS_Runtime.cpp. (cherry picked from commit 3dedace9623fef6161a8666e53a4ab2b9be61e4c) Original Review URL: https://codereview.chromium.org/1367033002 . Also merge to XFA: Run FXJS_V8 embedder tests against a shared isolate, since the two go together. (cherry picked from commit 4ea721cb7954898a9722c389dae86c62957352d0) Original Review URL: https://codereview.chromium.org/1377293004 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1381633008 . --- public/fpdf_formfill.h | 15 +++++---------- public/fpdfview.h | 13 ++++++++++++- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'public') diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h index 7be678cd47..d04911723d 100644 --- a/public/fpdf_formfill.h +++ b/public/fpdf_formfill.h @@ -299,17 +299,12 @@ typedef struct _IPDF_JsPlatform { /* Version 2. */ - /** - * pointer to the v8::Isolate to use, or NULL to force PDFium to create one. - **/ - void* m_isolate; + void* m_isolate; /* Unused in v3, retain for compatibility. */ + unsigned int m_v8EmbedderSlot; /* Unused in v3, retain for compatibility. */ + + /* Version 3. */ + /* Version 3 moves m_Isolate and m_v8EmbedderSlot to FPDF_LIBRARY_CONFIG. */ - /** - * The embedder data slot to use in the v8::Isolate to store PDFium's - * per-isolate data. The value needs to be between 0 and - * v8::Internals::kNumIsolateDataLots (exclusive). - */ - unsigned int m_v8EmbedderSlot; } IPDF_JSPLATFORM; // Flags for Cursor type diff --git a/public/fpdfview.h b/public/fpdfview.h index bfa13c43c1..f899709873 100644 --- a/public/fpdfview.h +++ b/public/fpdfview.h @@ -158,7 +158,7 @@ DLLEXPORT void STDCALL FPDF_InitLibrary(); // Process-wide options for initializing library. typedef struct FPDF_LIBRARY_CONFIG_ { - // Version number of the interface. Currently must be 1. + // Version number of the interface. Currently must be 2. int version; // Array of paths to scan in place of the defaults when using built-in @@ -166,6 +166,17 @@ typedef struct FPDF_LIBRARY_CONFIG_ { // The Array may be NULL itself to use the default paths. May be ignored // entirely depending upon the platform. const char** m_pUserFontPaths; + + // Version 2. + + // pointer to the v8::Isolate to use, or NULL to force PDFium to create one. + void* m_pIsolate; + + // The embedder data slot to use in the v8::Isolate to store PDFium's + // per-isolate data. The value needs to be between 0 and + // v8::Internals::kNumIsolateDataLots (exclusive). Note that 0 is fine + // for most embedders. + unsigned int m_v8EmbedderSlot; } FPDF_LIBRARY_CONFIG; // Function: FPDF_InitLibraryWithConfig -- cgit v1.2.3