summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpdf_defaultappearance.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-04-03 19:10:51 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-04-03 19:10:51 +0000
commit4c22dd5690cdec725389055bb7c07c300a4b6fe4 (patch)
tree2b4ead266695d206172fbf11c63274286c496496 /core/fpdfdoc/cpdf_defaultappearance.cpp
parent232b918d1f0faec230652f4097b834257a7dbb27 (diff)
downloadpdfium-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.cpp14
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() {