summaryrefslogtreecommitdiff
path: root/fpdfsdk/fsdk_baseform.cpp
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-04-14 11:04:57 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-14 11:04:57 -0700
commit7b1ccf9697692844e764d730079a0f0b98fd6d06 (patch)
tree8e1c0b669a8dd1e06de50454b4e5db5e7c6e1a2a /fpdfsdk/fsdk_baseform.cpp
parent774bdde253b8394aa2ac791e273508ff006d813a (diff)
downloadpdfium-7b1ccf9697692844e764d730079a0f0b98fd6d06.tar.xz
Make CPDF_Dictionary methods take CFX_ByteString arguments
This will help avoid duplicate allocation of CFX_ByteStrings when the caller already has one. It may seem counter-intuitive that requiring the caller to pass an allocated CFX_ByteString rather than a static CFX_ByteStringC would improve the situation, but due to the idiosyncrasies of std::map, the CPDF_Dictionary methods must always do an allocation under the covers which can't be avoided. The changed callers in this CL are places where we would previously demote to CFX_ByteStringC and then allocate a a duplicate CFX_ByteString in the dictionary method. Review URL: https://codereview.chromium.org/1889863002
Diffstat (limited to 'fpdfsdk/fsdk_baseform.cpp')
-rw-r--r--fpdfsdk/fsdk_baseform.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/fpdfsdk/fsdk_baseform.cpp b/fpdfsdk/fsdk_baseform.cpp
index 288a2fe5a3..7487cddede 100644
--- a/fpdfsdk/fsdk_baseform.cpp
+++ b/fpdfsdk/fsdk_baseform.cpp
@@ -461,7 +461,7 @@ FX_BOOL CPDFSDK_Widget::IsWidgetAppearanceValid(
case FIELDTYPE_CHECKBOX:
case FIELDTYPE_RADIOBUTTON:
if (CPDF_Dictionary* pSubDict = psub->AsDictionary()) {
- return !!pSubDict->GetStreamBy(GetAppState().AsStringC());
+ return !!pSubDict->GetStreamBy(GetAppState());
}
return FALSE;
}
@@ -1808,7 +1808,7 @@ void CPDFSDK_Widget::AddImageToAppearance(const CFX_ByteString& sAPType,
ASSERT(pDoc);
CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDictBy("AP");
- CPDF_Stream* pStream = pAPDict->GetStreamBy(sAPType.AsStringC());
+ CPDF_Stream* pStream = pAPDict->GetStreamBy(sAPType);
CPDF_Dictionary* pStreamDict = pStream->GetDict();
CFX_ByteString sImageAlias = "IMG";
@@ -1826,15 +1826,14 @@ void CPDFSDK_Widget::AddImageToAppearance(const CFX_ByteString& sAPType,
if (pStreamResList) {
CPDF_Dictionary* pXObject = new CPDF_Dictionary;
- pXObject->SetAtReference(sImageAlias.AsStringC(), pDoc, pImage);
+ pXObject->SetAtReference(sImageAlias, pDoc, pImage);
pStreamResList->SetAt("XObject", pXObject);
}
}
void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) {
- if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDictBy("AP")) {
- pAPDict->RemoveAt(sAPType.AsStringC());
- }
+ if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDictBy("AP"))
+ pAPDict->RemoveAt(sAPType);
}
FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type,