summaryrefslogtreecommitdiff
path: root/fxjs
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-10-13 10:57:01 -0700
committerCommit bot <commit-bot@chromium.org>2016-10-13 10:57:01 -0700
commitb685e6471075bebd26711bc183de3128f54932e3 (patch)
treee3ddfa51c087bb7a6960f117f68a412b14b322d8 /fxjs
parentabefb79577b32d291d14d7e01a70f6f8cf213bd3 (diff)
downloadpdfium-b685e6471075bebd26711bc183de3128f54932e3.tar.xz
Revert of Make the CPDFXFA_App non-global (patchset #3 id:80001 of https://codereview.chromium.org/2416753002/ )
Reason for revert: https://build.chromium.org/p/client.pdfium/builders/linux_xfa_asan_lsan/builds/112/steps/embeddertests/logs/stdio msan is sad. Original issue's description: > Make the CPDFXFA_App non-global > > This CL changes CPDFXFA_App from a global object to a child of the > CPDFXFA_Document objects. > > BUG=pdfium:623 > > Committed: https://pdfium.googlesource.com/pdfium/+/abefb79577b32d291d14d7e01a70f6f8cf213bd3 TBR=tsepez@chromium.org,thestig@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=pdfium:623 Review-Url: https://codereview.chromium.org/2412903004
Diffstat (limited to 'fxjs')
-rw-r--r--fxjs/fxjs_v8.cpp8
-rw-r--r--fxjs/fxjs_v8.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp
index 5ce8c47569..d74d355dc9 100644
--- a/fxjs/fxjs_v8.cpp
+++ b/fxjs/fxjs_v8.cpp
@@ -233,6 +233,14 @@ CFXJS_Engine* CFXJS_Engine::CurrentEngineFromIsolate(v8::Isolate* pIsolate) {
kPerContextDataIndex));
}
+#ifdef PDF_ENABLE_XFA
+// static
+void CFXJS_Engine::SetForV8Context(v8::Local<v8::Context> v8Context,
+ CFXJS_Engine* pEngine) {
+ v8Context->SetAlignedPointerInEmbedderData(kPerContextDataIndex, pEngine);
+}
+#endif // PDF_ENABLE_XFA
+
// static
int CFXJS_Engine::GetObjDefnID(v8::Local<v8::Object> pObj) {
if (pObj.IsEmpty() || !pObj->InternalFieldCount())
diff --git a/fxjs/fxjs_v8.h b/fxjs/fxjs_v8.h
index ba729626f2..5f658989a5 100644
--- a/fxjs/fxjs_v8.h
+++ b/fxjs/fxjs_v8.h
@@ -139,6 +139,13 @@ class CFXJS_Engine {
static CFXJS_Engine* CurrentEngineFromIsolate(v8::Isolate* pIsolate);
static int GetObjDefnID(v8::Local<v8::Object> pObj);
+#ifdef PDF_ENABLE_XFA
+ // Called as part of FXJS_InitializeEngine, exposed so PDF can make its
+ // own contexts compatible with XFA or vice versa.
+ static void SetForV8Context(v8::Local<v8::Context> v8Context,
+ CFXJS_Engine* pEngine);
+#endif // PDF_ENABLE_XFA
+
v8::Isolate* GetIsolate() const { return m_isolate; }
// Always returns a valid, newly-created objDefnID.