diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-10-28 13:58:49 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-10-28 13:58:49 -0400 |
commit | 6be2aab35a6e605b3a884c558528efa3ac9231c6 (patch) | |
tree | 43e5bd09f8f114e7526aef0abbd2235e75970ce4 /testing | |
parent | 90c90059131c0412ebefddb6a97084c4776a3c4e (diff) | |
download | pdfium-6be2aab35a6e605b3a884c558528efa3ac9231c6.tar.xz |
Merge to XFA: Check if document was opened during testing.
When we call OpenDocument we fail to check if the document was actually opened.
Currently we return true in all cases (assuming we read the file). This CL
updates the code to check if the document was opened and return false if not.
I've updated several tests to check for FALSE instead of TRUE. I verified the
documents in fact don't open with my local (non-PDFium) PDF reader.
BUG=pdfium:223
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1417893007 .
(cherry picked from commit dd4cd523ef4546b43d68e8ca6ec0a97fbe8954e9)
Review URL: https://codereview.chromium.org/1418563010 .
Diffstat (limited to 'testing')
-rw-r--r-- | testing/embedder_test.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp index c1d19b2cfc..36405d300c 100644 --- a/testing/embedder_test.cpp +++ b/testing/embedder_test.cpp @@ -97,9 +97,8 @@ void EmbedderTest::TearDown() { bool EmbedderTest::OpenDocument(const std::string& filename) { file_contents_ = GetFileContents(filename.c_str(), &file_length_); - if (!file_contents_) { + if (!file_contents_) return false; - } loader_ = new TestLoader(file_contents_, file_length_); file_access_.m_FileLen = static_cast<unsigned long>(file_length_); @@ -115,19 +114,20 @@ bool EmbedderTest::OpenDocument(const std::string& filename) { avail_ = FPDFAvail_Create(&file_avail_, &file_access_); (void)FPDFAvail_IsDocAvail(avail_, &hints_); - if (!FPDFAvail_IsLinearized(avail_)) { + if (!FPDFAvail_IsLinearized(avail_)) document_ = FPDF_LoadCustomDocument(&file_access_, nullptr); - } else { + else document_ = FPDFAvail_GetDocument(avail_, nullptr); - } - if (!document_) { + + if (!document_) return false; - } + int docType = DOCTYPE_PDF; if (FPDF_HasXFAField(document_, &docType)) { if (docType != DOCTYPE_PDF) (void)FPDF_LoadXFA(document_); } + (void)FPDF_GetDocPermissions(document_); (void)FPDFAvail_IsFormAvail(avail_, &hints_); |