Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: xfa/fxfa/fm2js/xfa_fm2jscontext.cpp

Issue 2013963005: Replace FXJSE_HCONTEXT with CFXJSE_Context* (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/fm2js/xfa_fm2jscontext.h ('k') | xfa/fxfa/parser/xfa_script_imp.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "xfa/fxfa/fm2js/xfa_fm2jscontext.h" 7 #include "xfa/fxfa/fm2js/xfa_fm2jscontext.h"
8 8
9 #include <time.h> 9 #include <time.h>
10 10
(...skipping 3221 matching lines...) Expand 10 before | Expand all | Expand 10 after
3232 HValueToUTF8String(scriptValue, utf8ScriptString); 3232 HValueToUTF8String(scriptValue, utf8ScriptString);
3233 if (utf8ScriptString.IsEmpty()) { 3233 if (utf8ScriptString.IsEmpty()) {
3234 FXJSE_Value_SetNull(args.GetReturnValue()); 3234 FXJSE_Value_SetNull(args.GetReturnValue());
3235 } else { 3235 } else {
3236 CFX_WideTextBuf wsJavaScriptBuf; 3236 CFX_WideTextBuf wsJavaScriptBuf;
3237 CFX_WideString javaScript; 3237 CFX_WideString javaScript;
3238 CFX_WideString wsError; 3238 CFX_WideString wsError;
3239 XFA_FM2JS_Translate( 3239 XFA_FM2JS_Translate(
3240 CFX_WideString::FromUTF8(utf8ScriptString.AsStringC()).AsStringC(), 3240 CFX_WideString::FromUTF8(utf8ScriptString.AsStringC()).AsStringC(),
3241 wsJavaScriptBuf, wsError); 3241 wsJavaScriptBuf, wsError);
3242 FXJSE_HCONTEXT hContext = FXJSE_Context_Create(pIsolate); 3242 CFXJSE_Context* pContext = FXJSE_Context_Create(pIsolate);
3243 FXJSE_HVALUE returnValue = FXJSE_Value_Create(pIsolate); 3243 FXJSE_HVALUE returnValue = FXJSE_Value_Create(pIsolate);
3244 javaScript = wsJavaScriptBuf.AsStringC(); 3244 javaScript = wsJavaScriptBuf.AsStringC();
3245 FXJSE_ExecuteScript( 3245 FXJSE_ExecuteScript(
3246 hContext, 3246 pContext,
3247 FX_UTF8Encode(javaScript.c_str(), javaScript.GetLength()).c_str(), 3247 FX_UTF8Encode(javaScript.c_str(), javaScript.GetLength()).c_str(),
3248 returnValue); 3248 returnValue);
3249 FXJSE_Value_Set(args.GetReturnValue(), returnValue); 3249 FXJSE_Value_Set(args.GetReturnValue(), returnValue);
3250 FXJSE_Value_Release(returnValue); 3250 FXJSE_Value_Release(returnValue);
3251 FXJSE_Context_Release(hContext); 3251 FXJSE_Context_Release(pContext);
3252 } 3252 }
3253 FXJSE_Value_Release(scriptValue); 3253 FXJSE_Value_Release(scriptValue);
3254 } else { 3254 } else {
3255 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, 3255 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD,
3256 L"Eval"); 3256 L"Eval");
3257 } 3257 }
3258 } 3258 }
3259 void CXFA_FM2JSContext::Ref(FXJSE_HOBJECT hThis, 3259 void CXFA_FM2JSContext::Ref(FXJSE_HOBJECT hThis,
3260 const CFX_ByteStringC& szFuncName, 3260 const CFX_ByteStringC& szFuncName,
3261 CFXJSE_Arguments& args) { 3261 CFXJSE_Arguments& args) {
(...skipping 3906 matching lines...) Expand 10 before | Expand all | Expand 10 after
7168 FXSYS_memset(&m_fmClass, 0, sizeof(FXJSE_CLASS)); 7168 FXSYS_memset(&m_fmClass, 0, sizeof(FXJSE_CLASS));
7169 } 7169 }
7170 CXFA_FM2JSContext::~CXFA_FM2JSContext() { 7170 CXFA_FM2JSContext::~CXFA_FM2JSContext() {
7171 m_pDocument = NULL; 7171 m_pDocument = NULL;
7172 if (m_hValue) { 7172 if (m_hValue) {
7173 FXJSE_Value_Release(m_hValue); 7173 FXJSE_Value_Release(m_hValue);
7174 m_hValue = NULL; 7174 m_hValue = NULL;
7175 } 7175 }
7176 m_pIsolate = NULL; 7176 m_pIsolate = NULL;
7177 } 7177 }
7178 void CXFA_FM2JSContext::Initialize(v8::Isolate* hScriptRuntime, 7178 void CXFA_FM2JSContext::Initialize(v8::Isolate* pScriptIsolate,
7179 FXJSE_HCONTEXT hScriptContext, 7179 CFXJSE_Context* pScriptContext,
7180 CXFA_Document* pDoc) { 7180 CXFA_Document* pDoc) {
7181 m_pDocument = pDoc; 7181 m_pDocument = pDoc;
7182 m_pIsolate = hScriptRuntime; 7182 m_pIsolate = pScriptIsolate;
7183 m_fmClass.name = "XFA_FM2JS_FormCalcClass"; 7183 m_fmClass.name = "XFA_FM2JS_FormCalcClass";
7184 m_fmClass.constructor = NULL; 7184 m_fmClass.constructor = NULL;
7185 m_fmClass.properties = NULL; 7185 m_fmClass.properties = NULL;
7186 m_fmClass.methods = formcalc_fm2js_functions; 7186 m_fmClass.methods = formcalc_fm2js_functions;
7187 m_fmClass.propNum = 0; 7187 m_fmClass.propNum = 0;
7188 m_fmClass.methNum = 7188 m_fmClass.methNum =
7189 sizeof(formcalc_fm2js_functions) / sizeof(formcalc_fm2js_functions[0]); 7189 sizeof(formcalc_fm2js_functions) / sizeof(formcalc_fm2js_functions[0]);
7190 m_hFMClass = FXJSE_DefineClass(hScriptContext, &m_fmClass); 7190 m_hFMClass = FXJSE_DefineClass(pScriptContext, &m_fmClass);
7191 m_hValue = FXJSE_Value_Create(hScriptRuntime); 7191 m_hValue = FXJSE_Value_Create(pScriptIsolate);
7192 FXJSE_Value_SetNull(m_hValue); 7192 FXJSE_Value_SetNull(m_hValue);
7193 FXJSE_Value_SetObject(m_hValue, this, m_hFMClass); 7193 FXJSE_Value_SetObject(m_hValue, this, m_hFMClass);
7194 } 7194 }
7195 void CXFA_FM2JSContext::GlobalPropertyGetter(FXJSE_HVALUE hValue) { 7195 void CXFA_FM2JSContext::GlobalPropertyGetter(FXJSE_HVALUE hValue) {
7196 FXJSE_Value_Set(hValue, m_hValue); 7196 FXJSE_Value_Set(hValue, m_hValue);
7197 } 7197 }
7198 void CXFA_FM2JSContext::ThrowScriptErrorMessage(int32_t iStringID, ...) { 7198 void CXFA_FM2JSContext::ThrowScriptErrorMessage(int32_t iStringID, ...) {
7199 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); 7199 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider();
7200 ASSERT(pAppProvider); 7200 ASSERT(pAppProvider);
7201 CFX_WideString wsFormat; 7201 CFX_WideString wsFormat;
7202 pAppProvider->LoadString(iStringID, wsFormat); 7202 pAppProvider->LoadString(iStringID, wsFormat);
7203 CFX_WideString wsMessage; 7203 CFX_WideString wsMessage;
7204 va_list arg_ptr; 7204 va_list arg_ptr;
7205 va_start(arg_ptr, iStringID); 7205 va_start(arg_ptr, iStringID);
7206 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); 7206 wsMessage.FormatV(wsFormat.c_str(), arg_ptr);
7207 va_end(arg_ptr); 7207 va_end(arg_ptr);
7208 FXJSE_ThrowMessage( 7208 FXJSE_ThrowMessage(
7209 "", FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); 7209 "", FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC());
7210 } 7210 }
OLDNEW
« no previous file with comments | « xfa/fxfa/fm2js/xfa_fm2jscontext.h ('k') | xfa/fxfa/parser/xfa_script_imp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698