diff options
author | Jochen Eisinger <jochen@chromium.org> | 2014-07-17 08:46:45 +0200 |
---|---|---|
committer | Jochen Eisinger <jochen@chromium.org> | 2014-07-17 08:46:45 +0200 |
commit | 3fb18f41076a111e48cd8cdaee596075c89c275c (patch) | |
tree | b9522eaaa1779a3632a13cda3912ade871b34cb8 /fpdfsdk | |
parent | 8f75c67f4e724ba44eb3d90e4033f8cc90522273 (diff) | |
download | pdfium-3fb18f41076a111e48cd8cdaee596075c89c275c.tar.xz |
Hook up the default v8::Platform implementation to pdfium
It remains to call the PumpMessageLoop() method at a regular interval,
however, since nothing posts to the loop yet, that shouldn't be a
problem.
BUG=25
R=jam@chromium.org
Review URL: https://codereview.chromium.org/374123002
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/include/javascript/IJavaScript.h | 7 | ||||
-rw-r--r-- | fpdfsdk/src/javascript/JS_Runtime.cpp | 7 |
2 files changed, 13 insertions, 1 deletions
diff --git a/fpdfsdk/include/javascript/IJavaScript.h b/fpdfsdk/include/javascript/IJavaScript.h index 3087b6a865..7633bbb486 100644 --- a/fpdfsdk/include/javascript/IJavaScript.h +++ b/fpdfsdk/include/javascript/IJavaScript.h @@ -7,6 +7,10 @@ #ifndef _IJAVASCRIPT_H_ #define _IJAVASCRIPT_H_ +namespace v8 { +class Platform; +} + class IFXJS_Context { public: @@ -92,7 +96,7 @@ class CJS_GlobalData; class CJS_RuntimeFactory { public: - CJS_RuntimeFactory():m_bInit(FALSE),m_nRef(0),m_pGlobalData(NULL),m_nGlobalDataCount(0) {} + CJS_RuntimeFactory():m_bInit(FALSE),m_nRef(0),m_pGlobalData(NULL),m_nGlobalDataCount(0),m_platform(NULL) {} ~CJS_RuntimeFactory(); IFXJS_Runtime* NewJSRuntime(CPDFDoc_Environment* pApp); void DeleteJSRuntime(IFXJS_Runtime* pRuntime); @@ -106,6 +110,7 @@ private: int m_nRef; CJS_GlobalData* m_pGlobalData; FX_INT32 m_nGlobalDataCount; + v8::Platform* m_platform; }; #endif //_IJAVASCRIPT_H_ diff --git a/fpdfsdk/src/javascript/JS_Runtime.cpp b/fpdfsdk/src/javascript/JS_Runtime.cpp index c7a92ebde2..543540bd4d 100644 --- a/fpdfsdk/src/javascript/JS_Runtime.cpp +++ b/fpdfsdk/src/javascript/JS_Runtime.cpp @@ -27,6 +27,8 @@ #include "../../include/javascript/global.h" #include "../../include/javascript/console.h" +#include <libplatform/libplatform.h> + CJS_RuntimeFactory::~CJS_RuntimeFactory() { } @@ -36,6 +38,8 @@ IFXJS_Runtime* CJS_RuntimeFactory::NewJSRuntime(CPDFDoc_Environment* pApp) if (!m_bInit) { JS_Initial(); + m_platform = v8::platform::CreateDefaultPlatform(); + v8::V8::InitializePlatform(m_platform); m_bInit = TRUE; } @@ -55,6 +59,9 @@ void CJS_RuntimeFactory::Release() { JS_Release(); ReleaseGlobalData(); + v8::V8::ShutdownPlatform(); + delete m_platform; + m_platform = NULL; m_bInit = FALSE; } } |