| OLD | NEW |
| 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 "global.h" | 7 #include "global.h" |
| 8 | 8 |
| 9 #include "../../../core/include/fxcrt/fx_ext.h" | 9 #include "../../../core/include/fxcrt/fx_ext.h" |
| 10 #include "../../include/fpdfxfa/fpdfxfa_app.h" | 10 #include "../../include/fpdfxfa/fpdfxfa_app.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 81 |
| 82 BEGIN_JS_STATIC_PROP(CJS_Global) | 82 BEGIN_JS_STATIC_PROP(CJS_Global) |
| 83 END_JS_STATIC_PROP() | 83 END_JS_STATIC_PROP() |
| 84 | 84 |
| 85 BEGIN_JS_STATIC_METHOD(CJS_Global) | 85 BEGIN_JS_STATIC_METHOD(CJS_Global) |
| 86 JS_STATIC_METHOD_ENTRY(setPersistent) | 86 JS_STATIC_METHOD_ENTRY(setPersistent) |
| 87 END_JS_STATIC_METHOD() | 87 END_JS_STATIC_METHOD() |
| 88 | 88 |
| 89 IMPLEMENT_SPECIAL_JS_CLASS(CJS_Global, JSGlobalAlternate, global); | 89 IMPLEMENT_SPECIAL_JS_CLASS(CJS_Global, JSGlobalAlternate, global); |
| 90 | 90 |
| 91 FX_BOOL CJS_Global::InitInstance(IFXJS_Context* cc) { | 91 FX_BOOL CJS_Global::InitInstance(IJS_Context* cc) { |
| 92 CJS_Context* pContext = (CJS_Context*)cc; | 92 CJS_Context* pContext = (CJS_Context*)cc; |
| 93 ASSERT(pContext != NULL); | 93 ASSERT(pContext != NULL); |
| 94 | 94 |
| 95 JSGlobalAlternate* pGlobal = (JSGlobalAlternate*)GetEmbedObject(); | 95 JSGlobalAlternate* pGlobal = (JSGlobalAlternate*)GetEmbedObject(); |
| 96 ASSERT(pGlobal != NULL); | 96 ASSERT(pGlobal != NULL); |
| 97 | 97 |
| 98 pGlobal->Initial(pContext->GetReaderApp()); | 98 pGlobal->Initial(pContext->GetReaderApp()); |
| 99 | 99 |
| 100 return TRUE; | 100 return TRUE; |
| 101 }; | 101 }; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 112 void JSGlobalAlternate::Initial(CPDFDoc_Environment* pApp) { | 112 void JSGlobalAlternate::Initial(CPDFDoc_Environment* pApp) { |
| 113 m_pApp = pApp; | 113 m_pApp = pApp; |
| 114 m_pGlobalData = CJS_GlobalData::GetRetainedInstance(pApp); | 114 m_pGlobalData = CJS_GlobalData::GetRetainedInstance(pApp); |
| 115 UpdateGlobalPersistentVariables(); | 115 UpdateGlobalPersistentVariables(); |
| 116 } | 116 } |
| 117 | 117 |
| 118 FX_BOOL JSGlobalAlternate::QueryProperty(const FX_WCHAR* propname) { | 118 FX_BOOL JSGlobalAlternate::QueryProperty(const FX_WCHAR* propname) { |
| 119 return CFX_WideString(propname) != L"setPersistent"; | 119 return CFX_WideString(propname) != L"setPersistent"; |
| 120 } | 120 } |
| 121 | 121 |
| 122 FX_BOOL JSGlobalAlternate::DelProperty(IFXJS_Context* cc, | 122 FX_BOOL JSGlobalAlternate::DelProperty(IJS_Context* cc, |
| 123 const FX_WCHAR* propname, | 123 const FX_WCHAR* propname, |
| 124 CFX_WideString& sError) { | 124 CFX_WideString& sError) { |
| 125 auto it = m_mapGlobal.find(CFX_ByteString::FromUnicode(propname)); | 125 auto it = m_mapGlobal.find(CFX_ByteString::FromUnicode(propname)); |
| 126 if (it == m_mapGlobal.end()) | 126 if (it == m_mapGlobal.end()) |
| 127 return FALSE; | 127 return FALSE; |
| 128 | 128 |
| 129 it->second->bDeleted = TRUE; | 129 it->second->bDeleted = TRUE; |
| 130 return TRUE; | 130 return TRUE; |
| 131 } | 131 } |
| 132 | 132 |
| 133 FX_BOOL JSGlobalAlternate::DoProperty(IFXJS_Context* cc, | 133 FX_BOOL JSGlobalAlternate::DoProperty(IJS_Context* cc, |
| 134 const FX_WCHAR* propname, | 134 const FX_WCHAR* propname, |
| 135 CJS_PropValue& vp, | 135 CJS_PropValue& vp, |
| 136 CFX_WideString& sError) { | 136 CFX_WideString& sError) { |
| 137 if (vp.IsSetting()) { | 137 if (vp.IsSetting()) { |
| 138 CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname); | 138 CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname); |
| 139 switch (vp.GetType()) { | 139 switch (vp.GetType()) { |
| 140 case CJS_Value::VT_number: { | 140 case CJS_Value::VT_number: { |
| 141 double dData; | 141 double dData; |
| 142 vp >> dData; | 142 vp >> dData; |
| 143 return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NUMBER, dData, | 143 return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NUMBER, dData, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 case JS_GLOBALDATA_TYPE_NULL: | 202 case JS_GLOBALDATA_TYPE_NULL: |
| 203 vp.SetNull(); | 203 vp.SetNull(); |
| 204 return TRUE; | 204 return TRUE; |
| 205 default: | 205 default: |
| 206 break; | 206 break; |
| 207 } | 207 } |
| 208 } | 208 } |
| 209 return FALSE; | 209 return FALSE; |
| 210 } | 210 } |
| 211 | 211 |
| 212 FX_BOOL JSGlobalAlternate::setPersistent(IFXJS_Context* cc, | 212 FX_BOOL JSGlobalAlternate::setPersistent(IJS_Context* cc, |
| 213 const CJS_Parameters& params, | 213 const CJS_Parameters& params, |
| 214 CJS_Value& vRet, | 214 CJS_Value& vRet, |
| 215 CFX_WideString& sError) { | 215 CFX_WideString& sError) { |
| 216 CJS_Context* pContext = static_cast<CJS_Context*>(cc); | 216 CJS_Context* pContext = static_cast<CJS_Context*>(cc); |
| 217 if (params.size() != 2) { | 217 if (params.size() != 2) { |
| 218 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); | 218 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); |
| 219 return FALSE; | 219 return FALSE; |
| 220 } | 220 } |
| 221 | 221 |
| 222 auto it = m_mapGlobal.find(params[0].ToCFXByteString()); | 222 auto it = m_mapGlobal.find(params[0].ToCFXByteString()); |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 return CJS_Value::VT_boolean; | 525 return CJS_Value::VT_boolean; |
| 526 if (nHash == JSCONST_nDateHash) | 526 if (nHash == JSCONST_nDateHash) |
| 527 return CJS_Value::VT_date; | 527 return CJS_Value::VT_date; |
| 528 if (nHash == JSCONST_nObjectHash) | 528 if (nHash == JSCONST_nObjectHash) |
| 529 return CJS_Value::VT_object; | 529 return CJS_Value::VT_object; |
| 530 if (nHash == JSCONST_nFXobjHash) | 530 if (nHash == JSCONST_nFXobjHash) |
| 531 return CJS_Value::VT_fxobject; | 531 return CJS_Value::VT_fxobject; |
| 532 | 532 |
| 533 return CJS_Value::VT_unknown; | 533 return CJS_Value::VT_unknown; |
| 534 } | 534 } |
| OLD | NEW |