From 6ed297c5b418f8c9435b656b565cf48e6dcc2836 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 4 Oct 2017 10:20:45 -0400 Subject: 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 Reviewed-by: Ryan Harrison Commit-Queue: dsinclair --- BUILD.gn | 2 -- core/fxcrt/cfx_crtfileaccess.cpp | 17 ----------------- core/fxcrt/cfx_crtfileaccess.h | 28 ---------------------------- xfa/fgas/font/cfgas_fontmgr.cpp | 23 ++++++++++++++--------- xfa/fgas/font/cfgas_fontmgr.h | 4 ++-- 5 files changed, 16 insertions(+), 58 deletions(-) delete mode 100644 core/fxcrt/cfx_crtfileaccess.cpp delete mode 100644 core/fxcrt/cfx_crtfileaccess.h diff --git a/BUILD.gn b/BUILD.gn index 0c6ddaefb8..5464d1c4cf 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -895,8 +895,6 @@ static_library("fxcrt") { "core/fxcrt/cfx_char.h", "core/fxcrt/cfx_checksumcontext.cpp", "core/fxcrt/cfx_checksumcontext.h", - "core/fxcrt/cfx_crtfileaccess.cpp", - "core/fxcrt/cfx_crtfileaccess.h", "core/fxcrt/cfx_decimal.cpp", "core/fxcrt/cfx_decimal.h", "core/fxcrt/cfx_seekablestreamproxy.cpp", diff --git a/core/fxcrt/cfx_crtfileaccess.cpp b/core/fxcrt/cfx_crtfileaccess.cpp deleted file mode 100644 index b6a6a74d1c..0000000000 --- a/core/fxcrt/cfx_crtfileaccess.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2017 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#include "core/fxcrt/cfx_crtfileaccess.h" - -CFX_CRTFileAccess::CFX_CRTFileAccess(const WideStringView& wsPath) - : m_path(wsPath) {} - -CFX_CRTFileAccess::~CFX_CRTFileAccess() {} - -RetainPtr CFX_CRTFileAccess::CreateFileStream( - uint32_t dwModes) { - return IFX_SeekableStream::CreateFromFilename(m_path.c_str(), dwModes); -} diff --git a/core/fxcrt/cfx_crtfileaccess.h b/core/fxcrt/cfx_crtfileaccess.h deleted file mode 100644 index 962a6d122f..0000000000 --- a/core/fxcrt/cfx_crtfileaccess.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2017 PDFium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com - -#ifndef CORE_FXCRT_CFX_CRTFILEACCESS_H_ -#define CORE_FXCRT_CFX_CRTFILEACCESS_H_ - -#include "core/fxcrt/fx_stream.h" -#include "core/fxcrt/fx_string.h" -#include "core/fxcrt/retain_ptr.h" - -class CFX_CRTFileAccess : public Retainable { - public: - template - friend RetainPtr pdfium::MakeRetain(Args&&... args); - - RetainPtr CreateFileStream(uint32_t dwModes); - - private: - explicit CFX_CRTFileAccess(const WideStringView& wsPath); - ~CFX_CRTFileAccess() override; - - WideString m_path; -}; - -#endif // CORE_FXCRT_CFX_CRTFILEACCESS_H_ 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_FontSourceEnum_File::GetNext() { +// +std::pair> +CFX_FontSourceEnum_File::GetNext() { if (m_wsNext.GetLength() == 0) - return nullptr; + return {false, nullptr}; - auto pAccess = pdfium::MakeRetain(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 pFontSource = m_pFontSource->GetNext()) { - RetainPtr pFontStream = - pFontSource->CreateFileStream(FX_FILEMODE_ReadOnly); - if (pFontStream) - RegisterFaces(pFontStream, nullptr); + bool has_next; + RetainPtr 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 #include #include +#include #include -#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 GetNext(); + std::pair> GetNext(); private: struct HandleParentPath { -- cgit v1.2.3