diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-04-03 19:10:51 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-03 19:10:51 +0000 |
commit | 4c22dd5690cdec725389055bb7c07c300a4b6fe4 (patch) | |
tree | 2b4ead266695d206172fbf11c63274286c496496 /core/fpdfdoc/cpdf_defaultappearance.cpp | |
parent | 232b918d1f0faec230652f4097b834257a7dbb27 (diff) | |
download | pdfium-4c22dd5690cdec725389055bb7c07c300a4b6fe4.tar.xz |
Use Optional to determine if appearance stream as fontchromium/3388
This CL changes the CPDF_DefaultAppearance code to remove the HasFont
method and change GetFont to return an Optional. This forces all the
call sites to verify a font was returned correctly and removes the need
for the duplicate appearance stream parsing.
Bug: chromium:827430
Change-Id: If09e0a7d3f7dd63ad77b97a5a388127e4a02da61
Reviewed-on: https://pdfium-review.googlesource.com/29610
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'core/fpdfdoc/cpdf_defaultappearance.cpp')
-rw-r--r-- | core/fpdfdoc/cpdf_defaultappearance.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/core/fpdfdoc/cpdf_defaultappearance.cpp b/core/fpdfdoc/cpdf_defaultappearance.cpp index add1c26498..161f90e014 100644 --- a/core/fpdfdoc/cpdf_defaultappearance.cpp +++ b/core/fpdfdoc/cpdf_defaultappearance.cpp @@ -53,18 +53,10 @@ bool FindTagParamFromStart(CPDF_SimpleParser* parser, } // namespace -bool CPDF_DefaultAppearance::HasFont() { - if (m_csDA.IsEmpty()) - return false; - - CPDF_SimpleParser syntax(m_csDA.AsStringView()); - return FindTagParamFromStart(&syntax, "Tf", 2); -} - -ByteString CPDF_DefaultAppearance::GetFont(float* fFontSize) { +Optional<ByteString> CPDF_DefaultAppearance::GetFont(float* fFontSize) { *fFontSize = 0.0f; if (m_csDA.IsEmpty()) - return ByteString(); + return {}; ByteString csFontNameTag; CPDF_SimpleParser syntax(m_csDA.AsStringView()); @@ -73,7 +65,7 @@ ByteString CPDF_DefaultAppearance::GetFont(float* fFontSize) { csFontNameTag.Delete(0, 1); *fFontSize = FX_atof(syntax.GetWord()); } - return PDF_NameDecode(csFontNameTag.AsStringView()); + return {PDF_NameDecode(csFontNameTag.AsStringView())}; } bool CPDF_DefaultAppearance::HasColor() { |