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

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

Issue 2637503002: Tidy FXJS_V8, backfill tests. (Closed)
Patch Set: rebase Created 3 years, 11 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 | « no previous file | fpdfsdk/javascript/JS_Value.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 "fpdfsdk/javascript/Document.h" 7 #include "fpdfsdk/javascript/Document.h"
8 8
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 CFX_WideString cwProducer = pDictionary->GetUnicodeTextFor("Producer"); 794 CFX_WideString cwProducer = pDictionary->GetUnicodeTextFor("Producer");
795 CFX_WideString cwCreationDate = 795 CFX_WideString cwCreationDate =
796 pDictionary->GetUnicodeTextFor("CreationDate"); 796 pDictionary->GetUnicodeTextFor("CreationDate");
797 CFX_WideString cwModDate = pDictionary->GetUnicodeTextFor("ModDate"); 797 CFX_WideString cwModDate = pDictionary->GetUnicodeTextFor("ModDate");
798 CFX_WideString cwTrapped = pDictionary->GetUnicodeTextFor("Trapped"); 798 CFX_WideString cwTrapped = pDictionary->GetUnicodeTextFor("Trapped");
799 799
800 CJS_Context* pContext = (CJS_Context*)cc; 800 CJS_Context* pContext = (CJS_Context*)cc;
801 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 801 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
802 802
803 v8::Local<v8::Object> pObj = pRuntime->NewFxDynamicObj(-1); 803 v8::Local<v8::Object> pObj = pRuntime->NewFxDynamicObj(-1);
804 pRuntime->PutObjectString(pObj, L"Author", cwAuthor); 804 pRuntime->PutObjectProperty(pObj, L"Author", pRuntime->NewString(cwAuthor));
805 pRuntime->PutObjectString(pObj, L"Title", cwTitle); 805 pRuntime->PutObjectProperty(pObj, L"Title", pRuntime->NewString(cwTitle));
806 pRuntime->PutObjectString(pObj, L"Subject", cwSubject); 806 pRuntime->PutObjectProperty(pObj, L"Subject", pRuntime->NewString(cwSubject));
807 pRuntime->PutObjectString(pObj, L"Keywords", cwKeywords); 807 pRuntime->PutObjectProperty(pObj, L"Keywords",
808 pRuntime->PutObjectString(pObj, L"Creator", cwCreator); 808 pRuntime->NewString(cwKeywords));
809 pRuntime->PutObjectString(pObj, L"Producer", cwProducer); 809 pRuntime->PutObjectProperty(pObj, L"Creator", pRuntime->NewString(cwCreator));
810 pRuntime->PutObjectString(pObj, L"CreationDate", cwCreationDate); 810 pRuntime->PutObjectProperty(pObj, L"Producer",
811 pRuntime->PutObjectString(pObj, L"ModDate", cwModDate); 811 pRuntime->NewString(cwProducer));
812 pRuntime->PutObjectString(pObj, L"Trapped", cwTrapped); 812 pRuntime->PutObjectProperty(pObj, L"CreationDate",
813 pRuntime->NewString(cwCreationDate));
814 pRuntime->PutObjectProperty(pObj, L"ModDate", pRuntime->NewString(cwModDate));
815 pRuntime->PutObjectProperty(pObj, L"Trapped", pRuntime->NewString(cwTrapped));
813 816
814 // It's to be compatible to non-standard info dictionary. 817 // It's to be compatible to non-standard info dictionary.
815 for (const auto& it : *pDictionary) { 818 for (const auto& it : *pDictionary) {
816 const CFX_ByteString& bsKey = it.first; 819 const CFX_ByteString& bsKey = it.first;
817 CPDF_Object* pValueObj = it.second.get(); 820 CPDF_Object* pValueObj = it.second.get();
818 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey.AsStringC()); 821 CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey.AsStringC());
819 if (pValueObj->IsString() || pValueObj->IsName()) { 822 if (pValueObj->IsString() || pValueObj->IsName()) {
820 pRuntime->PutObjectString(pObj, wsKey, pValueObj->GetUnicodeText()); 823 pRuntime->PutObjectProperty(
824 pObj, wsKey, pRuntime->NewString(pValueObj->GetUnicodeText()));
821 } else if (pValueObj->IsNumber()) { 825 } else if (pValueObj->IsNumber()) {
822 pRuntime->PutObjectNumber(pObj, wsKey, (float)pValueObj->GetNumber()); 826 pRuntime->PutObjectProperty(pObj, wsKey,
827 pRuntime->NewNumber(pValueObj->GetNumber()));
823 } else if (pValueObj->IsBoolean()) { 828 } else if (pValueObj->IsBoolean()) {
824 pRuntime->PutObjectBoolean(pObj, wsKey, !!pValueObj->GetInteger()); 829 pRuntime->PutObjectProperty(
830 pObj, wsKey, pRuntime->NewBoolean(!!pValueObj->GetInteger()));
825 } 831 }
826 } 832 }
827 vp << pObj; 833 vp << pObj;
828 return true; 834 return true;
829 } 835 }
830 836
831 bool Document::getPropertyInternal(IJS_Context* cc, 837 bool Document::getPropertyInternal(IJS_Context* cc,
832 CJS_PropValue& vp, 838 CJS_PropValue& vp,
833 const CFX_ByteString& propName, 839 const CFX_ByteString& propName,
834 CFX_WideString& sError) { 840 CFX_WideString& sError) {
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1717 } 1723 }
1718 } 1724 }
1719 1725
1720 for (const auto& pData : DelayDataForFieldAndControlIndex) 1726 for (const auto& pData : DelayDataForFieldAndControlIndex)
1721 Field::DoDelay(m_pFormFillEnv.Get(), pData.get()); 1727 Field::DoDelay(m_pFormFillEnv.Get(), pData.get());
1722 } 1728 }
1723 1729
1724 CJS_Document* Document::GetCJSDoc() const { 1730 CJS_Document* Document::GetCJSDoc() const {
1725 return static_cast<CJS_Document*>(m_pJSObject); 1731 return static_cast<CJS_Document*>(m_pJSObject);
1726 } 1732 }
OLDNEW
« no previous file with comments | « no previous file | fpdfsdk/javascript/JS_Value.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698