diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-06-03 16:01:24 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-09 15:19:07 +0200 |
commit | cd61343ceb4a3de8ce16082917a2f197b2481d08 (patch) | |
tree | ae88767edf6b3dc07b8dcf54c97a779eb2812768 /src/core/clipboard_qt.cpp | |
parent | fc3893ea80296bd17e1797d5caf4479e0be4afd1 (diff) |
Chromium 81-based adaptations
Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/clipboard_qt.cpp')
-rw-r--r-- | src/core/clipboard_qt.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp index c3b25ff63..f9bc0bc74 100644 --- a/src/core/clipboard_qt.cpp +++ b/src/core/clipboard_qt.cpp @@ -46,6 +46,7 @@ #include "type_conversion.h" #include "base/logging.h" +#include "base/strings/utf_string_conversions.h" #include "third_party/skia/include/core/SkBitmap.h" #include "ui/base/clipboard/custom_data_helper.h" #include "ui/base/clipboard/clipboard.h" @@ -184,14 +185,14 @@ void ClipboardQt::WriteBookmark(const char *title_data, size_t title_len, const void ClipboardQt::WriteData(const ui::ClipboardFormatType &format, const char *data_data, size_t data_len) { - getUncommittedData()->setData(QString::fromStdString(format.ToString()), QByteArray(data_data, data_len)); + getUncommittedData()->setData(QString::fromStdString(format.GetName()), QByteArray(data_data, data_len)); } bool ClipboardQt::IsFormatAvailable(const ui::ClipboardFormatType &format, ui::ClipboardBuffer type) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); - return mimeData && mimeData->hasFormat(QString::fromStdString(format.ToString())); + return mimeData && mimeData->hasFormat(QString::fromStdString(format.GetName())); } void ClipboardQt::Clear(ui::ClipboardBuffer type) @@ -313,7 +314,7 @@ void ClipboardQt::ReadData(const ui::ClipboardFormatType &format, std::string *r const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(); if (!mimeData) return; - const QByteArray byteArray = mimeData->data(QString::fromStdString(format.ToString())); + const QByteArray byteArray = mimeData->data(QString::fromStdString(format.GetName())); *result = std::string(byteArray.constData(), byteArray.length()); } @@ -323,4 +324,20 @@ uint64_t ClipboardQt::GetSequenceNumber(ui::ClipboardBuffer type) const : QClipboard::Selection); } +std::vector<base::string16> ClipboardQt::ReadAvailablePlatformSpecificFormatNames(ui::ClipboardBuffer buffer) const +{ + // based on ClipboardAura + std::vector<base::string16> types; + if (IsFormatAvailable(ui::ClipboardFormatType::GetPlainTextType(), buffer)) + types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetPlainTextType().GetName())); + if (IsFormatAvailable(ui::ClipboardFormatType::GetHtmlType(), buffer)) + types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetHtmlType().GetName())); + if (IsFormatAvailable(ui::ClipboardFormatType::GetRtfType(), buffer)) + types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetRtfType().GetName())); + if (IsFormatAvailable(ui::ClipboardFormatType::GetBitmapType(), buffer)) + types.push_back(base::UTF8ToUTF16(ui::kMimeTypePNG)); + + return types; +} + } // namespace QtWebEngineCore |