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

Side by Side Diff: fpdfsdk/src/javascript/Document.cpp

Issue 883393007: Kill off some dodgy JS callbacks (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: remove more now-unreachable code. Created 5 years, 10 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/src/fsdk_baseform.cpp ('k') | fpdfsdk/src/javascript/JS_Object.cpp » ('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 "../../include/javascript/JavaScript.h" 7 #include "../../include/javascript/JavaScript.h"
8 #include "../../include/javascript/IJavaScript.h" 8 #include "../../include/javascript/IJavaScript.h"
9 #include "../../include/javascript/JS_Define.h" 9 #include "../../include/javascript/JS_Define.h"
10 #include "../../include/javascript/JS_Object.h" 10 #include "../../include/javascript/JS_Object.h"
11 #include "../../include/javascript/JS_Value.h" 11 #include "../../include/javascript/JS_Value.h"
12 #include "../../include/javascript/Document.h" 12 #include "../../include/javascript/Document.h"
13 #include "../../include/javascript/JS_EventHandler.h" 13 #include "../../include/javascript/JS_EventHandler.h"
14 #include "../../include/javascript/JS_Context.h" 14 #include "../../include/javascript/JS_Context.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 JS_STATIC_PROP_ENTRY(calculate) 71 JS_STATIC_PROP_ENTRY(calculate)
72 JS_STATIC_PROP_ENTRY(Collab) 72 JS_STATIC_PROP_ENTRY(Collab)
73 JS_STATIC_PROP_ENTRY(creationDate) 73 JS_STATIC_PROP_ENTRY(creationDate)
74 JS_STATIC_PROP_ENTRY(creator) 74 JS_STATIC_PROP_ENTRY(creator)
75 JS_STATIC_PROP_ENTRY(delay) 75 JS_STATIC_PROP_ENTRY(delay)
76 JS_STATIC_PROP_ENTRY(dirty) 76 JS_STATIC_PROP_ENTRY(dirty)
77 JS_STATIC_PROP_ENTRY(documentFileName) 77 JS_STATIC_PROP_ENTRY(documentFileName)
78 JS_STATIC_PROP_ENTRY(external) 78 JS_STATIC_PROP_ENTRY(external)
79 JS_STATIC_PROP_ENTRY(filesize) 79 JS_STATIC_PROP_ENTRY(filesize)
80 JS_STATIC_PROP_ENTRY(icons) 80 JS_STATIC_PROP_ENTRY(icons)
81 » JS_STATIC_PROP_ENTRY(info) 81 » JS_STATIC_PROP_ENTRY(info)
82 JS_STATIC_PROP_ENTRY(keywords) 82 JS_STATIC_PROP_ENTRY(keywords)
83 JS_STATIC_PROP_ENTRY(layout) 83 JS_STATIC_PROP_ENTRY(layout)
84 JS_STATIC_PROP_ENTRY(media) 84 JS_STATIC_PROP_ENTRY(media)
85 JS_STATIC_PROP_ENTRY(modDate) 85 JS_STATIC_PROP_ENTRY(modDate)
86 JS_STATIC_PROP_ENTRY(mouseX) 86 JS_STATIC_PROP_ENTRY(mouseX)
87 JS_STATIC_PROP_ENTRY(mouseY) 87 JS_STATIC_PROP_ENTRY(mouseY)
88 JS_STATIC_PROP_ENTRY(numFields) 88 JS_STATIC_PROP_ENTRY(numFields)
89 JS_STATIC_PROP_ENTRY(numPages) 89 JS_STATIC_PROP_ENTRY(numPages)
90 » JS_STATIC_PROP_ENTRY(pageNum) 90 » JS_STATIC_PROP_ENTRY(pageNum)
91 JS_STATIC_PROP_ENTRY(pageWindowRect) 91 JS_STATIC_PROP_ENTRY(pageWindowRect)
92 JS_STATIC_PROP_ENTRY(path) 92 JS_STATIC_PROP_ENTRY(path)
93 JS_STATIC_PROP_ENTRY(producer) 93 JS_STATIC_PROP_ENTRY(producer)
94 JS_STATIC_PROP_ENTRY(subject) 94 JS_STATIC_PROP_ENTRY(subject)
95 JS_STATIC_PROP_ENTRY(title) 95 JS_STATIC_PROP_ENTRY(title)
96 JS_STATIC_PROP_ENTRY(zoom) 96 JS_STATIC_PROP_ENTRY(zoom)
97 JS_STATIC_PROP_ENTRY(zoomType) 97 JS_STATIC_PROP_ENTRY(zoomType)
98 END_JS_STATIC_PROP() 98 END_JS_STATIC_PROP()
99 99
100 BEGIN_JS_STATIC_METHOD(CJS_Document) 100 BEGIN_JS_STATIC_METHOD(CJS_Document)
(...skipping 29 matching lines...) Expand all
130 JS_STATIC_METHOD_ENTRY(importTextData, 2) 130 JS_STATIC_METHOD_ENTRY(importTextData, 2)
131 JS_STATIC_METHOD_ENTRY(insertPages, 4) 131 JS_STATIC_METHOD_ENTRY(insertPages, 4)
132 JS_STATIC_METHOD_ENTRY(mailForm, 6) 132 JS_STATIC_METHOD_ENTRY(mailForm, 6)
133 JS_STATIC_METHOD_ENTRY(print, 9) 133 JS_STATIC_METHOD_ENTRY(print, 9)
134 JS_STATIC_METHOD_ENTRY(removeField, 1) 134 JS_STATIC_METHOD_ENTRY(removeField, 1)
135 JS_STATIC_METHOD_ENTRY(replacePages, 4) 135 JS_STATIC_METHOD_ENTRY(replacePages, 4)
136 JS_STATIC_METHOD_ENTRY(resetForm, 1) 136 JS_STATIC_METHOD_ENTRY(resetForm, 1)
137 JS_STATIC_METHOD_ENTRY(removeIcon, 0) 137 JS_STATIC_METHOD_ENTRY(removeIcon, 0)
138 JS_STATIC_METHOD_ENTRY(saveAs, 5) 138 JS_STATIC_METHOD_ENTRY(saveAs, 5)
139 JS_STATIC_METHOD_ENTRY(submitForm, 23) 139 JS_STATIC_METHOD_ENTRY(submitForm, 23)
140 » JS_STATIC_METHOD_ENTRY(mailDoc, 0)» » 140 » JS_STATIC_METHOD_ENTRY(mailDoc, 0)
141 END_JS_STATIC_METHOD() 141 END_JS_STATIC_METHOD()
142 142
143 IMPLEMENT_JS_CLASS(CJS_Document, Document) 143 IMPLEMENT_JS_CLASS(CJS_Document, Document)
144 144
145 FX_BOOL CJS_Document::InitInstance(IFXJS_Context* cc) 145 FX_BOOL CJS_Document::InitInstance(IFXJS_Context* cc)
146 { 146 {
147 CJS_Context* pContext = (CJS_Context*)cc; 147 CJS_Context* pContext = (CJS_Context*)cc;
148 ASSERT(pContext != NULL); 148 ASSERT(pContext != NULL);
149 149
150 Document* pDoc = (Document*)GetEmbedObject(); 150 Document* pDoc = (Document*)GetEmbedObject();
151 ASSERT(pDoc != NULL); 151 ASSERT(pDoc != NULL);
152 » 152
153 pDoc->AttachDoc(pContext->GetReaderDocument()); 153 pDoc->AttachDoc(pContext->GetReaderDocument());
154 pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate()); 154 pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate());
155 return TRUE; 155 return TRUE;
156 }; 156 };
157 157
158 /* --------------------------------- Document --------------------------------- */ 158 /* --------------------------------- Document --------------------------------- */
159 159
160 Document::Document(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject), 160 Document::Document(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject),
161 m_isolate(NULL), 161 m_isolate(NULL),
162 m_pIconTree(NULL), 162 m_pIconTree(NULL),
(...skipping 11 matching lines...) Expand all
174 delete m_pIconTree; 174 delete m_pIconTree;
175 m_pIconTree = NULL; 175 m_pIconTree = NULL;
176 } 176 }
177 for (int i=0; i<m_DelayData.GetSize(); i++) 177 for (int i=0; i<m_DelayData.GetSize(); i++)
178 { 178 {
179 if (CJS_DelayData* pData = m_DelayData.GetAt(i)) 179 if (CJS_DelayData* pData = m_DelayData.GetAt(i))
180 { 180 {
181 delete pData; 181 delete pData;
182 pData = NULL; 182 pData = NULL;
183 m_DelayData.SetAt(i, NULL); 183 m_DelayData.SetAt(i, NULL);
184 » » » 184
185 } 185 }
186 } 186 }
187 187
188 m_DelayData.RemoveAll(); 188 m_DelayData.RemoveAll();
189 m_DelayAnnotData.RemoveAll(); 189 m_DelayAnnotData.RemoveAll();
190 } 190 }
191 191
192 //the total number of fileds in document. 192 //the total number of fileds in document.
193 FX_BOOL Document::numFields(OBJ_PROP_PARAMS) 193 FX_BOOL Document::numFields(OBJ_PROP_PARAMS)
194 { 194 {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 } 246 }
247 247
248 return TRUE; 248 return TRUE;
249 } 249 }
250 250
251 FX_BOOL Document::pageNum(OBJ_PROP_PARAMS) 251 FX_BOOL Document::pageNum(OBJ_PROP_PARAMS)
252 { 252 {
253 ASSERT(m_pDocument != NULL); 253 ASSERT(m_pDocument != NULL);
254 254
255 if (vp.IsGetting()) 255 if (vp.IsGetting())
256 » {» » » 256 » {
257 if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView()) 257 if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView())
258 { 258 {
259 vp << pPageView->GetPageIndex(); 259 vp << pPageView->GetPageIndex();
260 } 260 }
261 } 261 }
262 else 262 else
263 » {» » 263 » {
264 int iPageCount = m_pDocument->GetPageCount(); 264 int iPageCount = m_pDocument->GetPageCount();
265 265
266 int iPageNum = 0; 266 int iPageNum = 0;
267 vp >> iPageNum; 267 vp >> iPageNum;
268 268
269 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 269 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
270 if(!pEnv) 270 if(!pEnv)
271 return FALSE; 271 return FALSE;
272 272
273 if (iPageNum >= 0 && iPageNum < iPageCount) 273 if (iPageNum >= 0 && iPageNum < iPageCount)
274 { 274 {
275 pEnv->JS_docgotoPage(iPageNum); 275 pEnv->JS_docgotoPage(iPageNum);
276 } 276 }
277 else if (iPageNum >= iPageCount) 277 else if (iPageNum >= iPageCount)
278 { 278 {
279 pEnv->JS_docgotoPage(iPageCount-1); 279 pEnv->JS_docgotoPage(iPageCount-1);
280 } 280 }
281 else if (iPageNum < 0) 281 else if (iPageNum < 0)
282 { 282 {
283 pEnv->JS_docgotoPage(0); 283 pEnv->JS_docgotoPage(0);
284 } 284 }
285 } 285 }
286 286
287 return TRUE; 287 return TRUE;
288 } 288 }
289 289
290 FX_BOOL Document::ParserParams(JSObject* pObj,CJS_AnnotObj& annotobj) 290 FX_BOOL Document::ParserParams(JSObject* pObj,CJS_AnnotObj& annotobj)
291 { 291 {
292 // Not supported.
292 return TRUE; 293 return TRUE;
293 } 294 }
294 295
295 FX_BOOL Document::addAnnot(OBJ_METHOD_PARAMS) 296 FX_BOOL Document::addAnnot(OBJ_METHOD_PARAMS)
296 { 297 {
298 // Not supported.
297 return TRUE; 299 return TRUE;
298 } 300 }
299 301
300 FX_BOOL Document::addField(OBJ_METHOD_PARAMS) 302 FX_BOOL Document::addField(OBJ_METHOD_PARAMS)
301 { 303 {
302 » //Doesn't support. 304 » // Not supported.
303 return TRUE; 305 return TRUE;
304 } 306 }
305 307
306 //exports form fields as a tab-delimited text file to a local hard disk.
307 //comment: need reader support
308 //note : watch the third parameter:cPath, for what case it can be safely saved?
309 //int CPDFSDK_InterForm::ExportAsText(FX_BOOL bNoPassword,StringArray aFields,St ring cPath);
310 //return value, int the index of the parameters illegal, the index is based on 1 .
311
312 FX_BOOL Document::exportAsText(OBJ_METHOD_PARAMS) 308 FX_BOOL Document::exportAsText(OBJ_METHOD_PARAMS)
313 { 309 {
314 » if (IsSafeMode(cc)) return TRUE; 310 » // Unsafe, not supported.
315 return TRUE; 311 return TRUE;
316 } 312 }
317 313
318 //exports form fields as a fdf file to the local hard drive
319 //comment: need reader supports
320 //note:the last parameter hasn't been confirmed.because the previous one blocks the way.
321 //int CPDFSDK_Document::ExportAsFDF(FX_BOOL bAllFields,BOOL bNoPassword,StringAr ray aFields,FX_BOOL bFlags,String cPath,FX_BOOL bAnnotations);
322
323 FX_BOOL Document::exportAsFDF(OBJ_METHOD_PARAMS) 314 FX_BOOL Document::exportAsFDF(OBJ_METHOD_PARAMS)
324 { 315 {
325 » v8::Isolate* isolate = GetIsolate(cc); 316 » // Unsafe, not supported.
326 » if (IsSafeMode(cc)) return TRUE; 317 » return TRUE;
327
328 » ASSERT(m_pDocument != NULL);
329
330 » if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
331
332 » FX_BOOL bAllFields = params.size() > 0 ? (FX_BOOL)params[0] : FALSE;
333 » FX_BOOL bNoPassWord = params.size() > 1 ? (FX_BOOL)params[1] : TRUE;
334 » FX_BOOL bWhole = params.size() > 2 ? (params[2].GetType() == VT_null) : TRUE;
335 » CJS_Array arrayFileds(isolate);
336 » if (!bWhole)
337 » » arrayFileds.Attach(params[2]);
338 » //FX_BOOL bFlags = params.size() > 3 ? (FX_BOOL)params[3] : FALSE;
339 » CFX_WideString swFilePath = params.size() > 4 ? (FX_LPCWSTR)params[4].op erator CFX_WideString() : L"";
340
341 » if (swFilePath.IsEmpty())
342 » {
343 » » CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
344 » » swFilePath = pEnv->JS_fieldBrowse();
345 » » if(swFilePath.IsEmpty())
346 » » » return TRUE;
347 » }
348 » else
349 » {
350 » » swFilePath = app::PDFPathToSysPath(swFilePath);
351 » }
352 »
353 » m_pDocument->SetFocusAnnot(NULL);
354
355 » CPDFSDK_InterForm* pInterForm= (CPDFSDK_InterForm*)m_pDocument->GetInter Form();
356 » ASSERT(pInterForm != NULL);
357
358 » CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
359 » ASSERT(pPDFForm != NULL);
360
361 » CFX_PtrArray aFields;
362
363 » if (bWhole)
364 » {
365 » » for (int j=0,jsz=pPDFForm->CountFields(); j<jsz; j++)
366 » » {
367 » » » aFields.Add(pPDFForm->GetField(j));
368 » » }
369 » }
370 » else
371 » {
372 » » for (int i=0,isz=arrayFileds.GetLength(); i<isz; i++)
373 » » {
374 » » » CJS_Value valName(isolate);
375 » » » arrayFileds.GetElement(i,valName);
376 » » » CFX_WideString swName = valName.operator CFX_WideString( );
377
378 » » » for (int j=0, jsz=pPDFForm->CountFields(swName); j<jsz; j++)
379 » » » {
380 » » » » aFields.Add(pPDFForm->GetField(j, swName));
381 » » » }
382 » » }
383 » }
384
385 » CFX_PtrArray fields;
386
387 » for (int i=0,sz=aFields.GetSize(); i<sz; i++)
388 » {
389 » » CPDF_FormField* pField = (CPDF_FormField*)aFields[i];
390 » »
391 » » if (!bAllFields)
392 » » » if (pField->GetValue() == L"")
393 » » » » continue;
394
395 » » if (bNoPassWord)
396 » » » if (pField->GetFieldFlags() & 0x2000)
397 » » » » continue;
398
399 » » fields.Add((void*)pField);
400 » }
401
402 » return pInterForm->ExportFieldsToFDFFile(swFilePath, fields, TRUE);
403 } 318 }
404 319
405 //exports form fields an XFDF file to the local hard drive
406 //comment: need reder supports
407 //note:the last parameter can't be test
408 //int CPDFSDK_Document::ExportAsXFDF(FX_BOOL bAllFields,FX_BOOL bNoPassWord,Str ingArray aFields,String cPath,FX_BOOL bAnnoatations);
409
410 FX_BOOL Document::exportAsXFDF(OBJ_METHOD_PARAMS) 320 FX_BOOL Document::exportAsXFDF(OBJ_METHOD_PARAMS)
411 { 321 {
412 » if (IsSafeMode(cc)) return TRUE; 322 » // Unsafe, not supported.
413 » ASSERT(m_pDocument != NULL);
414
415 » if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
416
417 return TRUE; 323 return TRUE;
418 } 324 }
419 325
420 //Maps a field object in PDF document to a JavaScript variable 326 //Maps a field object in PDF document to a JavaScript variable
421 //comment: 327 //comment:
422 //note: the paremter cName, this is clue how to treat if the cName is not a vali able filed name in this document 328 //note: the paremter cName, this is clue how to treat if the cName is not a vali able filed name in this document
423 329
424 FX_BOOL Document::getField(OBJ_METHOD_PARAMS) 330 FX_BOOL Document::getField(OBJ_METHOD_PARAMS)
425 { 331 {
426 v8::Isolate* isolate = GetIsolate(cc); 332 v8::Isolate* isolate = GetIsolate(cc);
427 ASSERT(m_pDocument != NULL); 333 ASSERT(m_pDocument != NULL);
428 334
429 if (params.size() < 1) return FALSE; 335 if (params.size() < 1) return FALSE;
430 336
431 CFX_WideString wideName = params[0].operator CFX_WideString(); 337 CFX_WideString wideName = params[0].operator CFX_WideString();
432 338
433 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); 339 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
434 ASSERT(pInterForm != NULL); 340 ASSERT(pInterForm != NULL);
435 341
436 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); 342 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
437 ASSERT(pPDFForm != NULL); 343 ASSERT(pPDFForm != NULL);
438 344
439 » if (pPDFForm->CountFields(wideName) <= 0) 345 » if (pPDFForm->CountFields(wideName) <= 0)
440 { 346 {
441 vRet.SetNull(); 347 vRet.SetNull();
442 return TRUE; 348 return TRUE;
443 } 349 }
444 350
445 CJS_Context* pContext = (CJS_Context*)cc; 351 CJS_Context* pContext = (CJS_Context*)cc;
446 ASSERT(pContext != NULL); 352 ASSERT(pContext != NULL);
447 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 353 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
448 ASSERT(pRuntime != NULL); 354 ASSERT(pRuntime != NULL);
449 355
450 JSFXObject pFieldObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetOb jDefnID(*pRuntime, L"Field")); 356 JSFXObject pFieldObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetOb jDefnID(*pRuntime, L"Field"));
451 357
452 CJS_Field * pJSField = (CJS_Field*)JS_GetPrivate(isolate,pFieldObj); 358 CJS_Field * pJSField = (CJS_Field*)JS_GetPrivate(isolate,pFieldObj);
453 ASSERT(pJSField != NULL); 359 ASSERT(pJSField != NULL);
454 360
455 » Field * pField = (Field *)pJSField->GetEmbedObject(); 361 » Field * pField = (Field *)pJSField->GetEmbedObject();
456 ASSERT(pField != NULL); 362 ASSERT(pField != NULL);
457 363
458 pField->AttachField(this, wideName); 364 pField->AttachField(this, wideName);
459 vRet = pJSField; 365 vRet = pJSField;
460 366
461 return TRUE; 367 return TRUE;
462 } 368 }
463 369
464 //Gets the name of the nth field in the document 370 //Gets the name of the nth field in the document
465 //comment:
466 //note: the parameter nIndex, if it is not available
467
468 FX_BOOL Document::getNthFieldName(OBJ_METHOD_PARAMS) 371 FX_BOOL Document::getNthFieldName(OBJ_METHOD_PARAMS)
469 { 372 {
470 ASSERT(m_pDocument != NULL); 373 ASSERT(m_pDocument != NULL);
471 374
472 int nIndex = params.size() > 0 ? (int)params[0] : -1; 375 int nIndex = params.size() > 0 ? (int)params[0] : -1;
473 if (nIndex == -1) return FALSE; 376 if (nIndex == -1) return FALSE;
474 377
475 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm(); 378 CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
476 ASSERT(pInterForm != NULL); 379 ASSERT(pInterForm != NULL);
477 380
478 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); 381 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
479 ASSERT(pPDFForm != NULL); 382 ASSERT(pPDFForm != NULL);
480 383
481 CPDF_FormField* pField = pPDFForm->GetField(nIndex); 384 CPDF_FormField* pField = pPDFForm->GetField(nIndex);
482 if (!pField) 385 if (!pField)
483 return FALSE; 386 return FALSE;
484 387
485 vRet = pField->GetFullName(); 388 vRet = pField->GetFullName();
486 » return TRUE;» 389 » return TRUE;
487 } 390 }
488 391
489 //imports the specified fdf file.
490 //comments: need reader suppport
491 //note:once the cpath is illigl then a file dialog box pops up in order to ask user to chooose the file
492 //int CPDFSDK_Document::importAnFDF(String cPath);
493
494 FX_BOOL Document::importAnFDF(OBJ_METHOD_PARAMS) 392 FX_BOOL Document::importAnFDF(OBJ_METHOD_PARAMS)
495 { 393 {
496 » if (IsSafeMode(cc)) return TRUE; 394 » // Unsafe, not supported.
497 » ASSERT(m_pDocument != NULL);
498
499 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
500 » » m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
501 » » m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
502
503
504 » CFX_WideString swPath;
505 »
506 » if (params.size() > 0)
507 » » swPath = params[0];
508 »
509 » if (swPath.IsEmpty())
510 » {
511 » » CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
512 » » swPath = pEnv->JS_fieldBrowse();
513 » » if(swPath.IsEmpty())
514 » » » return TRUE;
515 » }
516 » else
517 » {
518 » » swPath = app::PDFPathToSysPath(swPath);
519 » }
520
521 » m_pDocument->SetFocusAnnot(NULL);
522
523 » CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm();
524 » ASSERT(pInterForm != NULL);
525
526 » if (!pInterForm->ImportFormFromFDFFile(swPath, TRUE))
527 » » return FALSE;
528
529 » m_pDocument->SetChangeMark();
530 // » CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
531 // » ASSERT(pEnv != NULL);
532 // » IUndo* pUndo = IUndo::GetUndo(pEnv);
533 // » ASSERT(pUndo != NULL);
534 // » pUndo->Reset(m_pDocument);
535
536 return TRUE; 395 return TRUE;
537 } 396 }
538 397
539 //imports and specified XFDF file containing XML form data
540 //comment: need reader supports
541 //note: same as up
542 //int CPDFSDK_Document::importAnFDF(String cPath)
543
544 FX_BOOL Document::importAnXFDF(OBJ_METHOD_PARAMS) 398 FX_BOOL Document::importAnXFDF(OBJ_METHOD_PARAMS)
545 { 399 {
546 » if (IsSafeMode(cc)) return TRUE; 400 » // Unsafe, not supported.
547 » ASSERT(m_pDocument != NULL);
548
549 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
550 » » m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
551 » » m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
552
553 return TRUE; 401 return TRUE;
554 } 402 }
555 403
556 //imports and specified text file
557 //commnet: need reader supports
558 //note: same as up,when nRow is not rational,adobe is dumb for it.
559 //int CPDFSDK_Document::importTextData(String cPath,int nRow);
560
561 FX_BOOL Document::importTextData(OBJ_METHOD_PARAMS) 404 FX_BOOL Document::importTextData(OBJ_METHOD_PARAMS)
562 { 405 {
563 » if (IsSafeMode(cc)) return TRUE; 406 » // Unsafe, not supported.
564 » ASSERT(m_pDocument != NULL);
565
566 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
567 » » m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
568 » » m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
569
570 return TRUE; 407 return TRUE;
571 } 408 }
572 409
573 //exports the form data and mails the resulting fdf file as an attachment to all recipients. 410 //exports the form data and mails the resulting fdf file as an attachment to all recipients.
574 //comment: need reader supports 411 //comment: need reader supports
575 //note: 412 //note:
576 //int CPDFSDK_Document::mailForm(FX_BOOL bUI,String cto,string ccc,string cbcc,s tring cSubject,string cms); 413 //int CPDFSDK_Document::mailForm(FX_BOOL bUI,String cto,string ccc,string cbcc,s tring cSubject,string cms);
577 414
578 FX_BOOL Document::mailForm(OBJ_METHOD_PARAMS) 415 FX_BOOL Document::mailForm(OBJ_METHOD_PARAMS)
579 { 416 {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 nStart = pprintp aramsObj->nStart; 480 nStart = pprintp aramsObj->nStart;
644 nEnd = pprintpar amsObj->nEnd; 481 nEnd = pprintpar amsObj->nEnd;
645 bSilent = pprint paramsObj->bSilent; 482 bSilent = pprint paramsObj->bSilent;
646 bShrinkToFit = p printparamsObj->bShrinkToFit; 483 bShrinkToFit = p printparamsObj->bShrinkToFit;
647 bPrintAsImage = pprintparamsObj->bPrintAsImage; 484 bPrintAsImage = pprintparamsObj->bPrintAsImage;
648 bReverse = pprin tparamsObj->bReverse; 485 bReverse = pprin tparamsObj->bReverse;
649 bAnnotations = p printparamsObj->bAnnotations; 486 bAnnotations = p printparamsObj->bAnnotations;
650 } 487 }
651 } 488 }
652 } 489 }
653 » » » }» 490 » » » }
654 } 491 }
655 } 492 }
656 else 493 else
657 { 494 {
658 if(nlength >= 1) 495 if(nlength >= 1)
659 bUI = params[0]; 496 bUI = params[0];
660 if(nlength >= 2) 497 if(nlength >= 2)
661 nStart = (int)params[1]; 498 nStart = (int)params[1];
662 if(nlength >= 3) 499 if(nlength >= 3)
663 nEnd = (int)params[2]; 500 nEnd = (int)params[2];
664 if(nlength >= 4) 501 if(nlength >= 4)
665 bSilent = params[3]; 502 bSilent = params[3];
666 if(nlength >= 5) 503 if(nlength >= 5)
667 bShrinkToFit = params[4]; 504 bShrinkToFit = params[4];
668 if(nlength >= 6) 505 if(nlength >= 6)
669 bPrintAsImage = params[5]; 506 bPrintAsImage = params[5];
670 if(nlength >= 7) 507 if(nlength >= 7)
671 bReverse = params[6]; 508 bReverse = params[6];
672 if(nlength >= 8) 509 if(nlength >= 8)
673 bAnnotations = params[7]; 510 bAnnotations = params[7];
674 } 511 }
675 512
676 ASSERT(m_pDocument != NULL); 513 ASSERT(m_pDocument != NULL);
677 514
678 if (CPDFDoc_Environment* pEnv = m_pDocument->GetEnv()) 515 if (CPDFDoc_Environment* pEnv = m_pDocument->GetEnv())
679 { 516 {
680 pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPri ntAsImage, bReverse, bAnnotations); 517 pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPri ntAsImage, bReverse, bAnnotations);
681 return TRUE; 518 return TRUE;
682 } 519 }
683 return FALSE; 520 return FALSE;
684 } 521 }
685 522
686 //removes the specified field from the document. 523 //removes the specified field from the document.
687 //comment: 524 //comment:
688 //note: if the filed name is not retional, adobe is dumb for it. 525 //note: if the filed name is not retional, adobe is dumb for it.
689 526
690 FX_BOOL Document::removeField(OBJ_METHOD_PARAMS) 527 FX_BOOL Document::removeField(OBJ_METHOD_PARAMS)
691 { 528 {
692 ASSERT(m_pDocument != NULL); 529 ASSERT(m_pDocument != NULL);
693 530
694 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || 531 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
695 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return FALSE; 532 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return FALSE;
696 533
697 if (params.size() < 1) 534 if (params.size() < 1)
698 return TRUE; 535 return TRUE;
699 536
700 CFX_WideString sFieldName = params[0].operator CFX_WideString(); 537 CFX_WideString sFieldName = params[0].operator CFX_WideString();
701 538
702 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm(); 539 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm();
703 ASSERT(pInterForm != NULL); 540 ASSERT(pInterForm != NULL);
704 541
(...skipping 13 matching lines...) Expand all
718 rcAnnot.left -= 1; 555 rcAnnot.left -= 1;
719 rcAnnot.bottom -= 1; 556 rcAnnot.bottom -= 1;
720 rcAnnot.right += 1; 557 rcAnnot.right += 1;
721 rcAnnot.top += 1; 558 rcAnnot.top += 1;
722 559
723 CFX_RectArray aRefresh; 560 CFX_RectArray aRefresh;
724 aRefresh.Add(rcAnnot); 561 aRefresh.Add(rcAnnot);
725 562
726 CPDFXFA_Page* pPage = pWidget->GetPDFXFAPage(); 563 CPDFXFA_Page* pPage = pWidget->GetPDFXFAPage();
727 ASSERT(pPage != NULL); 564 ASSERT(pPage != NULL);
728 » » » 565
729 CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(p Page); 566 CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(p Page);
730 pPageView->DeleteAnnot(pWidget); 567 pPageView->DeleteAnnot(pWidget);
731 568
732 pPageView->UpdateRects(aRefresh); 569 pPageView->UpdateRects(aRefresh);
733 } 570 }
734 m_pDocument->SetChangeMark(); 571 m_pDocument->SetChangeMark();
735 } 572 }
736 573
737 return TRUE; 574 return TRUE;
738 } 575 }
739 576
740 //reset filed values within a document. 577 //reset filed values within a document.
741 //comment: 578 //comment:
742 //note: if the fields names r not rational, aodbe is dumb for it. 579 //note: if the fields names r not rational, aodbe is dumb for it.
743 580
744 FX_BOOL Document::resetForm(OBJ_METHOD_PARAMS) 581 FX_BOOL Document::resetForm(OBJ_METHOD_PARAMS)
745 { 582 {
746 ASSERT(m_pDocument != NULL); 583 ASSERT(m_pDocument != NULL);
747 584
748 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || 585 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
749 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || 586 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
750 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE; 587 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
751 588
752 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm(); 589 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm();
753 ASSERT(pInterForm != NULL); 590 ASSERT(pInterForm != NULL);
754 591
755 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); 592 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
756 ASSERT(pPDFForm != NULL); 593 ASSERT(pPDFForm != NULL);
757 594
758 v8::Isolate* isolate = GetIsolate(cc); 595 v8::Isolate* isolate = GetIsolate(cc);
(...skipping 10 matching lines...) Expand all
769 aName.SetElement(0,params[0]); 606 aName.SetElement(0,params[0]);
770 break; 607 break;
771 } 608 }
772 609
773 CFX_PtrArray aFields; 610 CFX_PtrArray aFields;
774 611
775 for (int i=0,isz=aName.GetLength(); i<isz; i++) 612 for (int i=0,isz=aName.GetLength(); i<isz; i++)
776 { 613 {
777 CJS_Value valElement(isolate); 614 CJS_Value valElement(isolate);
778 aName.GetElement(i,valElement); 615 aName.GetElement(i,valElement);
779 » » » CFX_WideString swVal = valElement.operator CFX_WideStrin g();» 616 » » » CFX_WideString swVal = valElement.operator CFX_WideStrin g();
780 » » » 617
781 for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j+ +) 618 for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j+ +)
782 { 619 {
783 aFields.Add((void*)pPDFForm->GetField(j,swVal)); 620 aFields.Add((void*)pPDFForm->GetField(j,swVal));
784 » » » }» » 621 » » » }
785 } 622 }
786 623
787 if (aFields.GetSize() > 0) 624 if (aFields.GetSize() > 0)
788 { 625 {
789 pPDFForm->ResetForm(aFields, TRUE, TRUE); 626 pPDFForm->ResetForm(aFields, TRUE, TRUE);
790 m_pDocument->SetChangeMark(); 627 m_pDocument->SetChangeMark();
791 628
792 } 629 }
793 } 630 }
794 else 631 else
795 { 632 {
796 pPDFForm->ResetForm(TRUE); 633 pPDFForm->ResetForm(TRUE);
797 m_pDocument->SetChangeMark(); 634 m_pDocument->SetChangeMark();
798 635
799 } 636 }
800 637
801 return TRUE; 638 return TRUE;
802 } 639 }
803 640
804 641
805 FX_BOOL Document::saveAs(OBJ_METHOD_PARAMS) 642 FX_BOOL Document::saveAs(OBJ_METHOD_PARAMS)
806 { 643 {
807 644 // Unsafe, not supported.
808 » if (IsSafeMode(cc)) return TRUE; 645 return TRUE;
809
810 » ASSERT(m_pDocument != NULL);
811
812 //» m_pDocument->DoSaveAs();
813
814 » return TRUE;
815 } 646 }
816 647
817 648
818 FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS) 649 FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS)
819 { 650 {
820 ASSERT(m_pDocument != NULL); 651 ASSERT(m_pDocument != NULL);
821 652
822 // if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; 653 // if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
823 654
824 int nSize = params.size(); 655 int nSize = params.size();
(...skipping 21 matching lines...) Expand all
846 JSObject pObj = (JSObject)params[0]; 677 JSObject pObj = (JSObject)params[0];
847 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"cURL"); 678 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"cURL");
848 if (!pValue.IsEmpty()) 679 if (!pValue.IsEmpty())
849 strURL = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue) ); 680 strURL = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue) );
850 pValue = JS_GetObjectElement(isolate,pObj, L"bFDF"); 681 pValue = JS_GetObjectElement(isolate,pObj, L"bFDF");
851 bFDF = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue)) ; 682 bFDF = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue)) ;
852 pValue = JS_GetObjectElement(isolate,pObj, L"bEmpty"); 683 pValue = JS_GetObjectElement(isolate,pObj, L"bEmpty");
853 bEmpty = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue )); 684 bEmpty = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue ));
854 pValue = JS_GetObjectElement(isolate,pObj,L"aFields"); 685 pValue = JS_GetObjectElement(isolate,pObj,L"aFields");
855 aFields.Attach(CJS_Value(isolate,pValue, GET_VALUE_TYPE( pValue))); 686 aFields.Attach(CJS_Value(isolate,pValue, GET_VALUE_TYPE( pValue)));
856 » }» » 687 » }
857 688
858 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm(); 689 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm();
859 ASSERT(pInterForm != NULL); 690 ASSERT(pInterForm != NULL);
860 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); 691 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
861 ASSERT(pPDFInterForm != NULL); 692 ASSERT(pPDFInterForm != NULL);
862 693
863 FX_BOOL bAll = (aFields.GetLength() == 0); 694 FX_BOOL bAll = (aFields.GetLength() == 0);
864 695
865 if (bAll && bEmpty) 696 if (bAll && bEmpty)
866 { 697 {
867 CJS_Context* pContext = (CJS_Context*)cc; 698 CJS_Context* pContext = (CJS_Context*)cc;
868 ASSERT(pContext != NULL); 699 ASSERT(pContext != NULL);
869 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 700 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
870 ASSERT(pRuntime != NULL); 701 ASSERT(pRuntime != NULL);
871 702
872 » » 703
873 if (pPDFInterForm->CheckRequiredFields()) 704 if (pPDFInterForm->CheckRequiredFields())
874 { 705 {
875 pRuntime->BeginBlock(); 706 pRuntime->BeginBlock();
876 pInterForm->SubmitForm(strURL, FALSE); 707 pInterForm->SubmitForm(strURL, FALSE);
877 pRuntime->EndBlock(); 708 pRuntime->EndBlock();
878 } 709 }
879 710
880 return TRUE; 711 return TRUE;
881 } 712 }
882 else 713 else
883 » {» 714 » {
884 CFX_PtrArray fieldObjects; 715 CFX_PtrArray fieldObjects;
885 716
886 for (int i=0,sz=aFields.GetLength(); i<sz; i++) 717 for (int i=0,sz=aFields.GetLength(); i<sz; i++)
887 { 718 {
888 CJS_Value valName(isolate); 719 CJS_Value valName(isolate);
889 aFields.GetElement(i, valName); 720 aFields.GetElement(i, valName);
890 CFX_WideString sName = valName.operator CFX_WideString() ; 721 CFX_WideString sName = valName.operator CFX_WideString() ;
891 722
892 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm(); 723 CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
893 ASSERT(pPDFForm != NULL); 724 ASSERT(pPDFForm != NULL);
894 725
895 for (int j=0, jsz=pPDFForm->CountFields(sName); j<jsz; j ++) 726 for (int j=0, jsz=pPDFForm->CountFields(sName); j<jsz; j ++)
896 { 727 {
897 CPDF_FormField* pField = pPDFForm->GetField(j, s Name); 728 CPDF_FormField* pField = pPDFForm->GetField(j, s Name);
898 if (!bEmpty && pField->GetValue().IsEmpty()) 729 if (!bEmpty && pField->GetValue().IsEmpty())
899 continue; 730 continue;
900 731
901 fieldObjects.Add(pField); 732 fieldObjects.Add(pField);
902 } 733 }
903 } 734 }
904 735
905 CJS_Context* pContext = (CJS_Context*)cc; 736 CJS_Context* pContext = (CJS_Context*)cc;
906 ASSERT(pContext != NULL); 737 ASSERT(pContext != NULL);
907 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 738 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
908 ASSERT(pRuntime != NULL); 739 ASSERT(pRuntime != NULL);
909 740
910 » » 741
911 if (pPDFInterForm->CheckRequiredFields(&fieldObjects, TRUE)) 742 if (pPDFInterForm->CheckRequiredFields(&fieldObjects, TRUE))
912 { 743 {
913 pRuntime->BeginBlock(); 744 pRuntime->BeginBlock();
914 pInterForm->SubmitFields(strURL, fieldObjects, TRUE, !bF DF); 745 pInterForm->SubmitFields(strURL, fieldObjects, TRUE, !bF DF);
915 pRuntime->EndBlock(); 746 pRuntime->EndBlock();
916 } 747 }
917 748
918 return TRUE; 749 return TRUE;
919 } 750 }
920 751
(...skipping 15 matching lines...) Expand all
936 { 767 {
937 return FALSE; 768 return FALSE;
938 } 769 }
939 770
940 FX_BOOL Document::ExtractFolderName(CPDFSDK_Document *pDoc,CFX_ByteString &strFo lderName) 771 FX_BOOL Document::ExtractFolderName(CPDFSDK_Document *pDoc,CFX_ByteString &strFo lderName)
941 { 772 {
942 return FALSE; 773 return FALSE;
943 } 774 }
944 775
945 FX_BOOL Document::bookmarkRoot(OBJ_PROP_PARAMS) 776 FX_BOOL Document::bookmarkRoot(OBJ_PROP_PARAMS)
946 {» 777 {
947 return TRUE; 778 return TRUE;
948 } 779 }
949 780
950 FX_BOOL Document::mailDoc(OBJ_METHOD_PARAMS) 781 FX_BOOL Document::mailDoc(OBJ_METHOD_PARAMS)
951 { 782 {
952 ASSERT(m_pDocument != NULL); 783 ASSERT(m_pDocument != NULL);
953 784
954 FX_BOOL bUI = TRUE; 785 FX_BOOL bUI = TRUE;
955 CFX_WideString cTo = L""; 786 CFX_WideString cTo = L"";
956 CFX_WideString cCc = L""; 787 CFX_WideString cCc = L"";
957 CFX_WideString cBcc = L""; 788 CFX_WideString cBcc = L"";
958 CFX_WideString cSubject = L""; 789 CFX_WideString cSubject = L"";
959 CFX_WideString cMsg = L""; 790 CFX_WideString cMsg = L"";
960 » 791
961 792
962 bUI = params.size()>=1?static_cast<FX_BOOL>(params[0]):TRUE; 793 bUI = params.size()>=1?static_cast<FX_BOOL>(params[0]):TRUE;
963 cTo = params.size()>=2?(const wchar_t*)params[1].operator CFX_WideString ():L""; 794 cTo = params.size()>=2?(const wchar_t*)params[1].operator CFX_WideString ():L"";
964 cCc = params.size()>=3?(const wchar_t*)params[2].operator CFX_WideString ():L""; 795 cCc = params.size()>=3?(const wchar_t*)params[2].operator CFX_WideString ():L"";
965 cBcc = params.size()>=4?(const wchar_t*)params[3].operator CFX_WideStrin g():L""; 796 cBcc = params.size()>=4?(const wchar_t*)params[3].operator CFX_WideStrin g():L"";
966 cSubject = params.size()>=5?(const wchar_t*)params[4].operator CFX_WideS tring():L""; 797 cSubject = params.size()>=5?(const wchar_t*)params[4].operator CFX_WideS tring():L"";
967 cMsg = params.size()>=6?(const wchar_t*)params[5].operator CFX_WideStrin g():L""; 798 cMsg = params.size()>=6?(const wchar_t*)params[5].operator CFX_WideStrin g():L"";
968 » 799
969 v8::Isolate* isolate = GetIsolate(cc); 800 v8::Isolate* isolate = GetIsolate(cc);
970 801
971 if(params.size()>=1 && params[0].GetType() == VT_object) 802 if(params.size()>=1 && params[0].GetType() == VT_object)
972 { 803 {
973 JSObject pObj = (JSObject )params[0]; 804 JSObject pObj = (JSObject )params[0];
974 805
975 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"bUI"); 806 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"bUI");
976 bUI = (int)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu e)); 807 bUI = (int)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu e));
977 808
978 pValue = JS_GetObjectElement(isolate,pObj, L"cTo"); 809 pValue = JS_GetObjectElement(isolate,pObj, L"cTo");
979 cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o perator CFX_WideString(); 810 cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o perator CFX_WideString();
980 811
981 pValue = JS_GetObjectElement(isolate,pObj, L"cCc"); 812 pValue = JS_GetObjectElement(isolate,pObj, L"cCc");
982 cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o perator CFX_WideString(); 813 cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o perator CFX_WideString();
983 814
984 pValue = JS_GetObjectElement(isolate,pObj, L"cBcc"); 815 pValue = JS_GetObjectElement(isolate,pObj, L"cBcc");
985 cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)). operator CFX_WideString(); 816 cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)). operator CFX_WideString();
986 817
987 pValue = JS_GetObjectElement(isolate,pObj, L"cSubject"); 818 pValue = JS_GetObjectElement(isolate,pObj, L"cSubject");
988 cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu e)).operator CFX_WideString(); 819 cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu e)).operator CFX_WideString();
989 820
990 pValue = JS_GetObjectElement(isolate,pObj, L"cMsg"); 821 pValue = JS_GetObjectElement(isolate,pObj, L"cMsg");
991 cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)). operator CFX_WideString(); 822 cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)). operator CFX_WideString();
992 » 823
993 } 824 }
994 825
995 CJS_Context* pContext = (CJS_Context*)cc; 826 CJS_Context* pContext = (CJS_Context*)cc;
996 ASSERT(pContext != NULL); 827 ASSERT(pContext != NULL);
997 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 828 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
998 ASSERT(pRuntime != NULL); 829 ASSERT(pRuntime != NULL);
999 830
1000 pRuntime->BeginBlock(); 831 pRuntime->BeginBlock();
1001 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp(); 832 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp();
1002 pEnv->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_ str(), cBcc.c_str(), cMsg.c_str()); 833 pEnv->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_ str(), cBcc.c_str(), cMsg.c_str());
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 JS_PutObjectString(isolate,pObj, L"Author", cwAuthor); 888 JS_PutObjectString(isolate,pObj, L"Author", cwAuthor);
1058 JS_PutObjectString(isolate,pObj, L"Title", cwTitle); 889 JS_PutObjectString(isolate,pObj, L"Title", cwTitle);
1059 JS_PutObjectString(isolate,pObj, L"Subject", cwSubject); 890 JS_PutObjectString(isolate,pObj, L"Subject", cwSubject);
1060 JS_PutObjectString(isolate,pObj, L"Keywords", cwKeywords); 891 JS_PutObjectString(isolate,pObj, L"Keywords", cwKeywords);
1061 JS_PutObjectString(isolate,pObj, L"Creator", cwCreator); 892 JS_PutObjectString(isolate,pObj, L"Creator", cwCreator);
1062 JS_PutObjectString(isolate,pObj, L"Producer", cwProducer); 893 JS_PutObjectString(isolate,pObj, L"Producer", cwProducer);
1063 JS_PutObjectString(isolate,pObj, L"CreationDate", cwCreationDate ); 894 JS_PutObjectString(isolate,pObj, L"CreationDate", cwCreationDate );
1064 JS_PutObjectString(isolate,pObj, L"ModDate", cwModDate); 895 JS_PutObjectString(isolate,pObj, L"ModDate", cwModDate);
1065 JS_PutObjectString(isolate,pObj, L"Trapped", cwTrapped); 896 JS_PutObjectString(isolate,pObj, L"Trapped", cwTrapped);
1066 897
1067 // It's to be compatible to non-standard info dictionary.» 898 // It's to be compatible to non-standard info dictionary.
1068 FX_POSITION pos = pDictionary->GetStartPos(); 899 FX_POSITION pos = pDictionary->GetStartPos();
1069 while(pos) 900 while(pos)
1070 { 901 {
1071 CFX_ByteString bsKey; 902 CFX_ByteString bsKey;
1072 CPDF_Object* pValueObj = pDictionary->GetNextElement(pos , bsKey); 903 CPDF_Object* pValueObj = pDictionary->GetNextElement(pos , bsKey);
1073 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLength()); 904 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLength());
1074 if((pValueObj->GetType()==PDFOBJ_STRING) || (pValueObj-> GetType()==PDFOBJ_NAME) ) 905 if((pValueObj->GetType()==PDFOBJ_STRING) || (pValueObj-> GetType()==PDFOBJ_NAME) )
1075 JS_PutObjectString(isolate,pObj, wsKey, pValueObj->GetUnicodeText()); 906 JS_PutObjectString(isolate,pObj, wsKey, pValueObj->GetUnicodeText());
1076 if(pValueObj->GetType()==PDFOBJ_NUMBER) 907 if(pValueObj->GetType()==PDFOBJ_NUMBER)
1077 JS_PutObjectNumber(isolate,pObj, wsKey, (float)p ValueObj->GetNumber()); 908 JS_PutObjectNumber(isolate,pObj, wsKey, (float)p ValueObj->GetNumber());
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 { 979 {
1149 ASSERT(m_pDocument != NULL); 980 ASSERT(m_pDocument != NULL);
1150 981
1151 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) return FALSE; 982 if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) return FALSE;
1152 983
1153 bool b; 984 bool b;
1154 vp >> b; 985 vp >> b;
1155 986
1156 m_bDelay = b; 987 m_bDelay = b;
1157 988
1158 » » if (m_bDelay) 989 » » if (m_bDelay)
1159 { 990 {
1160 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++) 991 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++)
1161 delete m_DelayData.GetAt(i); 992 delete m_DelayData.GetAt(i);
1162 993
1163 m_DelayData.RemoveAll(); 994 m_DelayData.RemoveAll();
1164 } 995 }
1165 else 996 else
1166 { 997 {
1167 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++) 998 for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++)
1168 { 999 {
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 return TRUE; 1180 return TRUE;
1350 } 1181 }
1351 } 1182 }
1352 1183
1353 vp << 0; 1184 vp << 0;
1354 return TRUE; 1185 return TRUE;
1355 } 1186 }
1356 1187
1357 FX_BOOL Document::mouseX(OBJ_PROP_PARAMS) 1188 FX_BOOL Document::mouseX(OBJ_PROP_PARAMS)
1358 { 1189 {
1359 » return TRUE;» 1190 » return TRUE;
1360 } 1191 }
1361 1192
1362 FX_BOOL Document::mouseY(OBJ_PROP_PARAMS) 1193 FX_BOOL Document::mouseY(OBJ_PROP_PARAMS)
1363 { 1194 {
1364 return TRUE; 1195 return TRUE;
1365 } 1196 }
1366 1197
1367 FX_BOOL Document::baseURL(OBJ_PROP_PARAMS) 1198 FX_BOOL Document::baseURL(OBJ_PROP_PARAMS)
1368 { 1199 {
1369 if (vp.IsGetting()) 1200 if (vp.IsGetting())
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1480 1311
1481 return TRUE; 1312 return TRUE;
1482 } 1313 }
1483 1314
1484 FX_BOOL Document::pageWindowRect(OBJ_PROP_PARAMS) 1315 FX_BOOL Document::pageWindowRect(OBJ_PROP_PARAMS)
1485 { 1316 {
1486 return TRUE; 1317 return TRUE;
1487 } 1318 }
1488 1319
1489 FX_BOOL Document::layout(OBJ_PROP_PARAMS) 1320 FX_BOOL Document::layout(OBJ_PROP_PARAMS)
1490 {» 1321 {
1491 return TRUE; 1322 return TRUE;
1492 } 1323 }
1493 1324
1494 FX_BOOL Document::addLink(OBJ_METHOD_PARAMS) 1325 FX_BOOL Document::addLink(OBJ_METHOD_PARAMS)
1495 { 1326 {
1496 return TRUE; 1327 return TRUE;
1497 } 1328 }
1498 1329
1499 FX_BOOL Document::closeDoc(OBJ_METHOD_PARAMS) 1330 FX_BOOL Document::closeDoc(OBJ_METHOD_PARAMS)
1500 { 1331 {
1501 ASSERT(m_pDocument != NULL); 1332 ASSERT(m_pDocument != NULL);
1502 1333
1503 1334
1504 » 1335
1505 » 1336
1506 1337
1507 return TRUE; 1338 return TRUE;
1508 } 1339 }
1509 1340
1510 FX_BOOL Document::getPageBox(OBJ_METHOD_PARAMS) 1341 FX_BOOL Document::getPageBox(OBJ_METHOD_PARAMS)
1511 { 1342 {
1512 return TRUE; 1343 return TRUE;
1513 } 1344 }
1514 1345
1515 1346
(...skipping 14 matching lines...) Expand all
1530 return TRUE; 1361 return TRUE;
1531 } 1362 }
1532 1363
1533 FX_BOOL Document::getAnnots3D(OBJ_METHOD_PARAMS) 1364 FX_BOOL Document::getAnnots3D(OBJ_METHOD_PARAMS)
1534 { 1365 {
1535 vRet = VT_undefined; 1366 vRet = VT_undefined;
1536 return TRUE; 1367 return TRUE;
1537 } 1368 }
1538 1369
1539 FX_BOOL Document::getOCGs(OBJ_METHOD_PARAMS) 1370 FX_BOOL Document::getOCGs(OBJ_METHOD_PARAMS)
1540 {» 1371 {
1541 return TRUE; 1372 return TRUE;
1542 } 1373 }
1543 1374
1544 FX_BOOL Document::getLinks(OBJ_METHOD_PARAMS) 1375 FX_BOOL Document::getLinks(OBJ_METHOD_PARAMS)
1545 { 1376 {
1546 return TRUE; 1377 return TRUE;
1547 } 1378 }
1548 1379
1549 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) 1380 bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect)
1550 { 1381 {
(...skipping 19 matching lines...) Expand all
1570 { 1401 {
1571 m_pEnd->NextIcon = pNewIcon; 1402 m_pEnd->NextIcon = pNewIcon;
1572 m_pEnd = pNewIcon; 1403 m_pEnd = pNewIcon;
1573 m_iLength++; 1404 m_iLength++;
1574 } 1405 }
1575 } 1406 }
1576 1407
1577 void IconTree::DeleteIconTree() 1408 void IconTree::DeleteIconTree()
1578 { 1409 {
1579 if (!m_pHead || !m_pEnd)return; 1410 if (!m_pHead || !m_pEnd)return;
1580 » 1411
1581 IconElement* pTemp = NULL; 1412 IconElement* pTemp = NULL;
1582 while(m_pEnd != m_pHead) 1413 while(m_pEnd != m_pHead)
1583 { 1414 {
1584 pTemp = m_pHead; 1415 pTemp = m_pHead;
1585 m_pHead = m_pHead->NextIcon; 1416 m_pHead = m_pHead->NextIcon;
1586 delete pTemp; 1417 delete pTemp;
1587 } 1418 }
1588 1419
1589 delete m_pEnd; 1420 delete m_pEnd;
1590 m_pHead = NULL; 1421 m_pHead = NULL;
(...skipping 16 matching lines...) Expand all
1607 } 1438 }
1608 return pTemp; 1439 return pTemp;
1609 } 1440 }
1610 else 1441 else
1611 return NULL; 1442 return NULL;
1612 } 1443 }
1613 1444
1614 void IconTree::DeleteIconElement(CFX_WideString swIconName) 1445 void IconTree::DeleteIconElement(CFX_WideString swIconName)
1615 { 1446 {
1616 IconElement* pTemp = m_pHead; 1447 IconElement* pTemp = m_pHead;
1617 » int iLoopCount = m_iLength; 1448 » int iLoopCount = m_iLength;
1618 for (int i = 0; i < iLoopCount - 1; i++) 1449 for (int i = 0; i < iLoopCount - 1; i++)
1619 { 1450 {
1620 if (pTemp == m_pEnd) 1451 if (pTemp == m_pEnd)
1621 break; 1452 break;
1622 » 1453
1623 if (m_pHead->IconName == swIconName) 1454 if (m_pHead->IconName == swIconName)
1624 { 1455 {
1625 m_pHead = m_pHead->NextIcon; 1456 m_pHead = m_pHead->NextIcon;
1626 delete pTemp; 1457 delete pTemp;
1627 m_iLength--; 1458 m_iLength--;
1628 pTemp = m_pHead; 1459 pTemp = m_pHead;
1629 } 1460 }
1630 if (pTemp->NextIcon->IconName == swIconName) 1461 if (pTemp->NextIcon->IconName == swIconName)
1631 { 1462 {
1632 if (pTemp->NextIcon == m_pEnd) 1463 if (pTemp->NextIcon == m_pEnd)
(...skipping 22 matching lines...) Expand all
1655 FX_BOOL Document::addIcon(OBJ_METHOD_PARAMS) 1486 FX_BOOL Document::addIcon(OBJ_METHOD_PARAMS)
1656 { 1487 {
1657 if (params.size() != 2)return FALSE; 1488 if (params.size() != 2)return FALSE;
1658 1489
1659 CJS_Context* pContext = (CJS_Context*)cc; 1490 CJS_Context* pContext = (CJS_Context*)cc;
1660 ASSERT(pContext != NULL); 1491 ASSERT(pContext != NULL);
1661 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 1492 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
1662 ASSERT(pRuntime != NULL); 1493 ASSERT(pRuntime != NULL);
1663 1494
1664 CFX_WideString swIconName = params[0].operator CFX_WideString(); 1495 CFX_WideString swIconName = params[0].operator CFX_WideString();
1665 » 1496
1666 JSFXObject pJSIcon = (JSFXObject)params[1]; 1497 JSFXObject pJSIcon = (JSFXObject)params[1];
1667 if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) ret urn FALSE; 1498 if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) ret urn FALSE;
1668 1499
1669 CJS_EmbedObj* pEmbedObj = ((CJS_Object*)params[1])->GetEmbedObject(); 1500 CJS_EmbedObj* pEmbedObj = ((CJS_Object*)params[1])->GetEmbedObject();
1670 if (!pEmbedObj)return FALSE; 1501 if (!pEmbedObj)return FALSE;
1671 Icon* pIcon = (Icon*)pEmbedObj; 1502 Icon* pIcon = (Icon*)pEmbedObj;
1672 1503
1673 if (!m_pIconTree) 1504 if (!m_pIconTree)
1674 m_pIconTree = new IconTree(); 1505 m_pIconTree = new IconTree();
1675 1506
(...skipping 19 matching lines...) Expand all
1695 CJS_Array Icons(m_isolate); 1526 CJS_Array Icons(m_isolate);
1696 IconElement* pIconElement = NULL; 1527 IconElement* pIconElement = NULL;
1697 int iIconTreeLength = m_pIconTree->GetLength(); 1528 int iIconTreeLength = m_pIconTree->GetLength();
1698 1529
1699 CJS_Context* pContext = (CJS_Context *)cc; 1530 CJS_Context* pContext = (CJS_Context *)cc;
1700 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 1531 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
1701 1532
1702 for (int i = 0; i < iIconTreeLength; i++) 1533 for (int i = 0; i < iIconTreeLength; i++)
1703 { 1534 {
1704 pIconElement = (*m_pIconTree)[i]; 1535 pIconElement = (*m_pIconTree)[i];
1705 » » 1536
1706 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_Ge tObjDefnID(*pRuntime, L"Icon")); 1537 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_Ge tObjDefnID(*pRuntime, L"Icon"));
1707 if (pObj.IsEmpty()) return FALSE; 1538 if (pObj.IsEmpty()) return FALSE;
1708 » » » » 1539
1709 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); 1540 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj);
1710 if (!pJS_Icon) return FALSE; 1541 if (!pJS_Icon) return FALSE;
1711 1542
1712 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); 1543 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject();
1713 if (!pIcon)return FALSE; 1544 if (!pIcon)return FALSE;
1714 1545
1715 pIcon->SetStream(pIconElement->IconStream->GetStream()); 1546 pIcon->SetStream(pIconElement->IconStream->GetStream());
1716 pIcon->SetIconName(pIconElement->IconName); 1547 pIcon->SetIconName(pIconElement->IconName);
1717 Icons.SetElement(i, CJS_Value(m_isolate,pJS_Icon)); 1548 Icons.SetElement(i, CJS_Value(m_isolate,pJS_Icon));
1718 } 1549 }
(...skipping 11 matching lines...) Expand all
1730 int iIconCounts = m_pIconTree->GetLength(); 1561 int iIconCounts = m_pIconTree->GetLength();
1731 1562
1732 CJS_Context* pContext = (CJS_Context *)cc; 1563 CJS_Context* pContext = (CJS_Context *)cc;
1733 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 1564 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
1734 1565
1735 for (int i = 0; i < iIconCounts; i++) 1566 for (int i = 0; i < iIconCounts; i++)
1736 { 1567 {
1737 if ((*m_pIconTree)[i]->IconName == swIconName) 1568 if ((*m_pIconTree)[i]->IconName == swIconName)
1738 { 1569 {
1739 Icon* pRetIcon = (*m_pIconTree)[i]->IconStream; 1570 Icon* pRetIcon = (*m_pIconTree)[i]->IconStream;
1740 » » » » 1571
1741 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContex t, JS_GetObjDefnID(*pRuntime, L"Icon")); 1572 JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContex t, JS_GetObjDefnID(*pRuntime, L"Icon"));
1742 if (pObj.IsEmpty()) return FALSE; 1573 if (pObj.IsEmpty()) return FALSE;
1743 » » » » » 1574
1744 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj); 1575 CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj);
1745 if (!pJS_Icon) return FALSE; 1576 if (!pJS_Icon) return FALSE;
1746 1577
1747 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); 1578 Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject();
1748 if (!pIcon)return FALSE; 1579 if (!pIcon)return FALSE;
1749 1580
1750 pIcon->SetIconName(swIconName); 1581 pIcon->SetIconName(swIconName);
1751 pIcon->SetStream(pRetIcon->GetStream()); 1582 pIcon->SetStream(pRetIcon->GetStream());
1752 vRet = pJS_Icon; 1583 vRet = pJS_Icon;
1753 return TRUE; 1584 return TRUE;
1754 } 1585 }
1755 } 1586 }
1756 1587
1757 return FALSE; 1588 return FALSE;
1758 } 1589 }
1759 1590
1760 FX_BOOL Document::removeIcon(OBJ_METHOD_PARAMS) 1591 FX_BOOL Document::removeIcon(OBJ_METHOD_PARAMS)
1761 { 1592 {
1762 if (params.size() != 1)return FALSE; 1593 if (params.size() != 1)return FALSE;
1763 if(!m_pIconTree) 1594 if(!m_pIconTree)
1764 return FALSE; 1595 return FALSE;
1765 CFX_WideString swIconName = params[0].operator CFX_WideString(); 1596 CFX_WideString swIconName = params[0].operator CFX_WideString();
1766 return TRUE; 1597 return TRUE;
1767 } 1598 }
1768 1599
1769 FX_BOOL Document::createDataObject(OBJ_METHOD_PARAMS) 1600 FX_BOOL Document::createDataObject(OBJ_METHOD_PARAMS)
1770 { 1601 {
1771 » if (IsSafeMode(cc)) return TRUE; 1602 // Unsafe, not implemented.
1772 » ASSERT(m_pDocument != NULL); 1603 return TRUE;
1773
1774 » CFX_WideString swName = L"";
1775 » CFX_ByteString sbName = "";
1776 » CFX_WideString swValue = L"";
1777 » CFX_WideString swMIMEType = L"";
1778 » CFX_WideString swCryptFilter = L"";
1779 » CFX_ByteString sbFileValue = "";
1780 »
1781 » int iParamSize = params.size();
1782 » for (int i = 0; i < iParamSize; i++)
1783 » {
1784 » » if (i == 0)
1785 » » » swName = params[0];
1786 » » if (i == 1)
1787 » » » swValue = params[1];
1788 » » if (i == 2)
1789 » » » swMIMEType = params[2];
1790 » » if (i == 3)
1791 » » » swCryptFilter = params[4];
1792 » }
1793
1794 » FILE* pFile = NULL;
1795
1796 » //CFileStatus fileStatus;
1797 » const int BUFSIZE = 17;
1798 » FX_BYTE buf[BUFSIZE];
1799 » FX_BYTE *pBuffer = NULL;
1800 » char* pBuf = NULL;
1801 » int nFileSize = 0;
1802 » sbFileValue = CFX_ByteString::FromUnicode(swValue);
1803 » sbName = CFX_ByteString::FromUnicode(swName);
1804 » int iBufLength = sbFileValue.GetLength();
1805 » pBuf = (char*)malloc(sizeof(char) * iBufLength);
1806 » pBuf = sbFileValue.GetBuffer(iBufLength);
1807
1808 » if ( NULL == (pFile = FXSYS_fopen( sbName.GetBuffer(sbName.GetLength()), "wb+" )) )
1809 » {
1810 » » return FALSE;
1811 » }
1812
1813 » fwrite( pBuf, sizeof(char), iBufLength, pFile );
1814 » fclose( pFile );
1815 » pFile = NULL;
1816
1817 » pFile = FXSYS_fopen( sbName.GetBuffer(sbName.GetLength()), "rb+" );
1818 » fseek( pFile, 0, SEEK_END );
1819 » nFileSize = ftell( pFile );
1820
1821 » pBuffer = new FX_BYTE[nFileSize];
1822 » fseek( pFile, 0, SEEK_SET );
1823 » size_t s = fread( pBuffer, sizeof(char), nFileSize, pFile );
1824 » if(s == 0)
1825 » {
1826 » » delete[] pBuffer;
1827 » » return FALSE;
1828 » }
1829
1830 » CRYPT_MD5Generate(pBuffer, nFileSize, buf);
1831 » buf[BUFSIZE - 1] = 0;
1832 » CFX_WideString csCheckSum((FX_LPCWSTR)buf, 16);
1833 » delete[] pBuffer;
1834
1835 » return TRUE;
1836 } 1604 }
1837 1605
1838 FX_BOOL Document::media(OBJ_PROP_PARAMS) 1606 FX_BOOL Document::media(OBJ_PROP_PARAMS)
1839 { 1607 {
1840 return TRUE; 1608 return TRUE;
1841 } 1609 }
1842 1610
1843 FX_BOOL Document::calculateNow(OBJ_METHOD_PARAMS) 1611 FX_BOOL Document::calculateNow(OBJ_METHOD_PARAMS)
1844 { 1612 {
1845 ASSERT(m_pDocument != NULL); 1613 ASSERT(m_pDocument != NULL);
1846 1614
1847 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || 1615 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
1848 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) || 1616 m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
1849 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE; 1617 m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
1850 1618
1851 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm(); 1619 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInte rForm();
1852 ASSERT(pInterForm != NULL); 1620 ASSERT(pInterForm != NULL);
1853 pInterForm->OnCalculate(); 1621 pInterForm->OnCalculate();
1854 return TRUE; 1622 return TRUE;
1855 } 1623 }
1856 1624
1857 FX_BOOL Document::Collab(OBJ_PROP_PARAMS) 1625 FX_BOOL Document::Collab(OBJ_PROP_PARAMS)
1858 { 1626 {
1859 return TRUE; 1627 return TRUE;
1860 } 1628 }
1861 1629
1862 FX_BOOL Document::getPageNthWord(OBJ_METHOD_PARAMS) 1630 FX_BOOL Document::getPageNthWord(OBJ_METHOD_PARAMS)
1863 { 1631 {
1864 //if (IsSafeMode(cc)) return TRUE;
1865
1866 ASSERT(m_pDocument != NULL); 1632 ASSERT(m_pDocument != NULL);
1867 1633
1868 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; 1634 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
1869 1635
1870 int nPageNo = params.GetSize() > 0 ? (int)params[0] : 0; 1636 int nPageNo = params.GetSize() > 0 ? (int)params[0] : 0;
1871 int nWordNo = params.GetSize() > 1 ? (int)params[1] : 0; 1637 int nWordNo = params.GetSize() > 1 ? (int)params[1] : 0;
1872 bool bStrip = params.GetSize() > 2 ? (bool)params[2] : true; 1638 bool bStrip = params.GetSize() > 2 ? (bool)params[2] : true;
1873 1639
1874 CPDF_Document* pDocument = m_pDocument->GetDocument()->GetPDFDoc(); 1640 CPDF_Document* pDocument = m_pDocument->GetDocument()->GetPDFDoc();
1875 if (!pDocument) return FALSE; 1641 if (!pDocument) return FALSE;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1918 swRet.TrimLeft(); 1684 swRet.TrimLeft();
1919 swRet.TrimRight(); 1685 swRet.TrimRight();
1920 } 1686 }
1921 1687
1922 vRet = swRet; 1688 vRet = swRet;
1923 return TRUE; 1689 return TRUE;
1924 } 1690 }
1925 1691
1926 FX_BOOL Document::getPageNthWordQuads(OBJ_METHOD_PARAMS) 1692 FX_BOOL Document::getPageNthWordQuads(OBJ_METHOD_PARAMS)
1927 { 1693 {
1928 //if (IsSafeMode(cc)) return TRUE;
1929
1930 ASSERT(m_pDocument != NULL); 1694 ASSERT(m_pDocument != NULL);
1931 1695
1932 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE; 1696 if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
1933 1697
1934 return FALSE; 1698 return FALSE;
1935 } 1699 }
1936 1700
1937 FX_BOOL Document::getPageNumWords(OBJ_METHOD_PARAMS) 1701 FX_BOOL Document::getPageNumWords(OBJ_METHOD_PARAMS)
1938 { 1702 {
1939 ASSERT(m_pDocument != NULL); 1703 ASSERT(m_pDocument != NULL);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
2013 1777
2014 pTextObj->GetCharInfo(i, charcode, kerning); 1778 pTextObj->GetCharInfo(i, charcode, kerning);
2015 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); 1779 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode);
2016 1780
2017 FX_WORD unicode = 0; 1781 FX_WORD unicode = 0;
2018 if (swUnicode.GetLength() > 0) 1782 if (swUnicode.GetLength() > 0)
2019 unicode = swUnicode[0]; 1783 unicode = swUnicode[0];
2020 1784
2021 if (ISLATINWORD(unicode) && bIsLatin) 1785 if (ISLATINWORD(unicode) && bIsLatin)
2022 continue; 1786 continue;
2023 » » 1787
2024 bIsLatin = ISLATINWORD(unicode); 1788 bIsLatin = ISLATINWORD(unicode);
2025 if (unicode != 0x20) 1789 if (unicode != 0x20)
2026 nWords++; 1790 nWords++;
2027 } 1791 }
2028 1792
2029 return nWords; 1793 return nWords;
2030 } 1794 }
2031 1795
2032 CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex ) 1796 CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex )
2033 { 1797 {
(...skipping 16 matching lines...) Expand all
2050 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode); 1814 CFX_WideString swUnicode = pFont->UnicodeFromCharCode(charcode);
2051 1815
2052 FX_WORD unicode = 0; 1816 FX_WORD unicode = 0;
2053 if (swUnicode.GetLength() > 0) 1817 if (swUnicode.GetLength() > 0)
2054 unicode = swUnicode[0]; 1818 unicode = swUnicode[0];
2055 1819
2056 if (ISLATINWORD(unicode) && bIsLatin) 1820 if (ISLATINWORD(unicode) && bIsLatin)
2057 { 1821 {
2058 } 1822 }
2059 else 1823 else
2060 » » {» » 1824 » » {
2061 bIsLatin = ISLATINWORD(unicode); 1825 bIsLatin = ISLATINWORD(unicode);
2062 if (unicode != 0x20) 1826 if (unicode != 0x20)
2063 » » » » nWords++;» 1827 » » » » nWords++;
2064 } 1828 }
2065 1829
2066 if (nWords-1 == nWordIndex) 1830 if (nWords-1 == nWordIndex)
2067 swRet += unicode; 1831 swRet += unicode;
2068 } 1832 }
2069 1833
2070 return swRet; 1834 return swRet;
2071 } 1835 }
2072 1836
2073 FX_BOOL Document::zoom(OBJ_PROP_PARAMS) 1837 FX_BOOL Document::zoom(OBJ_PROP_PARAMS)
(...skipping 12 matching lines...) Expand all
2086 (refW, ReflowWidth) 1850 (refW, ReflowWidth)
2087 */ 1851 */
2088 1852
2089 FX_BOOL Document::zoomType(OBJ_PROP_PARAMS) 1853 FX_BOOL Document::zoomType(OBJ_PROP_PARAMS)
2090 { 1854 {
2091 return TRUE; 1855 return TRUE;
2092 } 1856 }
2093 1857
2094 FX_BOOL Document::deletePages(OBJ_METHOD_PARAMS) 1858 FX_BOOL Document::deletePages(OBJ_METHOD_PARAMS)
2095 { 1859 {
2096
2097
2098
2099
2100
2101
2102 v8::Isolate* isolate = GetIsolate(cc); 1860 v8::Isolate* isolate = GetIsolate(cc);
2103 // if (pEnv->GetAppName().Compare(PHANTOM) != 0)
2104 // return TRUE;
2105
2106 //if (IsSafeMode(cc)) return TRUE;
2107
2108 ASSERT(m_pDocument != NULL); 1861 ASSERT(m_pDocument != NULL);
2109 1862
2110 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) || 1863 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
2111 m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE; 1864 m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
2112 1865
2113 int iSize = params.size(); 1866 int iSize = params.size();
2114 » 1867
2115 int nStart = 0; 1868 int nStart = 0;
2116 int nEnd = 0; 1869 int nEnd = 0;
2117 » 1870
2118 if (iSize < 1) 1871 if (iSize < 1)
2119 { 1872 {
2120 } 1873 }
2121 else if (iSize == 1) 1874 else if (iSize == 1)
2122 { 1875 {
2123 if (params[0].GetType() == VT_object) 1876 if (params[0].GetType() == VT_object)
2124 { 1877 {
2125 JSObject pObj = (JSObject )params[0]; 1878 JSObject pObj = (JSObject )params[0];
2126 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isola te,pObj, L"nStart"); 1879 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isola te,pObj, L"nStart");
2127 nStart = (int)CJS_Value(m_isolate,pValue,GET_VAL UE_TYPE(pValue)); 1880 nStart = (int)CJS_Value(m_isolate,pValue,GET_VAL UE_TYPE(pValue));
(...skipping 15 matching lines...) Expand all
2143 int nTotal = m_pDocument->GetPageCount(); 1896 int nTotal = m_pDocument->GetPageCount();
2144 1897
2145 if (nStart < 0) nStart = 0; 1898 if (nStart < 0) nStart = 0;
2146 if (nStart >= nTotal) nStart = nTotal - 1; 1899 if (nStart >= nTotal) nStart = nTotal - 1;
2147 1900
2148 if (nEnd < 0) nEnd = 0; 1901 if (nEnd < 0) nEnd = 0;
2149 if (nEnd >= nTotal) nEnd = nTotal - 1; 1902 if (nEnd >= nTotal) nEnd = nTotal - 1;
2150 1903
2151 if (nEnd < nStart) nEnd = nStart; 1904 if (nEnd < nStart) nEnd = nStart;
2152 1905
2153 » 1906
2154 1907
2155 return TRUE; 1908 return TRUE;
2156 } 1909 }
2157 1910
2158 FX_BOOL Document::extractPages(OBJ_METHOD_PARAMS) 1911 FX_BOOL Document::extractPages(OBJ_METHOD_PARAMS)
2159 { 1912 {
2160 » 1913 // Unsafe, not supported.
2161 1914 return TRUE;
2162 »
2163 »
2164 »
2165
2166 » v8::Isolate* isolate = GetIsolate(cc);
2167
2168 » if (IsSafeMode(cc)) return TRUE;
2169
2170 » ASSERT(m_pDocument != NULL);
2171
2172 » if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT)) return FALSE;
2173
2174 » int iSize = params.size();
2175 »
2176 » int nTotal = m_pDocument->GetPageCount();
2177 » int nStart = 0;
2178 » int nEnd = nTotal - 1;
2179
2180 » CFX_WideString swFilePath;
2181 »
2182 » if (iSize < 1)
2183 » {
2184 » }
2185 » else if (iSize == 1)
2186 » {
2187 » » if (params[0].GetType() == VT_object)
2188 » » {
2189 » » » JSObject pObj = (JSObject )params[0];
2190 » » » v8::Handle<v8::Value> pValue = JS_GetObjectElement(isola te,pObj, L"nStart");
2191 » » » » nStart = (int)CJS_Value(m_isolate,pValue,GET_VAL UE_TYPE(pValue));
2192
2193 » » » pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
2194 » » » » nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE _TYPE(pValue));
2195
2196 » » » pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
2197 » » » » swFilePath = CJS_Value(m_isolate,pValue,GET_VALU E_TYPE(pValue)).operator CFX_WideString();
2198 » » }
2199 » » else
2200 » » {
2201 » » » nStart = (int)params[0];
2202 » » }
2203 » }
2204 » else if (iSize == 2)
2205 » {
2206 » » nStart = (int)params[0];
2207 » » nEnd = (int)params[1];
2208 » }
2209 » else
2210 » {
2211 » » nStart = (int)params[0];
2212 » » nEnd = (int)params[1];
2213 » » swFilePath = params[2].operator CFX_WideString();
2214 » }
2215
2216 » if (nEnd < nStart)
2217 » » nEnd = nStart;
2218
2219 » CPDF_Document *pNewDoc = new CPDF_Document;
2220 » pNewDoc->CreateNewDoc();»
2221
2222 » CFX_WordArray array;
2223 » for (int i=nStart; i<=nEnd; i++)
2224 » » array.Add(i);
2225
2226 //» m_pDocument->ExtractPages(array, pNewDoc);
2227
2228 » if (swFilePath.IsEmpty())
2229 » {
2230
2231 » }
2232 » else
2233 » {
2234 » » swFilePath = app::PDFPathToSysPath(swFilePath);
2235 » » CPDF_Creator PDFCreater(pNewDoc);
2236 » » PDFCreater.Create(swFilePath);
2237 » » delete pNewDoc;
2238 //» » pEnv->OpenDocument(swFilePath);
2239 » » vRet.SetNull();
2240 » }
2241
2242 » return TRUE;
2243 } 1915 }
2244 1916
2245 FX_BOOL Document::insertPages(OBJ_METHOD_PARAMS) 1917 FX_BOOL Document::insertPages(OBJ_METHOD_PARAMS)
2246 { 1918 {
2247 1919 // Unsafe, not supported.
2248 1920 return TRUE;
2249 »
2250
2251
2252
2253 » v8::Isolate* isolate = GetIsolate(cc);
2254
2255 » if (IsSafeMode(cc)) return TRUE;
2256
2257 » ASSERT(m_pDocument != NULL);
2258
2259 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
2260 » » m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
2261
2262 » int iSize = params.size();
2263 »
2264 » int nStart = 0;
2265 » int nEnd = 0;
2266 » int nPage = 0;
2267
2268 » CFX_WideString swFilePath;
2269 »
2270 » if (iSize < 1)
2271 » {
2272 » }
2273 » else if (iSize == 1)
2274 » {
2275 » » if (params[0].GetType() == VT_object)
2276 » » {
2277 » » » JSObject pObj = (JSObject )params[0];
2278
2279 » » » v8::Handle<v8::Value> pValue = JS_GetObjectElement(isola te,pObj, L"nPage");
2280 » » » » nPage = (int)CJS_Value(m_isolate,pValue,GET_VALU E_TYPE(pValue));
2281
2282 » » » pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
2283 » » » » swFilePath = CJS_Value(m_isolate,pValue,GET_VALU E_TYPE(pValue)).operator CFX_WideString();
2284
2285 » » » pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
2286 » » » » nStart = (int)CJS_Value(m_isolate,pValue,GET_VAL UE_TYPE(pValue));
2287
2288 » » » pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
2289 » » » » nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE _TYPE(pValue));
2290 » » }
2291 » » else
2292 » » {
2293 » » » nPage = (int)params[0];
2294 » » }
2295 » }
2296 » else
2297 » {
2298 » » nPage = (int)params[0];
2299
2300 » » if (iSize >= 2)
2301 » » » swFilePath = params[1].operator CFX_WideString();
2302
2303 » » if (iSize >= 3)
2304 » » » nStart = (int)params[2];
2305
2306 » » if (iSize >= 4)
2307 » » » nEnd = (int)params[3];
2308 » }
2309
2310 » nPage++;
2311
2312 » if (nPage < 0)
2313 » » nPage = 0;
2314
2315 » if (nPage > m_pDocument->GetPageCount())
2316 » » nPage = m_pDocument->GetPageCount();
2317
2318 » if (swFilePath.IsEmpty()) return FALSE;
2319
2320 » swFilePath = app::PDFPathToSysPath(swFilePath);
2321
2322 » CPDF_Parser pdfParser;
2323 » pdfParser.StartParse(swFilePath, FALSE);
2324 » CPDF_Document* pSrcDoc = pdfParser.GetDocument();
2325
2326 » if (!pSrcDoc)
2327 » {
2328 » » pdfParser.CloseParser();
2329 » » return FALSE;
2330 » }
2331
2332 » int nTotal = pSrcDoc->GetPageCount();
2333
2334 » if (nStart < 0)»nStart = 0;
2335 » if (nStart >= nTotal) nStart = nTotal - 1;
2336
2337 » if (nEnd < 0) nEnd = 0;
2338 » if (nEnd >= nTotal) nEnd = nTotal - 1;
2339
2340 » if (nEnd < nStart) nEnd = nStart;
2341
2342 » CFX_WordArray array;
2343 » for (int i=nStart; i<=nEnd; i++)
2344 » » array.Add(i);
2345
2346 //» m_pDocument->InsertPages(nPage, pSrcDoc, array);
2347
2348 » pdfParser.CloseParser();
2349
2350 » return TRUE;
2351 } 1921 }
2352 1922
2353 FX_BOOL Document::replacePages(OBJ_METHOD_PARAMS) 1923 FX_BOOL Document::replacePages(OBJ_METHOD_PARAMS)
2354 { 1924 {
2355 1925 // Unsafe, not supported.
2356 1926 return TRUE;
2357 »
2358
2359
2360
2361 » v8::Isolate* isolate = GetIsolate(cc);
2362
2363 » if (IsSafeMode(cc)) return TRUE;
2364
2365 » ASSERT(m_pDocument != NULL);
2366
2367 » if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
2368 » » m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
2369
2370 » int iSize = params.size();
2371 »
2372 » int nStart = -1;
2373 » int nEnd = -1;
2374 » int nPage = 0;
2375
2376 » CFX_WideString swFilePath;
2377 »
2378 » if (iSize < 1)
2379 » {
2380 » }
2381 » else if (iSize == 1)
2382 » {
2383 » » if (params[0].GetType() == VT_object)
2384 » » {
2385 » » » JSObject pObj = (JSObject )params[0];
2386
2387 » » » v8::Handle<v8::Value> pValue = JS_GetObjectElement(isola te,pObj, L"nPage");
2388 » » » » nPage = (int)CJS_Value(m_isolate,pValue,GET_VALU E_TYPE(pValue));
2389
2390 » » » pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
2391 » » » » swFilePath = CJS_Value(m_isolate,pValue,GET_VALU E_TYPE(pValue)).operator CFX_WideString();
2392
2393 » » » pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
2394 » » » » nStart = (int)CJS_Value(m_isolate,pValue,GET_VAL UE_TYPE(pValue));
2395
2396 » » » pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
2397 » » » » nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE _TYPE(pValue));
2398 » » }
2399 » » else
2400 » » {
2401 » » » nPage = (int)params[0];
2402 » » }
2403 » }
2404 » else
2405 » {
2406 » » nPage = (int)params[0];
2407
2408 » » if (iSize >= 2)
2409 » » » swFilePath = params[1].operator CFX_WideString();
2410
2411 » » if (iSize >= 3)
2412 » » » nStart = (int)params[2];
2413
2414 » » if (iSize >= 4)
2415 » » » nEnd = (int)params[3];
2416 » }
2417
2418 » if (nPage < 0)
2419 » » nPage = 0;
2420
2421 » if (nPage >= m_pDocument->GetPageCount())
2422 » » nPage = m_pDocument->GetPageCount() - 1;
2423
2424 » if (swFilePath.IsEmpty()) return FALSE;
2425
2426 » swFilePath = app::PDFPathToSysPath(swFilePath);
2427
2428 » CPDF_Parser pdfParser;
2429 » pdfParser.StartParse(swFilePath, FALSE);
2430 » CPDF_Document* pSrcDoc = pdfParser.GetDocument();
2431
2432 » if (!pSrcDoc)
2433 » {
2434 » » pdfParser.CloseParser();
2435 » » return FALSE;
2436 » }
2437
2438 » int nTotal = pSrcDoc->GetPageCount();
2439
2440 » if (nStart < 0)
2441 » {
2442 » » if (nEnd < 0)
2443 » » {
2444 » » » nStart = 0;
2445 » » » nEnd = nTotal - 1;
2446 » » }
2447 » » else
2448 » » {
2449 » » » nStart = 0;
2450 » » }
2451 » }
2452 » else
2453 » {
2454 » » if (nEnd < 0)
2455 » » {
2456 » » » nEnd = nStart;
2457 » » }
2458 » » else
2459 » » {
2460 » » » if (nStart >= nTotal) nStart = nTotal - 1;
2461 » » » if (nEnd >= nTotal) nEnd = nTotal - 1;
2462
2463 » » » if (nEnd < nStart) nEnd = nStart;
2464 » » }
2465 » }
2466
2467 » CFX_WordArray array;
2468 » for (int i=nStart; i<=nEnd; i++)
2469 » » array.Add(i);
2470
2471 //» m_pDocument->ReplacePages(nPage, pSrcDoc, array);
2472
2473 » pdfParser.CloseParser();
2474
2475 » return TRUE;
2476 } 1927 }
2477 1928
2478 FX_BOOL Document::getURL(OBJ_METHOD_PARAMS) 1929 FX_BOOL Document::getURL(OBJ_METHOD_PARAMS)
2479 { 1930 {
2480 » if (IsSafeMode(cc)) return TRUE; 1931 // Unsafe, not supported.
2481 1932 return TRUE;
2482 » return TRUE;
2483 } 1933 }
2484 1934
2485 void Document::AddDelayData(CJS_DelayData* pData) 1935 void Document::AddDelayData(CJS_DelayData* pData)
2486 { 1936 {
2487 m_DelayData.Add(pData); 1937 m_DelayData.Add(pData);
2488 } 1938 }
2489 1939
2490 void Document::DoFieldDelay(const CFX_WideString& sFieldName, int nControlIndex) 1940 void Document::DoFieldDelay(const CFX_WideString& sFieldName, int nControlIndex)
2491 { 1941 {
2492 CFX_DWordArray DelArray; 1942 CFX_DWordArray DelArray;
(...skipping 19 matching lines...) Expand all
2512 } 1962 }
2513 1963
2514 void Document::AddDelayAnnotData(CJS_AnnotObj *pData) 1964 void Document::AddDelayAnnotData(CJS_AnnotObj *pData)
2515 { 1965 {
2516 m_DelayAnnotData.Add(pData); 1966 m_DelayAnnotData.Add(pData);
2517 } 1967 }
2518 1968
2519 void Document::DoAnnotDelay() 1969 void Document::DoAnnotDelay()
2520 { 1970 {
2521 CFX_DWordArray DelArray; 1971 CFX_DWordArray DelArray;
2522 » 1972
2523 for (int j=DelArray.GetSize()-1; j>=0; j--) 1973 for (int j=DelArray.GetSize()-1; j>=0; j--)
2524 { 1974 {
2525 m_DelayData.RemoveAt(DelArray[j]); 1975 m_DelayData.RemoveAt(DelArray[j]);
2526 } 1976 }
2527 } 1977 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fsdk_baseform.cpp ('k') | fpdfsdk/src/javascript/JS_Object.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698