diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-04-06 12:27:17 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-04-26 11:00:51 +0200 |
commit | 742e6786aeb500ef9bc850bf84803d5f388e3927 (patch) | |
tree | 0c94833fdeed98f8f6bf300fafb339712c4824b2 /src/core | |
parent | 0f2de1b59bdaae4b9acda10a47698877c8345dc1 (diff) |
Fix navigation to non-local URLs
They are passed in another part of the DropItem object.
Task-number: QTBUG-102192
Pick-to: 6.3 6.2 5.15
Change-Id: If52a88ce2688c25ea0edcc0d1e8f962f2cdd29dd
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 33490d84a..6206d846f 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -1488,8 +1488,10 @@ static QMimeData *mimeDataFromDropData(const content::DropData &dropData) mimeData->setText(toQt(*dropData.text)); if (dropData.html.has_value()) mimeData->setHtml(toQt(*dropData.html)); - if (dropData.url.is_valid()) + if (dropData.url.is_valid()) { mimeData->setUrls(QList<QUrl>() << toQt(dropData.url)); + mimeData->setText(toQt(dropData.url_title)); + } if (!dropData.custom_data.empty()) { base::Pickle pickle; ui::WriteCustomDataToPickle(dropData.custom_data, &pickle); @@ -1614,6 +1616,11 @@ static void fillDropDataFromMimeData(content::DropData *dropData, const QMimeDat } if (!dropData->filenames.empty()) return; + if (mimeData->hasUrls()) { + dropData->url = toGurl(urls.first()); + if (mimeData->hasText()) + dropData->url_title = toString16(mimeData->text()); + } if (mimeData->hasHtml()) dropData->html = toOptionalString16(mimeData->html()); if (mimeData->hasText()) |