summaryrefslogtreecommitdiff
path: root/xfa/fgas
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-10-04 10:20:45 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-10-04 17:33:06 +0000
commit6ed297c5b418f8c9435b656b565cf48e6dcc2836 (patch)
treeddf6a61df6e2869b065edc1245ad57c0ff71f2ad /xfa/fgas
parentadb19b0b11ab16a406d23797564fc0ec3a5da245 (diff)
downloadpdfium-6ed297c5b418f8c9435b656b565cf48e6dcc2836.tar.xz
Remove CFX_CRTFileAccess
The CFX_CRTFileAccess class was only used in one place and only provided one method. That method was folded back into the caller and the class removed. Change-Id: I5e670474244a9ec037b6d099d67bd5091cac7ff4 Reviewed-on: https://pdfium-review.googlesource.com/15410 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fgas')
-rw-r--r--xfa/fgas/font/cfgas_fontmgr.cpp23
-rw-r--r--xfa/fgas/font/cfgas_fontmgr.h4
2 files changed, 16 insertions, 11 deletions
diff --git a/xfa/fgas/font/cfgas_fontmgr.cpp b/xfa/fgas/font/cfgas_fontmgr.cpp
index 6215766666..7beba120fa 100644
--- a/xfa/fgas/font/cfgas_fontmgr.cpp
+++ b/xfa/fgas/font/cfgas_fontmgr.cpp
@@ -692,13 +692,16 @@ bool CFX_FontSourceEnum_File::HasStartPosition() {
return m_wsNext.GetLength() != 0;
}
-RetainPtr<CFX_CRTFileAccess> CFX_FontSourceEnum_File::GetNext() {
+// <next exists, stream for next>
+std::pair<bool, RetainPtr<IFX_SeekableStream>>
+CFX_FontSourceEnum_File::GetNext() {
if (m_wsNext.GetLength() == 0)
- return nullptr;
+ return {false, nullptr};
- auto pAccess = pdfium::MakeRetain<CFX_CRTFileAccess>(m_wsNext.AsStringView());
+ auto stream = IFX_SeekableStream::CreateFromFilename(m_wsNext.c_str(),
+ FX_FILEMODE_ReadOnly);
m_wsNext = GetNextFile().UTF8Decode();
- return pAccess;
+ return {true, stream};
}
CFGAS_FontMgr::CFGAS_FontMgr()
@@ -735,11 +738,13 @@ bool CFGAS_FontMgr::EnumFontsFromFiles() {
if (!m_pFontSource->HasStartPosition())
return !m_InstalledFonts.empty();
- while (RetainPtr<CFX_CRTFileAccess> pFontSource = m_pFontSource->GetNext()) {
- RetainPtr<IFX_SeekableReadStream> pFontStream =
- pFontSource->CreateFileStream(FX_FILEMODE_ReadOnly);
- if (pFontStream)
- RegisterFaces(pFontStream, nullptr);
+ bool has_next;
+ RetainPtr<IFX_SeekableStream> stream;
+ std::tie(has_next, stream) = m_pFontSource->GetNext();
+ while (has_next) {
+ if (stream)
+ RegisterFaces(stream, nullptr);
+ std::tie(has_next, stream) = m_pFontSource->GetNext();
}
return !m_InstalledFonts.empty();
}
diff --git a/xfa/fgas/font/cfgas_fontmgr.h b/xfa/fgas/font/cfgas_fontmgr.h
index f1e75bad95..351b5d624c 100644
--- a/xfa/fgas/font/cfgas_fontmgr.h
+++ b/xfa/fgas/font/cfgas_fontmgr.h
@@ -11,9 +11,9 @@
#include <map>
#include <memory>
#include <set>
+#include <utility>
#include <vector>
-#include "core/fxcrt/cfx_crtfileaccess.h"
#include "core/fxcrt/cfx_seekablestreamproxy.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/observable.h"
@@ -104,7 +104,7 @@ class CFX_FontSourceEnum_File {
~CFX_FontSourceEnum_File();
bool HasStartPosition();
- RetainPtr<CFX_CRTFileAccess> GetNext();
+ std::pair<bool, RetainPtr<IFX_SeekableStream>> GetNext();
private:
struct HandleParentPath {