summaryrefslogtreecommitdiff
path: root/chromium/ui
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-04-23 10:34:49 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-05-04 20:05:08 +0000
commit830c9e163d31a9180fadca926b3e1d7dfffb5021 (patch)
tree1b96d45c67492b297e725932935d96d6efc91f37 /chromium/ui
parent818d9aed569afd192f6d4f6d9b28b72912df8b93 (diff)
downloadqtwebengine-chromium-830c9e163d31a9180fadca926b3e1d7dfffb5021.tar.gz
BASELINE: Update Chromium to 65.0.3325.230
Change-Id: Ied18ccfc9872b6a5c441218dec17debf93732ea1 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/ui')
-rw-r--r--chromium/ui/base/clipboard/clipboard_win.cc23
1 files changed, 12 insertions, 11 deletions
diff --git a/chromium/ui/base/clipboard/clipboard_win.cc b/chromium/ui/base/clipboard/clipboard_win.cc
index 3757fd10986..e49dd8c8127 100644
--- a/chromium/ui/base/clipboard/clipboard_win.cc
+++ b/chromium/ui/base/clipboard/clipboard_win.cc
@@ -208,12 +208,13 @@ void FreeData(unsigned int format, HANDLE data) {
}
template <typename StringType>
-void TrimTrailingNulls(StringType* result) {
- // Text copied to the clipboard may explicitly contain trailing null
- // characters that should be ignored, depending on the application that does
- // the copying.
- while (!result->empty() && result->back() == 0)
- result->pop_back();
+void TrimAfterNull(StringType* result) {
+ // Text copied to the clipboard may explicitly contain null characters that
+ // should be ignored, depending on the application that does the copying.
+ constexpr typename StringType::value_type kNull = 0;
+ size_t pos = result->find_first_of(kNull);
+ if (pos != StringType::npos)
+ result->resize(pos);
}
} // namespace
@@ -505,7 +506,7 @@ void ClipboardWin::ReadText(ClipboardType type, base::string16* result) const {
result->assign(static_cast<const base::char16*>(::GlobalLock(data)),
::GlobalSize(data) / sizeof(base::char16));
::GlobalUnlock(data);
- TrimTrailingNulls(result);
+ TrimAfterNull(result);
}
void ClipboardWin::ReadAsciiText(ClipboardType type,
@@ -530,7 +531,7 @@ void ClipboardWin::ReadAsciiText(ClipboardType type,
result->assign(static_cast<const char*>(::GlobalLock(data)),
::GlobalSize(data));
::GlobalUnlock(data);
- TrimTrailingNulls(result);
+ TrimAfterNull(result);
}
void ClipboardWin::ReadHTML(ClipboardType type,
@@ -560,7 +561,7 @@ void ClipboardWin::ReadHTML(ClipboardType type,
std::string cf_html(static_cast<const char*>(::GlobalLock(data)),
::GlobalSize(data));
::GlobalUnlock(data);
- TrimTrailingNulls(&cf_html);
+ TrimAfterNull(&cf_html);
size_t html_start = std::string::npos;
size_t start_index = std::string::npos;
@@ -593,7 +594,7 @@ void ClipboardWin::ReadRTF(ClipboardType type, std::string* result) const {
DCHECK_EQ(type, CLIPBOARD_TYPE_COPY_PASTE);
ReadData(GetRtfFormatType(), result);
- TrimTrailingNulls(result);
+ TrimAfterNull(result);
}
SkBitmap ClipboardWin::ReadImage(ClipboardType type) const {
@@ -716,7 +717,7 @@ void ClipboardWin::ReadBookmark(base::string16* title, std::string* url) const {
base::string16 bookmark(static_cast<const base::char16*>(::GlobalLock(data)),
::GlobalSize(data) / sizeof(base::char16));
::GlobalUnlock(data);
- TrimTrailingNulls(&bookmark);
+ TrimAfterNull(&bookmark);
ParseBookmarkClipboardFormat(bookmark, title, url);
}