Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cfxjse_isolatetracker.h
Go to the documentation of this file.
1// Copyright 2016 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef FXJS_XFA_CFXJSE_ISOLATETRACKER_H_
8#define FXJS_XFA_CFXJSE_ISOLATETRACKER_H_
9
10#include "core/fxcrt/fx_memory.h"
11#include "v8/include/v8-context.h"
12#include "v8/include/v8-isolate.h"
13
14class CFXJSE_Context;
15
17 public:
18 FX_STACK_ALLOCATED();
19
20 explicit CFXJSE_ScopeUtil_IsolateHandle(v8::Isolate* pIsolate);
22 delete;
24 const CFXJSE_ScopeUtil_IsolateHandle&) = delete;
26
27 private:
28 v8::Isolate::Scope isolate_scope_;
29 v8::HandleScope handle_scope_;
30};
31
33 public:
34 FX_STACK_ALLOCATED();
35
36 explicit CFXJSE_ScopeUtil_Context(CFXJSE_Context* pContext);
40
41 private:
42 v8::Context::Scope context_scope_;
43};
44
60
62 public:
63 FX_STACK_ALLOCATED();
64
65 explicit CFXJSE_ScopeUtil_RootContext(v8::Isolate* pIsolate);
68 delete;
70
71 private:
72 v8::Context::Scope context_scope_;
73};
74
90
91#endif // FXJS_XFA_CFXJSE_ISOLATETRACKER_H_
void FXJSE_ClearObjectBinding(v8::Local< v8::Object > hJSObject)
CFXJSE_HostObject * FXJSE_RetrieveObjectBinding(v8::Local< v8::Value > hValue)
void FXJSE_UpdateObjectBinding(v8::Local< v8::Object > hObject, CFXJSE_HostObject *pNewBinding)
const FXJSE_CLASS_DESCRIPTOR kNormalClassDescriptor
const FXJSE_CLASS_DESCRIPTOR kGlobalClassDescriptor
const FXJSE_CLASS_DESCRIPTOR kVariablesClassDescriptor
const FXJSE_CLASS_DESCRIPTOR kFormCalcDescriptor
bool IsName(ByteStringView name) const
const CFXJSE_Context * GetContext() const
static CFXJSE_Class * Create(CFXJSE_Context *pContext, const FXJSE_CLASS_DESCRIPTOR *pClassDescriptor, bool bIsJSGlobal)
UnownedPtr< const CFXJSE_Context > const m_pContext
v8::Global< v8::FunctionTemplate > m_hTemplate
ByteString m_szClassName
CFXJSE_Class(const CFXJSE_Context *pContext)
v8::Local< v8::FunctionTemplate > GetTemplate(v8::Isolate *pIsolate)
UnownedPtr< const FXJSE_CLASS_DESCRIPTOR > m_pClassDescriptor
v8::Local< v8::Object > GetGlobalObject()
v8::Local< v8::Context > GetContext()
ExecutionResult ExecuteScript(ByteStringView bsScript, v8::Local< v8::Object > pNewThisObject)
void AddClass(std::unique_ptr< CFXJSE_Class > pClass)
static std::unique_ptr< CFXJSE_Context > Create(v8::Isolate *pIsolate, const FXJSE_CLASS_DESCRIPTOR *pGlobalClass, CFXJSE_HostObject *pGlobalObject, CXFA_ThisProxy *pProxy)
v8::Isolate * GetIsolate() const
CFXJSE_Class * GetClassByName(ByteStringView szName) const
CFXJSE_ScopeUtil_Context & operator=(const CFXJSE_ScopeUtil_Context &)=delete
CFXJSE_ScopeUtil_Context(const CFXJSE_ScopeUtil_Context &)=delete
CFXJSE_ScopeUtil_Context(CFXJSE_Context *pContext)
CFXJSE_ScopeUtil_IsolateHandleContext(CFXJSE_Context *pContext)
CFXJSE_ScopeUtil_IsolateHandleContext(const CFXJSE_ScopeUtil_IsolateHandleContext &)=delete
CFXJSE_ScopeUtil_IsolateHandleContext & operator=(const CFXJSE_ScopeUtil_IsolateHandleContext &)=delete
CFXJSE_ScopeUtil_IsolateHandleRootContext(const CFXJSE_ScopeUtil_IsolateHandleRootContext &)=delete
CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate *pIsolate)
CFXJSE_ScopeUtil_IsolateHandleRootContext & operator=(const CFXJSE_ScopeUtil_IsolateHandleRootContext &)=delete
CFXJSE_ScopeUtil_IsolateHandle & operator=(const CFXJSE_ScopeUtil_IsolateHandle &)=delete
CFXJSE_ScopeUtil_IsolateHandle(const CFXJSE_ScopeUtil_IsolateHandle &)=delete
CFXJSE_ScopeUtil_IsolateHandle(v8::Isolate *pIsolate)
CFXJSE_ScopeUtil_RootContext & operator=(const CFXJSE_ScopeUtil_RootContext &)=delete
CFXJSE_ScopeUtil_RootContext(const CFXJSE_ScopeUtil_RootContext &)=delete
CFXJSE_ScopeUtil_RootContext(v8::Isolate *pIsolate)
bool HasReturn() const
Definition cjs_result.h:44
bool HasError() const
Definition cjs_result.h:41
static ByteString Format(const char *pFormat,...)
FXJSE_ClassPropType
Definition fxjse.h:31
Definition fxv8.h:22
void ThrowExceptionHelper(v8::Isolate *pIsolate, WideStringView str)
Definition fxv8.cpp:333
const char kClassTag[]
Definition fxjse.cpp:18
const char kFuncTag[]
Definition fxjse.cpp:17
std::unique_ptr< CFXJSE_Value > value
ExecutionResult & operator=(ExecutionResult &&that) noexcept
ExecutionResult(ExecutionResult &&that) noexcept
ExecutionResult(bool sts, std::unique_ptr< CFXJSE_Value > val)
FXJSE_PropTypeGetter dynPropTypeGetter
Definition fxjse.h:84
FXJSE_PropSetter dynPropSetter
Definition fxjse.h:86
const char * tag
Definition fxjse.h:80
FXJSE_MethodCallback dynMethodCall
Definition fxjse.h:87
const char * name
Definition fxjse.h:81
FXJSE_FuncCallback callbackProc
Definition fxjse.h:76
const char * tag
Definition fxjse.h:74