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

Side by Side Diff: xfa/fxfa/parser/xfa_script_hostpseudomodel.cpp

Issue 1857073002: Make down-conversion explicit from CFX_Widetring to CFX_WideStringC. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: String argument type Created 4 years, 8 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/parser/xfa_parser_imp.cpp ('k') | xfa/fxfa/parser/xfa_script_imp.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 "xfa/fxfa/parser/xfa_script_hostpseudomodel.h" 7 #include "xfa/fxfa/parser/xfa_script_hostpseudomodel.h"
8 8
9 #include "xfa/fxfa/app/xfa_ffnotify.h" 9 #include "xfa/fxfa/app/xfa_ffnotify.h"
10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 } 157 }
158 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 158 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
159 if (!pNotify) { 159 if (!pNotify) {
160 return; 160 return;
161 } 161 }
162 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); 162 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
163 if (bSetting) { 163 if (bSetting) {
164 CFX_ByteString bsValue; 164 CFX_ByteString bsValue;
165 FXJSE_Value_ToUTF8String(hValue, bsValue); 165 FXJSE_Value_ToUTF8String(hValue, bsValue);
166 pNotify->GetDocProvider()->SetTitle( 166 pNotify->GetDocProvider()->SetTitle(
167 hDoc, CFX_WideString::FromUTF8(bsValue, bsValue.GetLength())); 167 hDoc,
168 CFX_WideString::FromUTF8(bsValue, bsValue.GetLength()).AsWideStringC());
168 return; 169 return;
169 } 170 }
170 CFX_WideString wsTitle; 171 CFX_WideString wsTitle;
171 pNotify->GetDocProvider()->GetTitle(hDoc, wsTitle); 172 pNotify->GetDocProvider()->GetTitle(hDoc, wsTitle);
172 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsTitle).AsByteStringC()); 173 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsTitle).AsByteStringC());
173 } 174 }
174 void CScript_HostPseudoModel::Script_HostPseudoModel_ValidationsEnabled( 175 void CScript_HostPseudoModel::Script_HostPseudoModel_ValidationsEnabled(
175 FXJSE_HVALUE hValue, 176 FXJSE_HVALUE hValue,
176 FX_BOOL bSetting, 177 FX_BOOL bSetting,
177 XFA_ATTRIBUTE eAttribute) { 178 XFA_ATTRIBUTE eAttribute) {
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 286 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
286 if (!pNotify) { 287 if (!pNotify) {
287 return; 288 return;
288 } 289 }
289 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); 290 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
290 CFX_WideString wsURL; 291 CFX_WideString wsURL;
291 if (iLength >= 1) { 292 if (iLength >= 1) {
292 CFX_ByteString bsURL = pArguments->GetUTF8String(0); 293 CFX_ByteString bsURL = pArguments->GetUTF8String(0);
293 wsURL = CFX_WideString::FromUTF8(bsURL, bsURL.GetLength()); 294 wsURL = CFX_WideString::FromUTF8(bsURL, bsURL.GetLength());
294 } 295 }
295 pNotify->GetDocProvider()->GotoURL(hDoc, wsURL); 296 pNotify->GetDocProvider()->GotoURL(hDoc, wsURL.AsWideStringC());
296 } 297 }
297 void CScript_HostPseudoModel::Script_HostPseudoModel_OpenList( 298 void CScript_HostPseudoModel::Script_HostPseudoModel_OpenList(
298 CFXJSE_Arguments* pArguments) { 299 CFXJSE_Arguments* pArguments) {
299 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) { 300 if (!m_pDocument->GetScriptContext()->IsRunAtClient()) {
300 return; 301 return;
301 } 302 }
302 int32_t iLength = pArguments->GetLength(); 303 int32_t iLength = pArguments->GetLength();
303 if (iLength != 1) { 304 if (iLength != 1) {
304 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"openList"); 305 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"openList");
305 return; 306 return;
(...skipping 18 matching lines...) Expand all
324 return; 325 return;
325 } 326 }
326 CXFA_Object* pObject = pScriptContext->GetThisObject(); 327 CXFA_Object* pObject = pScriptContext->GetThisObject();
327 if (!pObject) { 328 if (!pObject) {
328 FXJSE_Value_Release(hValue); 329 FXJSE_Value_Release(hValue);
329 return; 330 return;
330 } 331 }
331 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent | 332 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent |
332 XFA_RESOLVENODE_Siblings; 333 XFA_RESOLVENODE_Siblings;
333 XFA_RESOLVENODE_RS resoveNodeRS; 334 XFA_RESOLVENODE_RS resoveNodeRS;
334 int32_t iRet = pScriptContext->ResolveObjects(pObject, wsExpression, 335 int32_t iRet = pScriptContext->ResolveObjects(
335 resoveNodeRS, dwFlag); 336 pObject, wsExpression.AsWideStringC(), resoveNodeRS, dwFlag);
336 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) { 337 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) {
337 FXJSE_Value_Release(hValue); 338 FXJSE_Value_Release(hValue);
338 return; 339 return;
339 } 340 }
340 pNode = resoveNodeRS.nodes[0]->AsNode(); 341 pNode = resoveNodeRS.nodes[0]->AsNode();
341 } 342 }
342 FXJSE_Value_Release(hValue); 343 FXJSE_Value_Release(hValue);
343 } 344 }
344 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout(); 345 CXFA_LayoutProcessor* pDocLayout = m_pDocument->GetDocLayout();
345 if (!pDocLayout) { 346 if (!pDocLayout) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 } 379 }
379 if (iLength >= 3) { 380 if (iLength >= 3) {
380 CFX_ByteString bsDefaultAnswer = pArguments->GetUTF8String(2); 381 CFX_ByteString bsDefaultAnswer = pArguments->GetUTF8String(2);
381 wsDefaultAnswer = 382 wsDefaultAnswer =
382 CFX_WideString::FromUTF8(bsDefaultAnswer, bsDefaultAnswer.GetLength()); 383 CFX_WideString::FromUTF8(bsDefaultAnswer, bsDefaultAnswer.GetLength());
383 } 384 }
384 if (iLength >= 4) { 385 if (iLength >= 4) {
385 bMark = pArguments->GetInt32(3) == 0 ? FALSE : TRUE; 386 bMark = pArguments->GetInt32(3) == 0 ? FALSE : TRUE;
386 } 387 }
387 CFX_WideString wsAnswer; 388 CFX_WideString wsAnswer;
388 pNotify->GetAppProvider()->Response(wsAnswer, wsQuestion, wsTitle, 389 pNotify->GetAppProvider()->Response(wsAnswer, wsQuestion.AsWideStringC(),
389 wsDefaultAnswer, bMark); 390 wsTitle.AsWideStringC(),
391 wsDefaultAnswer.AsWideStringC(), bMark);
390 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); 392 FXJSE_HVALUE hValue = pArguments->GetReturnValue();
391 if (hValue) { 393 if (hValue) {
392 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsAnswer).AsByteStringC()); 394 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(wsAnswer).AsByteStringC());
393 } 395 }
394 } 396 }
395 void CScript_HostPseudoModel::Script_HostPseudoModel_DocumentInBatch( 397 void CScript_HostPseudoModel::Script_HostPseudoModel_DocumentInBatch(
396 CFXJSE_Arguments* pArguments) { 398 CFXJSE_Arguments* pArguments) {
397 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 399 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
398 if (!pNotify) { 400 if (!pNotify) {
399 return; 401 return;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 } 449 }
448 if (wsExpression.IsEmpty()) { 450 if (wsExpression.IsEmpty()) {
449 pNotify->ResetData(); 451 pNotify->ResetData();
450 return; 452 return;
451 } 453 }
452 int32_t iStart = 0; 454 int32_t iStart = 0;
453 CFX_WideString wsName; 455 CFX_WideString wsName;
454 CXFA_Node* pNode = NULL; 456 CXFA_Node* pNode = NULL;
455 int32_t iExpLength = wsExpression.GetLength(); 457 int32_t iExpLength = wsExpression.GetLength();
456 while (iStart < iExpLength) { 458 while (iStart < iExpLength) {
457 iStart = XFA_FilterName(wsExpression, iStart, wsName); 459 iStart = XFA_FilterName(wsExpression.AsWideStringC(), iStart, wsName);
458 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); 460 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
459 if (!pScriptContext) { 461 if (!pScriptContext) {
460 return; 462 return;
461 } 463 }
462 CXFA_Object* pObject = pScriptContext->GetThisObject(); 464 CXFA_Object* pObject = pScriptContext->GetThisObject();
463 if (!pObject) { 465 if (!pObject) {
464 return; 466 return;
465 } 467 }
466 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent | 468 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent |
467 XFA_RESOLVENODE_Siblings; 469 XFA_RESOLVENODE_Siblings;
468 XFA_RESOLVENODE_RS resoveNodeRS; 470 XFA_RESOLVENODE_RS resoveNodeRS;
469 int32_t iRet = 471 int32_t iRet = pScriptContext->ResolveObjects(
470 pScriptContext->ResolveObjects(pObject, wsName, resoveNodeRS, dwFlag); 472 pObject, wsName.AsWideStringC(), resoveNodeRS, dwFlag);
471 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) { 473 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) {
472 continue; 474 continue;
473 } 475 }
474 pNode = resoveNodeRS.nodes[0]->AsNode(); 476 pNode = resoveNodeRS.nodes[0]->AsNode();
475 pNotify->ResetData(pNode->GetWidgetData()); 477 pNotify->ResetData(pNode->GetWidgetData());
476 } 478 }
477 if (!pNode) { 479 if (!pNode) {
478 pNotify->ResetData(); 480 pNotify->ResetData();
479 } 481 }
480 } 482 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 return; 530 return;
529 } 531 }
530 CXFA_Object* pObject = pScriptContext->GetThisObject(); 532 CXFA_Object* pObject = pScriptContext->GetThisObject();
531 if (!pObject) { 533 if (!pObject) {
532 FXJSE_Value_Release(hValue); 534 FXJSE_Value_Release(hValue);
533 return; 535 return;
534 } 536 }
535 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent | 537 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Parent |
536 XFA_RESOLVENODE_Siblings; 538 XFA_RESOLVENODE_Siblings;
537 XFA_RESOLVENODE_RS resoveNodeRS; 539 XFA_RESOLVENODE_RS resoveNodeRS;
538 int32_t iRet = pScriptContext->ResolveObjects(pObject, wsExpression, 540 int32_t iRet = pScriptContext->ResolveObjects(
539 resoveNodeRS, dwFlag); 541 pObject, wsExpression.AsWideStringC(), resoveNodeRS, dwFlag);
540 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) { 542 if (iRet < 1 || !resoveNodeRS.nodes[0]->IsNode()) {
541 FXJSE_Value_Release(hValue); 543 FXJSE_Value_Release(hValue);
542 return; 544 return;
543 } 545 }
544 pNode = resoveNodeRS.nodes[0]->AsNode(); 546 pNode = resoveNodeRS.nodes[0]->AsNode();
545 } 547 }
546 FXJSE_Value_Release(hValue); 548 FXJSE_Value_Release(hValue);
547 } 549 }
548 pNotify->SetFocusWidgetNode(pNode); 550 pNotify->SetFocusWidgetNode(pNode);
549 } 551 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 dwMessageType = XFA_MBICON_Error; 596 dwMessageType = XFA_MBICON_Error;
595 } 597 }
596 } 598 }
597 if (iLength >= 4) { 599 if (iLength >= 4) {
598 dwButtonType = pArguments->GetInt32(3); 600 dwButtonType = pArguments->GetInt32(3);
599 if (dwButtonType > XFA_MB_YesNoCancel) { 601 if (dwButtonType > XFA_MB_YesNoCancel) {
600 dwButtonType = XFA_MB_OK; 602 dwButtonType = XFA_MB_OK;
601 } 603 }
602 } 604 }
603 int32_t iValue = pNotify->GetAppProvider()->MsgBox( 605 int32_t iValue = pNotify->GetAppProvider()->MsgBox(
604 wsMessage, bsTitle, dwMessageType, dwButtonType); 606 wsMessage.AsWideStringC(), bsTitle.AsWideStringC(), dwMessageType,
607 dwButtonType);
605 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); 608 FXJSE_HVALUE hValue = pArguments->GetReturnValue();
606 if (hValue) { 609 if (hValue) {
607 FXJSE_Value_SetInteger(hValue, iValue); 610 FXJSE_Value_SetInteger(hValue, iValue);
608 } 611 }
609 } 612 }
610 FX_BOOL CScript_HostPseudoModel::Script_HostPseudoModel_ValidateArgsForMsg( 613 FX_BOOL CScript_HostPseudoModel::Script_HostPseudoModel_ValidateArgsForMsg(
611 CFXJSE_Arguments* pArguments, 614 CFXJSE_Arguments* pArguments,
612 int32_t iArgIndex, 615 int32_t iArgIndex,
613 CFX_WideString& wsValue) { 616 CFX_WideString& wsValue) {
614 if (pArguments == NULL || iArgIndex < 0) { 617 if (pArguments == NULL || iArgIndex < 0) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 729 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
727 if (!pNotify) { 730 if (!pNotify) {
728 return; 731 return;
729 } 732 }
730 CFX_WideString wsFilePath; 733 CFX_WideString wsFilePath;
731 if (iLength > 0) { 734 if (iLength > 0) {
732 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0); 735 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0);
733 wsFilePath = CFX_WideString::FromUTF8(bsFilePath, bsFilePath.GetLength()); 736 wsFilePath = CFX_WideString::FromUTF8(bsFilePath, bsFilePath.GetLength());
734 } 737 }
735 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); 738 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
736 pNotify->GetDocProvider()->ImportData(hDoc, wsFilePath); 739 pNotify->GetDocProvider()->ImportData(hDoc, wsFilePath.AsWideStringC());
737 } 740 }
738 void CScript_HostPseudoModel::Script_HostPseudoModel_ExportData( 741 void CScript_HostPseudoModel::Script_HostPseudoModel_ExportData(
739 CFXJSE_Arguments* pArguments) { 742 CFXJSE_Arguments* pArguments) {
740 int32_t iLength = pArguments->GetLength(); 743 int32_t iLength = pArguments->GetLength();
741 if (iLength < 0 || iLength > 2) { 744 if (iLength < 0 || iLength > 2) {
742 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"exportData"); 745 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"exportData");
743 return; 746 return;
744 } 747 }
745 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 748 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
746 if (!pNotify) { 749 if (!pNotify) {
747 return; 750 return;
748 } 751 }
749 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); 752 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
750 CFX_WideString wsFilePath; 753 CFX_WideString wsFilePath;
751 FX_BOOL bXDP = TRUE; 754 FX_BOOL bXDP = TRUE;
752 if (iLength >= 1) { 755 if (iLength >= 1) {
753 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0); 756 CFX_ByteString bsFilePath = pArguments->GetUTF8String(0);
754 wsFilePath = CFX_WideString::FromUTF8(bsFilePath, bsFilePath.GetLength()); 757 wsFilePath = CFX_WideString::FromUTF8(bsFilePath, bsFilePath.GetLength());
755 } 758 }
756 if (iLength >= 2) { 759 if (iLength >= 2) {
757 bXDP = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; 760 bXDP = pArguments->GetInt32(1) == 0 ? FALSE : TRUE;
758 } 761 }
759 pNotify->GetDocProvider()->ExportData(hDoc, wsFilePath, bXDP); 762 pNotify->GetDocProvider()->ExportData(hDoc, wsFilePath.AsWideStringC(), bXDP);
760 } 763 }
761 void CScript_HostPseudoModel::Script_HostPseudoModel_PageUp( 764 void CScript_HostPseudoModel::Script_HostPseudoModel_PageUp(
762 CFXJSE_Arguments* pArguments) { 765 CFXJSE_Arguments* pArguments) {
763 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); 766 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
764 if (!pNotify) { 767 if (!pNotify) {
765 return; 768 return;
766 } 769 }
767 CXFA_FFDoc* hDoc = pNotify->GetHDOC(); 770 CXFA_FFDoc* hDoc = pNotify->GetHDOC();
768 int32_t nCurPage = pNotify->GetDocProvider()->GetCurrentPage(hDoc); 771 int32_t nCurPage = pNotify->GetDocProvider()->GetCurrentPage(hDoc);
769 int32_t nNewPage = 0; 772 int32_t nNewPage = 0;
(...skipping 29 matching lines...) Expand all
799 if (!pNotify) { 802 if (!pNotify) {
800 return; 803 return;
801 } 804 }
802 CFX_WideString wsDataTime = pNotify->GetCurrentDateTime(); 805 CFX_WideString wsDataTime = pNotify->GetCurrentDateTime();
803 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); 806 FXJSE_HVALUE hValue = pArguments->GetReturnValue();
804 if (hValue) { 807 if (hValue) {
805 FXJSE_Value_SetUTF8String(hValue, 808 FXJSE_Value_SetUTF8String(hValue,
806 FX_UTF8Encode(wsDataTime).AsByteStringC()); 809 FX_UTF8Encode(wsDataTime).AsByteStringC());
807 } 810 }
808 } 811 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_parser_imp.cpp ('k') | xfa/fxfa/parser/xfa_script_imp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698