diff options
Diffstat (limited to 'src/core/clipboard_qt.cpp')
-rw-r--r-- | src/core/clipboard_qt.cpp | 88 |
1 files changed, 51 insertions, 37 deletions
diff --git a/src/core/clipboard_qt.cpp b/src/core/clipboard_qt.cpp index d7fa225cd..f4a14570a 100644 --- a/src/core/clipboard_qt.cpp +++ b/src/core/clipboard_qt.cpp @@ -42,15 +42,15 @@ // found in the LICENSE.Chromium file. #include "clipboard_qt.h" -#include "ui/base/clipboard/clipboard.h" -#include "ui/base/clipboard/clipboard_constants.h" -#include "ui/base/clipboard/clipboard_format_type.h" - +#include "clipboard_change_observer.h" #include "type_conversion.h" #include "base/logging.h" #include "third_party/skia/include/core/SkBitmap.h" #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_format_type.h" #include <QGuiApplication> #include <QImage> @@ -91,12 +91,13 @@ QMimeData *getUncommittedData() return uncommittedData.data(); } -} // namespace +} // namespace namespace ui { // Factory function -Clipboard* Clipboard::Create() { +Clipboard *Clipboard::Create() +{ return new ClipboardQt; } @@ -104,7 +105,7 @@ Clipboard* Clipboard::Create() { namespace QtWebEngineCore { -void ClipboardQt::WriteObjects(ui::ClipboardType type, const ObjectMap& objects) +void ClipboardQt::WriteObjects(ui::ClipboardType type, const ObjectMap &objects) { DCHECK(CalledOnValidThread()); DCHECK(IsSupportedClipboardType(type)); @@ -114,7 +115,9 @@ void ClipboardQt::WriteObjects(ui::ClipboardType type, const ObjectMap& objects) // Commit the accumulated data. if (uncommittedData) - QGuiApplication::clipboard()->setMimeData(uncommittedData.take(), type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + QGuiApplication::clipboard()->setMimeData(uncommittedData.take(), + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard + : QClipboard::Selection); if (type == ui::CLIPBOARD_TYPE_COPY_PASTE && IsSupportedClipboardType(ui::CLIPBOARD_TYPE_SELECTION)) { ObjectMap::const_iterator text_iter = objects.find(CBF_TEXT); @@ -126,17 +129,17 @@ void ClipboardQt::WriteObjects(ui::ClipboardType type, const ObjectMap& objects) } } -void ClipboardQt::WriteText(const char* text_data, size_t text_len) +void ClipboardQt::WriteText(const char *text_data, size_t text_len) { getUncommittedData()->setText(QString::fromUtf8(text_data, text_len)); } -void ClipboardQt::WriteHTML(const char* markup_data, size_t markup_len, const char* url_data, size_t url_len) +void ClipboardQt::WriteHTML(const char *markup_data, size_t markup_len, const char *url_data, size_t url_len) { getUncommittedData()->setHtml(QString::fromUtf8(markup_data, markup_len)); } -void ClipboardQt::WriteRTF(const char* rtf_data, size_t data_len) +void ClipboardQt::WriteRTF(const char *rtf_data, size_t data_len) { getUncommittedData()->setData(QString::fromLatin1(ui::kMimeTypeRTF), QByteArray(rtf_data, data_len)); } @@ -146,12 +149,12 @@ void ClipboardQt::WriteWebSmartPaste() getUncommittedData()->setData(QString::fromLatin1(ui::kMimeTypeWebkitSmartPaste), QByteArray()); } -void ClipboardQt::WriteBitmap(const SkBitmap& bitmap) +void ClipboardQt::WriteBitmap(const SkBitmap &bitmap) { getUncommittedData()->setImageData(toQImage(bitmap).copy()); } -void ClipboardQt::WriteBookmark(const char* title_data, size_t title_len, const char* url_data, size_t url_len) +void ClipboardQt::WriteBookmark(const char *title_data, size_t title_len, const char *url_data, size_t url_len) { // FIXME: Untested, seems to be used only for drag-n-drop. // Write as a mozilla url (UTF16: URL, newline, title). @@ -159,29 +162,32 @@ void ClipboardQt::WriteBookmark(const char* title_data, size_t title_len, const QString title = QString::fromUtf8(title_data, title_len); QByteArray data; - data.append(reinterpret_cast<const char*>(url.utf16()), url.size() * 2); + data.append(reinterpret_cast<const char *>(url.utf16()), url.size() * 2); data.append('\n'); - data.append(reinterpret_cast<const char*>(title.utf16()), title.size() * 2); + data.append(reinterpret_cast<const char *>(title.utf16()), title.size() * 2); getUncommittedData()->setData(QString::fromLatin1(ui::kMimeTypeMozillaURL), data); } -void ClipboardQt::WriteData(const ui::ClipboardFormatType& format, const char* data_data, size_t data_len) +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)); } -bool ClipboardQt::IsFormatAvailable(const ui::ClipboardFormatType& format, ui::ClipboardType type) const +bool ClipboardQt::IsFormatAvailable(const ui::ClipboardFormatType &format, ui::ClipboardType type) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); return mimeData && mimeData->hasFormat(QString::fromStdString(format.ToString())); } void ClipboardQt::Clear(ui::ClipboardType type) { - QGuiApplication::clipboard()->clear(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + QGuiApplication::clipboard()->clear(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard + : QClipboard::Selection); } -void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::string16>* types, bool* contains_filenames) const +void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::string16> *types, + bool *contains_filenames) const { if (!types || !contains_filenames) { NOTREACHED(); @@ -189,7 +195,8 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s } types->clear(); - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (!mimeData) return; if (mimeData->hasImage() && !mimeData->formats().contains(QStringLiteral("image/png"))) @@ -203,22 +210,24 @@ void ClipboardQt::ReadAvailableTypes(ui::ClipboardType type, std::vector<base::s ui::ReadCustomDataTypes(customData.constData(), customData.size(), types); } - -void ClipboardQt::ReadText(ui::ClipboardType type, base::string16* result) const +void ClipboardQt::ReadText(ui::ClipboardType type, base::string16 *result) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (mimeData) *result = toString16(mimeData->text()); } -void ClipboardQt::ReadAsciiText(ui::ClipboardType type, std::string* result) const +void ClipboardQt::ReadAsciiText(ui::ClipboardType type, std::string *result) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (mimeData) *result = mimeData->text().toStdString(); } -void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16* markup, std::string* src_url, uint32_t* fragment_start, uint32_t* fragment_end) const +void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16 *markup, std::string *src_url, + uint32_t *fragment_start, uint32_t *fragment_end) const { markup->clear(); if (src_url) @@ -226,16 +235,18 @@ void ClipboardQt::ReadHTML(ui::ClipboardType type, base::string16* markup, std:: *fragment_start = 0; *fragment_end = 0; - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (!mimeData) return; *markup = toString16(mimeData->html()); *fragment_end = static_cast<uint32_t>(markup->length()); } -void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string* result) const +void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string *result) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (!mimeData) return; const QByteArray byteArray = mimeData->data(QString::fromLatin1(ui::kMimeTypeRTF)); @@ -244,7 +255,8 @@ void ClipboardQt::ReadRTF(ui::ClipboardType type, std::string* result) const SkBitmap ClipboardQt::ReadImage(ui::ClipboardType type) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (!mimeData) return SkBitmap(); QImage image = qvariant_cast<QImage>(mimeData->imageData()); @@ -267,21 +279,22 @@ SkBitmap ClipboardQt::ReadImage(ui::ClipboardType type) const return bitmap; } -void ClipboardQt::ReadCustomData(ui::ClipboardType clipboard_type, const base::string16& type, base::string16* result) const +void ClipboardQt::ReadCustomData(ui::ClipboardType clipboard_type, const base::string16 &type, base::string16 *result) const { - const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(clipboard_type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData( + clipboard_type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); if (!mimeData) return; const QByteArray customData = mimeData->data(QString::fromLatin1(ui::kMimeTypeWebCustomData)); ui::ReadCustomDataForType(customData.constData(), customData.size(), type, result); } -void ClipboardQt::ReadBookmark(base::string16* title, std::string* url) const +void ClipboardQt::ReadBookmark(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, std::string *result) const { const QMimeData *mimeData = QGuiApplication::clipboard()->mimeData(); if (!mimeData) @@ -292,7 +305,8 @@ void ClipboardQt::ReadData(const ui::ClipboardFormatType& format, std::string* r uint64_t ClipboardQt::GetSequenceNumber(ui::ClipboardType type) const { - return clipboardChangeObserver()->getSequenceNumber(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard : QClipboard::Selection); + return clipboardChangeObserver()->getSequenceNumber(type == ui::CLIPBOARD_TYPE_COPY_PASTE ? QClipboard::Clipboard + : QClipboard::Selection); } -} // namespace QtWebEngineCore +} // namespace QtWebEngineCore |