diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-06-19 17:33:32 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-19 17:33:32 +0000 |
commit | e005dc33c31a2e701e1af3a0a3e5775cabbf1ddd (patch) | |
tree | 6cf7623219078464910ee438311e24121c8af2a0 /fpdfsdk | |
parent | ed1c58049f0c164969946b6ad0ff06d952ab1949 (diff) | |
download | pdfium-e005dc33c31a2e701e1af3a0a3e5775cabbf1ddd.tar.xz |
Move fxcrt::{Byte,Wide}Strings with std::move().chromium/3466
Remove some string copies in barcode that were noticed whilst
looking for moves.
Change-Id: Ieda34d00f633576ba1f0dca283dcdabfb36f236c
Reviewed-on: https://pdfium-review.googlesource.com/35410
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/cpdfsdk_interform.cpp | 5 | ||||
-rw-r--r-- | fpdfsdk/fpdf_flatten.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp | 30 |
3 files changed, 19 insertions, 18 deletions
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp index 1e247465c8..379a8b999d 100644 --- a/fpdfsdk/cpdfsdk_interform.cpp +++ b/fpdfsdk/cpdfsdk_interform.cpp @@ -10,6 +10,7 @@ #include <memory> #include <sstream> #include <string> +#include <utility> #include <vector> #include "core/fpdfapi/page/cpdf_page.h" @@ -322,13 +323,11 @@ WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField, WideString script = action.GetJavaScript(); if (!script.IsEmpty()) { WideString Value = sValue; - IJS_Runtime::ScopedEventContext pContext(pRuntime); pContext->OnField_Format(pFormField, Value, true); - Optional<IJS_Runtime::JS_Error> err = pContext->RunScript(script); if (!err) { - sValue = Value; + sValue = std::move(Value); bFormatted = true; } } diff --git a/fpdfsdk/fpdf_flatten.cpp b/fpdfsdk/fpdf_flatten.cpp index 4b9e1f8a9d..b9e29be8b4 100644 --- a/fpdfsdk/fpdf_flatten.cpp +++ b/fpdfsdk/fpdf_flatten.cpp @@ -299,7 +299,7 @@ FPDF_EXPORT int FPDF_CALLCONV FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { while (i < INT_MAX) { ByteString sKey = ByteString::Format("FFT%d", i); if (!pPageXObject->KeyExist(sKey)) { - key = sKey; + key = std::move(sKey); break; } ++i; diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp index faa2fa5e42..386ea95f5e 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp +++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp @@ -7,6 +7,7 @@ #include "fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h" #include <memory> +#include <utility> #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_stream_acc.h" @@ -848,27 +849,28 @@ bool CPDFXFA_DocEnvironment::MailToInfo(WideString& csURL, return false; auto pos = srcURL.Find(L'?'); - WideString tmp; - if (!pos.has_value()) { - pos = srcURL.Find(L'@'); - if (!pos.has_value()) - return false; - tmp = srcURL.Right(csURL.GetLength() - 7); - } else { - tmp = srcURL.Left(pos.value()); - tmp = tmp.Right(tmp.GetLength() - 7); - } - tmp.Trim(); + { + WideString tmp; + if (!pos.has_value()) { + pos = srcURL.Find(L'@'); + if (!pos.has_value()) + return false; - csToAddress = tmp; + tmp = srcURL.Right(csURL.GetLength() - 7); + } else { + tmp = srcURL.Left(pos.value()); + tmp = tmp.Right(tmp.GetLength() - 7); + } + tmp.Trim(); + csToAddress = std::move(tmp); + } srcURL = srcURL.Right(srcURL.GetLength() - (pos.value() + 1)); while (!srcURL.IsEmpty()) { srcURL.Trim(); pos = srcURL.Find(L'&'); - - tmp = (!pos.has_value()) ? srcURL : srcURL.Left(pos.value()); + WideString tmp = (!pos.has_value()) ? srcURL : srcURL.Left(pos.value()); tmp.Trim(); if (tmp.GetLength() >= 3 && tmp.Left(3).CompareNoCase(L"cc=") == 0) { tmp = tmp.Right(tmp.GetLength() - 3); |