summaryrefslogtreecommitdiff
path: root/xfa/fgas/font/cfgas_fontmgr.cpp
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/font/cfgas_fontmgr.cpp
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/font/cfgas_fontmgr.cpp')
-rw-r--r--xfa/fgas/font/cfgas_fontmgr.cpp23
1 files changed, 14 insertions, 9 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();
}