diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-06 09:16:15 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-01-13 16:12:06 +0100 |
commit | c9d902ca6ca3b1aa2e2762329d18c226d26520af (patch) | |
tree | 199fdd7b3f0d0ad21597fafa086729dc2e75d4e1 /src/core/clipboard_qt.cpp | |
parent | 7869ec5823da36a3ce33b379d3d664204756cad5 (diff) |
Adaptations for Chromium 87
Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e
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 | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp index e353ebc7c..65e3e90ac 100644 --- a/src/core/clipboard_qt.cpp +++ b/src/core/clipboard_qt.cpp @@ -51,6 +51,7 @@ #include "ui/base/clipboard/custom_data_helper.h" #include "ui/base/clipboard/clipboard.h" #include "ui/base/clipboard/clipboard_constants.h" +#include "ui/base/clipboard/clipboard_data_endpoint.h" #include "ui/base/clipboard/clipboard_format_type.h" #include <QGuiApplication> @@ -326,6 +327,25 @@ void ClipboardQt::ReadBookmark(const ui::ClipboardDataEndpoint *data_dst, base:: NOTIMPLEMENTED(); } +void ClipboardQt::ReadSvg(ui::ClipboardBuffer clipboard_type, + const ui::ClipboardDataEndpoint *, + base::string16 *result) const +{ + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + clipboard_type == ui::ClipboardBuffer::kCopyPaste ? QClipboard::Clipboard : QClipboard::Selection); + if (!mimeData) + return; + const QByteArray svgData = mimeData->data(QString::fromLatin1(ui::kMimeTypeSvg)); + if (!svgData.isEmpty()) + *result = toString16(QString::fromUtf8(svgData)); +} + +void ClipboardQt::WriteSvg(const char *svg_data, size_t data_len) +{ + getUncommittedData()->setData(QString::fromLatin1(ui::kMimeTypeSvg), + QByteArray(svg_data, data_len)); +} + void ClipboardQt::ReadData(const ui::ClipboardFormatType &format, const ui::ClipboardDataEndpoint *data_dst, std::string *result) const @@ -343,10 +363,6 @@ uint64_t ClipboardQt::GetSequenceNumber(ui::ClipboardBuffer type) const : QClipboard::Selection); } -void ClipboardQt::SetClipboardDlpController(std::unique_ptr<ui::ClipboardDlpController>) -{ - NOTIMPLEMENTED(); -} #if defined(USE_OZONE) bool ClipboardQt::IsSelectionBufferAvailable() const @@ -367,6 +383,8 @@ std::vector<base::string16> ClipboardQt::ReadAvailablePlatformSpecificFormatName types.push_back(base::UTF8ToUTF16(ui::ClipboardFormatType::GetRtfType().GetName())); if (IsFormatAvailable(ui::ClipboardFormatType::GetBitmapType(), buffer, data_dst)) types.push_back(base::UTF8ToUTF16(ui::kMimeTypePNG)); + if (IsFormatAvailable(ui::ClipboardFormatType::GetSvgType(), buffer, data_dst)) + types.push_back(base::UTF8ToUTF16(ui::kMimeTypeSvg)); return types; } |