diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-10-04 10:20:45 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-10-04 17:33:06 +0000 |
commit | 6ed297c5b418f8c9435b656b565cf48e6dcc2836 (patch) | |
tree | ddf6a61df6e2869b065edc1245ad57c0ff71f2ad /xfa | |
parent | adb19b0b11ab16a406d23797564fc0ec3a5da245 (diff) | |
download | pdfium-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')
-rw-r--r-- | xfa/fgas/font/cfgas_fontmgr.cpp | 23 | ||||
-rw-r--r-- | xfa/fgas/font/cfgas_fontmgr.h | 4 |
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 { |