| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "fxjs/fxjs_v8.h" | 7 #include "fxjs/fxjs_v8.h" |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 m_V8PersistentContext.Reset(); | 226 m_V8PersistentContext.Reset(); |
| 227 } | 227 } |
| 228 | 228 |
| 229 // static | 229 // static |
| 230 CFXJS_Engine* CFXJS_Engine::CurrentEngineFromIsolate(v8::Isolate* pIsolate) { | 230 CFXJS_Engine* CFXJS_Engine::CurrentEngineFromIsolate(v8::Isolate* pIsolate) { |
| 231 return static_cast<CFXJS_Engine*>( | 231 return static_cast<CFXJS_Engine*>( |
| 232 pIsolate->GetCurrentContext()->GetAlignedPointerFromEmbedderData( | 232 pIsolate->GetCurrentContext()->GetAlignedPointerFromEmbedderData( |
| 233 kPerContextDataIndex)); | 233 kPerContextDataIndex)); |
| 234 } | 234 } |
| 235 | 235 |
| 236 #ifdef PDF_ENABLE_XFA |
| 237 // static |
| 238 void CFXJS_Engine::SetForV8Context(v8::Local<v8::Context> v8Context, |
| 239 CFXJS_Engine* pEngine) { |
| 240 v8Context->SetAlignedPointerInEmbedderData(kPerContextDataIndex, pEngine); |
| 241 } |
| 242 #endif // PDF_ENABLE_XFA |
| 243 |
| 236 // static | 244 // static |
| 237 int CFXJS_Engine::GetObjDefnID(v8::Local<v8::Object> pObj) { | 245 int CFXJS_Engine::GetObjDefnID(v8::Local<v8::Object> pObj) { |
| 238 if (pObj.IsEmpty() || !pObj->InternalFieldCount()) | 246 if (pObj.IsEmpty() || !pObj->InternalFieldCount()) |
| 239 return -1; | 247 return -1; |
| 240 CFXJS_PerObjectData* pPerObjectData = static_cast<CFXJS_PerObjectData*>( | 248 CFXJS_PerObjectData* pPerObjectData = static_cast<CFXJS_PerObjectData*>( |
| 241 pObj->GetAlignedPointerFromInternalField(0)); | 249 pObj->GetAlignedPointerFromInternalField(0)); |
| 242 if (!pPerObjectData) | 250 if (!pPerObjectData) |
| 243 return -1; | 251 return -1; |
| 244 return pPerObjectData->m_ObjDefID; | 252 return pPerObjectData->m_ObjDefID; |
| 245 } | 253 } |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 } | 790 } |
| 783 | 791 |
| 784 void CFXJS_Engine::SetConstArray(const CFX_WideString& name, | 792 void CFXJS_Engine::SetConstArray(const CFX_WideString& name, |
| 785 v8::Local<v8::Array> array) { | 793 v8::Local<v8::Array> array) { |
| 786 m_ConstArrays[name] = v8::Global<v8::Array>(GetIsolate(), array); | 794 m_ConstArrays[name] = v8::Global<v8::Array>(GetIsolate(), array); |
| 787 } | 795 } |
| 788 | 796 |
| 789 v8::Local<v8::Array> CFXJS_Engine::GetConstArray(const CFX_WideString& name) { | 797 v8::Local<v8::Array> CFXJS_Engine::GetConstArray(const CFX_WideString& name) { |
| 790 return v8::Local<v8::Array>::New(GetIsolate(), m_ConstArrays[name]); | 798 return v8::Local<v8::Array>::New(GetIsolate(), m_ConstArrays[name]); |
| 791 } | 799 } |
| OLD | NEW |