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

Side by Side Diff: fpdfsdk/javascript/app.cpp

Issue 2217253002: Remove backpointer to runtime from CJS_Array. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Remove non-const refs Created 4 years, 4 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 | « fpdfsdk/javascript/PublicMethods.cpp ('k') | fpdfsdk/javascript/color.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 "fpdfsdk/javascript/app.h" 7 #include "fpdfsdk/javascript/app.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 FX_BOOL app::activeDocs(IJS_Context* cc, 102 FX_BOOL app::activeDocs(IJS_Context* cc,
103 CJS_PropValue& vp, 103 CJS_PropValue& vp,
104 CFX_WideString& sError) { 104 CFX_WideString& sError) {
105 if (!vp.IsGetting()) 105 if (!vp.IsGetting())
106 return FALSE; 106 return FALSE;
107 107
108 CJS_Context* pContext = (CJS_Context*)cc; 108 CJS_Context* pContext = (CJS_Context*)cc;
109 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); 109 CPDFDoc_Environment* pApp = pContext->GetReaderApp();
110 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 110 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
111 CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); 111 CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument();
112 CJS_Array aDocs(pRuntime); 112 CJS_Array aDocs;
113 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) { 113 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) {
114 CJS_Document* pJSDocument = nullptr; 114 CJS_Document* pJSDocument = nullptr;
115 if (pDoc == pCurDoc) { 115 if (pDoc == pCurDoc) {
116 v8::Local<v8::Object> pObj = FXJS_GetThisObj(pRuntime->GetIsolate()); 116 v8::Local<v8::Object> pObj = FXJS_GetThisObj(pRuntime->GetIsolate());
117 if (FXJS_GetObjDefnID(pObj) == CJS_Document::g_nObjDefnID) 117 if (FXJS_GetObjDefnID(pObj) == CJS_Document::g_nObjDefnID)
118 pJSDocument = 118 pJSDocument =
119 (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj); 119 (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj);
120 } else { 120 } else {
121 v8::Local<v8::Object> pObj = FXJS_NewFxDynamicObj( 121 v8::Local<v8::Object> pObj = FXJS_NewFxDynamicObj(
122 pRuntime->GetIsolate(), pRuntime, CJS_Document::g_nObjDefnID); 122 pRuntime->GetIsolate(), pRuntime, CJS_Document::g_nObjDefnID);
123 pJSDocument = 123 pJSDocument =
124 (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj); 124 (CJS_Document*)FXJS_GetPrivate(pRuntime->GetIsolate(), pObj);
125 ASSERT(pJSDocument); 125 ASSERT(pJSDocument);
126 } 126 }
127 aDocs.SetElement(0, CJS_Value(pRuntime, pJSDocument)); 127 aDocs.SetElement(pRuntime->GetIsolate(), 0,
128 CJS_Value(pRuntime, pJSDocument));
128 } 129 }
129 if (aDocs.GetLength() > 0) 130 if (aDocs.GetLength() > 0)
130 vp << aDocs; 131 vp << aDocs;
131 else 132 else
132 vp.SetNull(); 133 vp.SetNull();
133 134
134 return TRUE; 135 return TRUE;
135 } 136 }
136 137
137 FX_BOOL app::calculate(IJS_Context* cc, 138 FX_BOOL app::calculate(IJS_Context* cc,
138 CJS_PropValue& vp, 139 CJS_PropValue& vp,
139 CFX_WideString& sError) { 140 CFX_WideString& sError) {
140 if (vp.IsSetting()) { 141 if (vp.IsSetting()) {
141 bool bVP; 142 bool bVP;
142 vp >> bVP; 143 vp >> bVP;
143 m_bCalculate = (FX_BOOL)bVP; 144 m_bCalculate = (FX_BOOL)bVP;
144 145
145 CJS_Context* pContext = (CJS_Context*)cc; 146 CJS_Context* pContext = (CJS_Context*)cc;
146 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); 147 CPDFDoc_Environment* pApp = pContext->GetReaderApp();
147 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
148 CJS_Array aDocs(pRuntime);
149 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) 148 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument())
150 pDoc->GetInterForm()->EnableCalculate((FX_BOOL)m_bCalculate); 149 pDoc->GetInterForm()->EnableCalculate((FX_BOOL)m_bCalculate);
151 } else { 150 } else {
152 vp << (bool)m_bCalculate; 151 vp << (bool)m_bCalculate;
153 } 152 }
154 return TRUE; 153 return TRUE;
155 } 154 }
156 155
157 FX_BOOL app::formsVersion(IJS_Context* cc, 156 FX_BOOL app::formsVersion(IJS_Context* cc,
158 CJS_PropValue& vp, 157 CJS_PropValue& vp,
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 std::vector<CJS_Value> newParams = JS_ExpandKeywordParams( 276 std::vector<CJS_Value> newParams = JS_ExpandKeywordParams(
278 pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle"); 277 pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle");
279 278
280 if (newParams[0].GetType() == CJS_Value::VT_unknown) { 279 if (newParams[0].GetType() == CJS_Value::VT_unknown) {
281 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); 280 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
282 return FALSE; 281 return FALSE;
283 } 282 }
284 283
285 CFX_WideString swMsg; 284 CFX_WideString swMsg;
286 if (newParams[0].GetType() == CJS_Value::VT_object) { 285 if (newParams[0].GetType() == CJS_Value::VT_object) {
287 CJS_Array carray(pRuntime); 286 CJS_Array carray;
288 if (newParams[0].ConvertToArray(carray)) { 287 if (newParams[0].ConvertToArray(carray)) {
289 swMsg = L"["; 288 swMsg = L"[";
290 CJS_Value element(pRuntime); 289 CJS_Value element(pRuntime);
291 for (int i = 0; i < carray.GetLength(); ++i) { 290 for (int i = 0; i < carray.GetLength(); ++i) {
292 if (i) 291 if (i)
293 swMsg += L", "; 292 swMsg += L", ";
294 carray.GetElement(i, element); 293 carray.GetElement(pRuntime->GetIsolate(), i, element);
295 swMsg += element.ToCFXWideString(); 294 swMsg += element.ToCFXWideString();
296 } 295 }
297 swMsg += L"]"; 296 swMsg += L"]";
298 } else { 297 } else {
299 swMsg = newParams[0].ToCFXWideString(); 298 swMsg = newParams[0].ToCFXWideString();
300 } 299 }
301 } else { 300 } else {
302 swMsg = newParams[0].ToCFXWideString(); 301 swMsg = newParams[0].ToCFXWideString();
303 } 302 }
304 303
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { 697 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
699 return FALSE; 698 return FALSE;
700 } 699 }
701 700
702 FX_BOOL app::execDialog(IJS_Context* cc, 701 FX_BOOL app::execDialog(IJS_Context* cc,
703 const std::vector<CJS_Value>& params, 702 const std::vector<CJS_Value>& params,
704 CJS_Value& vRet, 703 CJS_Value& vRet,
705 CFX_WideString& sError) { 704 CFX_WideString& sError) {
706 return TRUE; 705 return TRUE;
707 } 706 }
OLDNEW
« no previous file with comments | « fpdfsdk/javascript/PublicMethods.cpp ('k') | fpdfsdk/javascript/color.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698