diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-04-23 10:34:49 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-04 20:05:08 +0000 |
commit | 830c9e163d31a9180fadca926b3e1d7dfffb5021 (patch) | |
tree | 1b96d45c67492b297e725932935d96d6efc91f37 /chromium/ui | |
parent | 818d9aed569afd192f6d4f6d9b28b72912df8b93 (diff) | |
download | qtwebengine-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.cc | 23 |
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); } |