| OLD | NEW |
| 1 // Copyright 2015 PDFium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef TESTING_EMBEDDER_TEST_SUPPORT_H_ | 5 #ifndef TESTING_EMBEDDER_TEST_SUPPORT_H_ |
| 6 #define TESTING_EMBEDDER_TEST_SUPPORT_H_ | 6 #define TESTING_EMBEDDER_TEST_SUPPORT_H_ |
| 7 | 7 |
| 8 #include <stdlib.h> | 8 #include <stdlib.h> |
| 9 #include <memory> |
| 9 #include <string> | 10 #include <string> |
| 10 | 11 |
| 11 #include "public/fpdfview.h" | 12 #include "public/fpdfview.h" |
| 12 | 13 |
| 13 #ifdef PDF_ENABLE_V8 | 14 #ifdef PDF_ENABLE_V8 |
| 14 #include "v8/include/v8.h" | 15 #include "v8/include/v8.h" |
| 15 #endif // PDF_ENABLE_V8 | 16 #endif // PDF_ENABLE_V8 |
| 16 | 17 |
| 17 // Reads the entire contents of a file into a newly malloc'd buffer. | 18 namespace pdfium { |
| 18 char* GetFileContents(const char* filename, size_t* retlen); | 19 |
| 20 // Used with std::unique_ptr to free() objects that can't be deleted. |
| 21 struct FreeDeleter { |
| 22 inline void operator()(void* ptr) const { free(ptr); } |
| 23 }; |
| 24 |
| 25 } // namespace pdfium |
| 26 |
| 27 // Reads the entire contents of a file into a newly alloc'd buffer. |
| 28 std::unique_ptr<char, pdfium::FreeDeleter> GetFileContents(const char* filename, |
| 29 size_t* retlen); |
| 19 | 30 |
| 20 // Converts a FPDF_WIDESTRING to a std::wstring. | 31 // Converts a FPDF_WIDESTRING to a std::wstring. |
| 21 // Deals with differences between UTF16LE and wchar_t. | 32 // Deals with differences between UTF16LE and wchar_t. |
| 22 std::wstring GetPlatformWString(const FPDF_WIDESTRING wstr); | 33 std::wstring GetPlatformWString(const FPDF_WIDESTRING wstr); |
| 23 | 34 |
| 24 // Returns a newly mallocated FPDF_WIDESTRING (caller must free()). | 35 // Returns a newly allocated FPDF_WIDESTRING. |
| 25 // Deals with differences between UTF16LE and wchar_t. | 36 // Deals with differences between UTF16LE and wchar_t. |
| 26 FPDF_WIDESTRING GetFPDFWideString(const std::wstring& wstr); | 37 std::unique_ptr<unsigned short, pdfium::FreeDeleter> GetFPDFWideString( |
| 38 const std::wstring& wstr); |
| 27 | 39 |
| 28 #ifdef PDF_ENABLE_V8 | 40 #ifdef PDF_ENABLE_V8 |
| 29 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 41 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
| 30 bool InitializeV8ForPDFium(const std::string& exe_path, | 42 bool InitializeV8ForPDFium(const std::string& exe_path, |
| 31 const std::string& bin_dir, | 43 const std::string& bin_dir, |
| 32 v8::StartupData* natives_blob, | 44 v8::StartupData* natives_blob, |
| 33 v8::StartupData* snapshot_blob, | 45 v8::StartupData* snapshot_blob, |
| 34 v8::Platform** platform); | 46 v8::Platform** platform); |
| 35 #else // V8_USE_EXTERNAL_STARTUP_DATA | 47 #else // V8_USE_EXTERNAL_STARTUP_DATA |
| 36 bool InitializeV8ForPDFium(v8::Platform** platform); | 48 bool InitializeV8ForPDFium(v8::Platform** platform); |
| 37 #endif // V8_USE_EXTERNAL_STARTUP_DATA | 49 #endif // V8_USE_EXTERNAL_STARTUP_DATA |
| 38 #endif // PDF_ENABLE_V8 | 50 #endif // PDF_ENABLE_V8 |
| 39 | 51 |
| 40 class TestLoader { | 52 class TestLoader { |
| 41 public: | 53 public: |
| 42 TestLoader(const char* pBuf, size_t len); | 54 TestLoader(const char* pBuf, size_t len); |
| 43 static int GetBlock(void* param, | 55 static int GetBlock(void* param, |
| 44 unsigned long pos, | 56 unsigned long pos, |
| 45 unsigned char* pBuf, | 57 unsigned char* pBuf, |
| 46 unsigned long size); | 58 unsigned long size); |
| 47 | 59 |
| 48 private: | 60 private: |
| 49 const char* const m_pBuf; | 61 const char* const m_pBuf; |
| 50 const size_t m_Len; | 62 const size_t m_Len; |
| 51 }; | 63 }; |
| 52 | 64 |
| 53 #endif // TESTING_EMBEDDER_TEST_SUPPORT_H_ | 65 #endif // TESTING_EMBEDDER_TEST_SUPPORT_H_ |
| OLD | NEW |