diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-22 14:18:16 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-01-13 16:11:59 +0100 |
commit | 7869ec5823da36a3ce33b379d3d664204756cad5 (patch) | |
tree | 45b692a4ed986b0a8932f2f6a183ed9408439e33 /src/core/clipboard_qt.cpp | |
parent | ffb13e6927ae14a7185bb45ee0dfd03973e5ebb0 (diff) |
Adaptations for Chromium 86
Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core/clipboard_qt.cpp')
-rw-r--r-- | src/core/clipboard_qt.cpp | 69 |
1 files changed, 51 insertions, 18 deletions
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp index f47aa8b6c..e353ebc7c 100644 --- a/src/core/clipboard_qt.cpp +++ b/src/core/clipboard_qt.cpp @@ -106,7 +106,7 @@ Clipboard *Clipboard::Create() namespace QtWebEngineCore { -void ClipboardQt::WritePortableRepresentations(ui::ClipboardBuffer type, const ObjectMap &objects) +void ClipboardQt::WritePortableRepresentations(ui::ClipboardBuffer type, const ObjectMap &objects, std::unique_ptr<ui::ClipboardDataEndpoint> data_src) { DCHECK(CalledOnValidThread()); DCHECK(IsSupportedClipboardBuffer(type)); @@ -125,12 +125,15 @@ void ClipboardQt::WritePortableRepresentations(ui::ClipboardBuffer type, const O if (text_iter != objects.end()) { // Copy text and SourceTag to the selection clipboard. WritePortableRepresentations(ui::ClipboardBuffer::kSelection, - ObjectMap(text_iter, text_iter + 1)); + ObjectMap(text_iter, text_iter + 1), + std::move(data_src)); } } } -void ClipboardQt::WritePlatformRepresentations(ui::ClipboardBuffer buffer, std::vector<ui::Clipboard::PlatformRepresentation> platform_representations) +void ClipboardQt::WritePlatformRepresentations(ui::ClipboardBuffer buffer, + std::vector<ui::Clipboard::PlatformRepresentation> platform_representations, + std::unique_ptr<ui::ClipboardDataEndpoint> data_src) { DCHECK(CalledOnValidThread()); DCHECK(IsSupportedClipboardBuffer(buffer)); @@ -188,7 +191,9 @@ void ClipboardQt::WriteData(const ui::ClipboardFormatType &format, const char *d getUncommittedData()->setData(QString::fromStdString(format.GetName()), QByteArray(data_data, data_len)); } -bool ClipboardQt::IsFormatAvailable(const ui::ClipboardFormatType &format, ui::ClipboardBuffer type) const +bool ClipboardQt::IsFormatAvailable(const ui::ClipboardFormatType &format, + ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -201,7 +206,9 @@ void ClipboardQt::Clear(ui::ClipboardBuffer type) : QClipboard::Selection); } -void ClipboardQt::ReadAvailableTypes(ui::ClipboardBuffer type, std::vector<base::string16> *types) const +void ClipboardQt::ReadAvailableTypes(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + std::vector<base::string16> *types) const { if (!types) { NOTREACHED(); @@ -223,7 +230,9 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardBuffer type, std::vector<base: ui::ReadCustomDataTypes(customData.constData(), customData.size(), types); } -void ClipboardQt::ReadText(ui::ClipboardBuffer type, base::string16 *result) const +void ClipboardQt::ReadText(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + base::string16 *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -231,7 +240,9 @@ void ClipboardQt::ReadText(ui::ClipboardBuffer type, base::string16 *result) con *result = toString16(mimeData->text()); } -void ClipboardQt::ReadAsciiText(ui::ClipboardBuffer type, std::string *result) const +void ClipboardQt::ReadAsciiText(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + std::string *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -239,7 +250,9 @@ void ClipboardQt::ReadAsciiText(ui::ClipboardBuffer type, std::string *result) c *result = mimeData->text().toStdString(); } -void ClipboardQt::ReadHTML(ui::ClipboardBuffer type, base::string16 *markup, std::string *src_url, +void ClipboardQt::ReadHTML(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + base::string16 *markup, std::string *src_url, uint32_t *fragment_start, uint32_t *fragment_end) const { markup->clear(); @@ -256,7 +269,9 @@ void ClipboardQt::ReadHTML(ui::ClipboardBuffer type, base::string16 *markup, std *fragment_end = static_cast<uint32_t>(markup->length()); } -void ClipboardQt::ReadRTF(ui::ClipboardBuffer type, std::string *result) const +void ClipboardQt::ReadRTF(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + std::string *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -266,7 +281,9 @@ void ClipboardQt::ReadRTF(ui::ClipboardBuffer type, std::string *result) const *result = std::string(byteArray.constData(), byteArray.length()); } -void ClipboardQt::ReadImage(ui::ClipboardBuffer type, ReadImageCallback callback) const +void ClipboardQt::ReadImage(ui::ClipboardBuffer type, + const ui::ClipboardDataEndpoint *data_dst, + ReadImageCallback callback) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -292,7 +309,9 @@ void ClipboardQt::ReadImage(ui::ClipboardBuffer type, ReadImageCallback callback return std::move(callback).Run(bitmap); } -void ClipboardQt::ReadCustomData(ui::ClipboardBuffer clipboard_type, const base::string16 &type, base::string16 *result) const +void ClipboardQt::ReadCustomData(ui::ClipboardBuffer clipboard_type, const base::string16 &type, + const ui::ClipboardDataEndpoint *data_dst, + base::string16 *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( clipboard_type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); @@ -302,12 +321,14 @@ void ClipboardQt::ReadCustomData(ui::ClipboardBuffer clipboard_type, const base: ui::ReadCustomDataForType(customData.constData(), customData.size(), type, result); } -void ClipboardQt::ReadBookmark(base::string16 *title, std::string *url) const +void ClipboardQt::ReadBookmark(const ui::ClipboardDataEndpoint *data_dst, base::string16 *title, std::string *url) const { NOTIMPLEMENTED(); } -void ClipboardQt::ReadData(const ui::ClipboardFormatType &format, std::string *result) const +void ClipboardQt::ReadData(const ui::ClipboardFormatType &format, + const ui::ClipboardDataEndpoint *data_dst, + std::string *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(); if (!mimeData) @@ -322,17 +343,29 @@ uint64_t ClipboardQt::GetSequenceNumber(ui::ClipboardBuffer type) const : QClipboard::Selection); } -std::vector<base::string16> ClipboardQt::ReadAvailablePlatformSpecificFormatNames(ui::ClipboardBuffer buffer) const +void ClipboardQt::SetClipboardDlpController(std::unique_ptr<ui::ClipboardDlpController>) +{ + NOTIMPLEMENTED(); +} + +#if defined(USE_OZONE) +bool ClipboardQt::IsSelectionBufferAvailable() const +{ + return QGuiApplication::clipboard()->supportsSelection(); +} +#endif + +std::vector<base::string16> ClipboardQt::ReadAvailablePlatformSpecificFormatNames(ui::ClipboardBuffer buffer, const ui::ClipboardDataEndpoint *data_dst) const { // based on ClipboardAura std::vector<base::string16> types; - if (IsFormatAvailable(ui::ClipboardFormatType::GetPlainTextType(), buffer)) + if (IsFormatAvailable(ui::ClipboardFormatType::GetPlainTextType(), buffer, data_dst)) types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetPlainTextType().GetName())); - if (IsFormatAvailable(ui::ClipboardFormatType::GetHtmlType(), buffer)) + if (IsFormatAvailable(ui::ClipboardFormatType::GetHtmlType(), buffer, data_dst)) types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetHtmlType().GetName())); - if (IsFormatAvailable(ui::ClipboardFormatType::GetRtfType(), buffer)) + if (IsFormatAvailable(ui::ClipboardFormatType::GetRtfType(), buffer, data_dst)) types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetRtfType().GetName())); - if (IsFormatAvailable(ui::ClipboardFormatType::GetBitmapType(), buffer)) + if (IsFormatAvailable(ui::ClipboardFormatType::GetBitmapType(), buffer, data_dst)) types.push_back(base::UTF8ToUTF16(ui::kMimeTypePNG)); return types; |