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 <algorithm> | 7 #include <algorithm> |
| 8 #include <memory> |
8 | 9 |
9 #include "fpdfsdk/include/fsdk_mgr.h" | 10 #include "fpdfsdk/include/fsdk_mgr.h" |
10 | 11 |
11 #include "fpdfsdk/include/formfiller/FFL_FormFiller.h" | 12 #include "fpdfsdk/include/formfiller/FFL_FormFiller.h" |
12 #include "fpdfsdk/include/fsdk_define.h" | 13 #include "fpdfsdk/include/fsdk_define.h" |
13 #include "fpdfsdk/include/javascript/IJavaScript.h" | 14 #include "fpdfsdk/include/javascript/IJavaScript.h" |
14 #include "public/fpdf_ext.h" | 15 #include "public/fpdf_ext.h" |
15 #include "third_party/base/nonstd_unique_ptr.h" | |
16 #include "third_party/base/stl_util.h" | 16 #include "third_party/base/stl_util.h" |
17 | 17 |
18 #if _FX_OS_ == _FX_ANDROID_ | 18 #if _FX_OS_ == _FX_ANDROID_ |
19 #include "time.h" | 19 #include "time.h" |
20 #else | 20 #else |
21 #include <ctime> | 21 #include <ctime> |
22 #endif | 22 #endif |
23 | 23 |
24 class CFX_SystemHandler : public IFX_SystemHandler { | 24 class CFX_SystemHandler : public IFX_SystemHandler { |
25 public: | 25 public: |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 if (!m_pInfo || !m_pInfo->m_pJsPlatform || | 266 if (!m_pInfo || !m_pInfo->m_pJsPlatform || |
267 !m_pInfo->m_pJsPlatform->Field_browse) { | 267 !m_pInfo->m_pJsPlatform->Field_browse) { |
268 return L""; | 268 return L""; |
269 } | 269 } |
270 | 270 |
271 const int nRequiredLen = | 271 const int nRequiredLen = |
272 m_pInfo->m_pJsPlatform->Field_browse(m_pInfo->m_pJsPlatform, nullptr, 0); | 272 m_pInfo->m_pJsPlatform->Field_browse(m_pInfo->m_pJsPlatform, nullptr, 0); |
273 if (nRequiredLen <= 0) | 273 if (nRequiredLen <= 0) |
274 return L""; | 274 return L""; |
275 | 275 |
276 nonstd::unique_ptr<char[]> pBuff(new char[nRequiredLen]); | 276 std::unique_ptr<char[]> pBuff(new char[nRequiredLen]); |
277 memset(pBuff.get(), 0, nRequiredLen); | 277 memset(pBuff.get(), 0, nRequiredLen); |
278 const int nActualLen = m_pInfo->m_pJsPlatform->Field_browse( | 278 const int nActualLen = m_pInfo->m_pJsPlatform->Field_browse( |
279 m_pInfo->m_pJsPlatform, pBuff.get(), nRequiredLen); | 279 m_pInfo->m_pJsPlatform, pBuff.get(), nRequiredLen); |
280 if (nActualLen <= 0 || nActualLen > nRequiredLen) | 280 if (nActualLen <= 0 || nActualLen > nRequiredLen) |
281 return L""; | 281 return L""; |
282 | 282 |
283 CFX_ByteString bsRet = CFX_ByteString(pBuff.get(), nActualLen); | 283 CFX_ByteString bsRet = CFX_ByteString(pBuff.get(), nActualLen); |
284 CFX_WideString wsRet = CFX_WideString::FromLocal(bsRet); | 284 CFX_WideString wsRet = CFX_WideString::FromLocal(bsRet); |
285 return wsRet; | 285 return wsRet; |
286 } | 286 } |
287 | 287 |
288 CFX_WideString CPDFDoc_Environment::JS_docGetFilePath() { | 288 CFX_WideString CPDFDoc_Environment::JS_docGetFilePath() { |
289 if (!m_pInfo || !m_pInfo->m_pJsPlatform || | 289 if (!m_pInfo || !m_pInfo->m_pJsPlatform || |
290 !m_pInfo->m_pJsPlatform->Doc_getFilePath) { | 290 !m_pInfo->m_pJsPlatform->Doc_getFilePath) { |
291 return L""; | 291 return L""; |
292 } | 292 } |
293 | 293 |
294 const int nRequiredLen = m_pInfo->m_pJsPlatform->Doc_getFilePath( | 294 const int nRequiredLen = m_pInfo->m_pJsPlatform->Doc_getFilePath( |
295 m_pInfo->m_pJsPlatform, nullptr, 0); | 295 m_pInfo->m_pJsPlatform, nullptr, 0); |
296 if (nRequiredLen <= 0) | 296 if (nRequiredLen <= 0) |
297 return L""; | 297 return L""; |
298 | 298 |
299 nonstd::unique_ptr<char[]> pBuff(new char[nRequiredLen]); | 299 std::unique_ptr<char[]> pBuff(new char[nRequiredLen]); |
300 memset(pBuff.get(), 0, nRequiredLen); | 300 memset(pBuff.get(), 0, nRequiredLen); |
301 const int nActualLen = m_pInfo->m_pJsPlatform->Doc_getFilePath( | 301 const int nActualLen = m_pInfo->m_pJsPlatform->Doc_getFilePath( |
302 m_pInfo->m_pJsPlatform, pBuff.get(), nRequiredLen); | 302 m_pInfo->m_pJsPlatform, pBuff.get(), nRequiredLen); |
303 if (nActualLen <= 0 || nActualLen > nRequiredLen) | 303 if (nActualLen <= 0 || nActualLen > nRequiredLen) |
304 return L""; | 304 return L""; |
305 | 305 |
306 CFX_ByteString bsRet = CFX_ByteString(pBuff.get(), nActualLen); | 306 CFX_ByteString bsRet = CFX_ByteString(pBuff.get(), nActualLen); |
307 CFX_WideString wsRet = CFX_WideString::FromLocal(bsRet); | 307 CFX_WideString wsRet = CFX_WideString::FromLocal(bsRet); |
308 return wsRet; | 308 return wsRet; |
309 } | 309 } |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 CPDFSDK_Annot* pFocusAnnot = m_pSDKDoc->GetFocusAnnot(); | 917 CPDFSDK_Annot* pFocusAnnot = m_pSDKDoc->GetFocusAnnot(); |
918 if (!pFocusAnnot) | 918 if (!pFocusAnnot) |
919 return nullptr; | 919 return nullptr; |
920 | 920 |
921 for (CPDFSDK_Annot* pAnnot : m_fxAnnotArray) { | 921 for (CPDFSDK_Annot* pAnnot : m_fxAnnotArray) { |
922 if (pAnnot == pFocusAnnot) | 922 if (pAnnot == pFocusAnnot) |
923 return pAnnot; | 923 return pAnnot; |
924 } | 924 } |
925 return nullptr; | 925 return nullptr; |
926 } | 926 } |
OLD | NEW |