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 "../../include/jsapi/fxjs_v8.h" | 7 #include "../../include/jsapi/fxjs_v8.h" |
8 | 8 |
9 #include "../../../core/include/fxcrt/fx_basic.h" | 9 #include "../../../core/include/fxcrt/fx_basic.h" |
10 | 10 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 } | 151 } |
152 // Provide backwards compatibility when no external isolate. | 152 // Provide backwards compatibility when no external isolate. |
153 if (!g_arrayBufferAllocator) | 153 if (!g_arrayBufferAllocator) |
154 g_arrayBufferAllocator = new FXJS_ArrayBufferAllocator(); | 154 g_arrayBufferAllocator = new FXJS_ArrayBufferAllocator(); |
155 v8::Isolate::CreateParams params; | 155 v8::Isolate::CreateParams params; |
156 params.array_buffer_allocator = g_arrayBufferAllocator; | 156 params.array_buffer_allocator = g_arrayBufferAllocator; |
157 *pResultIsolate = v8::Isolate::New(params); | 157 *pResultIsolate = v8::Isolate::New(params); |
158 return true; | 158 return true; |
159 } | 159 } |
160 | 160 |
| 161 size_t FXJS_GlobalIsolateRefCount() { |
| 162 return g_isolate_ref_count; |
| 163 } |
| 164 |
161 // static | 165 // static |
162 void FXJS_PerIsolateData::SetUp(v8::Isolate* pIsolate) { | 166 void FXJS_PerIsolateData::SetUp(v8::Isolate* pIsolate) { |
163 if (!pIsolate->GetData(g_embedderDataSlot)) | 167 if (!pIsolate->GetData(g_embedderDataSlot)) |
164 pIsolate->SetData(g_embedderDataSlot, new FXJS_PerIsolateData()); | 168 pIsolate->SetData(g_embedderDataSlot, new FXJS_PerIsolateData()); |
165 } | 169 } |
166 | 170 |
167 // static | 171 // static |
168 FXJS_PerIsolateData* FXJS_PerIsolateData::Get(v8::Isolate* pIsolate) { | 172 FXJS_PerIsolateData* FXJS_PerIsolateData::Get(v8::Isolate* pIsolate) { |
169 return static_cast<FXJS_PerIsolateData*>( | 173 return static_cast<FXJS_PerIsolateData*>( |
170 pIsolate->GetData(g_embedderDataSlot)); | 174 pIsolate->GetData(g_embedderDataSlot)); |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 return v8::Local<v8::Array>(); | 753 return v8::Local<v8::Array>(); |
750 v8::Local<v8::Context> context = pIsolate->GetCurrentContext(); | 754 v8::Local<v8::Context> context = pIsolate->GetCurrentContext(); |
751 return v8::Local<v8::Array>::Cast(pValue->ToObject(context).ToLocalChecked()); | 755 return v8::Local<v8::Array>::Cast(pValue->ToObject(context).ToLocalChecked()); |
752 } | 756 } |
753 | 757 |
754 void FXJS_ValueCopy(v8::Local<v8::Value>& pTo, v8::Local<v8::Value> pFrom) { | 758 void FXJS_ValueCopy(v8::Local<v8::Value>& pTo, v8::Local<v8::Value> pFrom) { |
755 pTo = pFrom; | 759 pTo = pFrom; |
756 } | 760 } |
757 | 761 |
758 | 762 |
OLD | NEW |