48 if (originalMime == newMime)
54 if (originalMime == uriList() && newMime == mozUrl()) {
55 if (data.size() > 1) {
56 const quint8 byte0 = data.at(0);
57 const quint8 byte1 = data.at(1);
59 if ((byte0 == 0xff && byte1 == 0xfe) || (byte0 == 0xfe && byte1 == 0xff)
60 || (byte0 != 0 && byte1 == 0) || (byte0 == 0 && byte1 != 0)) {
62 const QString str = QString::fromUtf16(
63 reinterpret_cast<
const char16_t *>(data.constData()), data.size() / 2);
65 const auto urls = QStringView{str}.split(u'\n');
67 for (
int i = 0; i < urls.size(); i += 2) {
68 const QUrl url(urls.at(i).trimmed().toString());
70 converted += url.toEncoded();
78 QByteArray converted = data;
79 if (converted.endsWith(
'\0'))
201 auto it = m_data.constFind(mimeType);
202 if (it != m_data.constEnd())
205 QString mime = mimeType;
207 if (!m_types.contains(mimeType)) {
208 if (mimeType == plainText() && m_types.contains(utf8Text()))
210 else if (mimeType == uriList() && m_types.contains(mozUrl()))
217 if (qt_safe_pipe(pipefd) == -1) {
218 qWarning(
"QWaylandMimeData: pipe2() failed");
222 m_dataOffer->startReceiving(mime, pipefd[1]);
227 if (readData(pipefd[0], content) != 0) {
228 qWarning(
"QWaylandDataOffer: error reading data for mimeType %s", qPrintable(mimeType));
229 content = QByteArray();
234 content = convertData(mimeType, mime, content);
236 if (mimeType != portalFileTransfer())
237 m_data.insert(mimeType, content);