diff options
author | tsepez <tsepez@chromium.org> | 2016-04-14 11:04:57 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-14 11:04:57 -0700 |
commit | 7b1ccf9697692844e764d730079a0f0b98fd6d06 (patch) | |
tree | 8e1c0b669a8dd1e06de50454b4e5db5e7c6e1a2a /core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp | |
parent | 774bdde253b8394aa2ac791e273508ff006d813a (diff) | |
download | pdfium-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 'core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp index 3d0947d643..62f1357572 100644 --- a/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp +++ b/core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp @@ -134,7 +134,7 @@ class PDFObjectsTest : public testing::Test { return false; for (CPDF_Dictionary::const_iterator it = dict1->begin(); it != dict1->end(); ++it) { - if (!Equal(it->second, dict2->GetObjectBy(it->first.AsStringC()))) + if (!Equal(it->second, dict2->GetObjectBy(it->first))) return false; } return true; @@ -556,7 +556,7 @@ TEST(PDFArrayTest, GetTypeAt) { char buf[33]; key.append(FXSYS_itoa(j, buf, 10)); int value = j + 200; - vals[i]->SetAt(CFX_ByteStringC(key.c_str()), new CPDF_Number(value)); + vals[i]->SetAt(key.c_str(), new CPDF_Number(value)); } arr->InsertAt(i, vals[i]); } @@ -583,7 +583,7 @@ TEST(PDFArrayTest, GetTypeAt) { char buf[33]; key.append(FXSYS_itoa(j, buf, 10)); int value = j + 200; - vals[i]->SetAt(CFX_ByteStringC(key.c_str()), new CPDF_Number(value)); + vals[i]->SetAt(key.c_str(), new CPDF_Number(value)); } uint8_t content[] = "content: this is a stream"; size_t data_size = FX_ArraySize(content); |