summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_adapter.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-04-06 12:27:17 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-04-26 18:41:18 +0000
commitb596a82f449bf4b49c4809f271d5dd69b7902a95 (patch)
tree3e0cc459b8276e826d9b67c5893d0dead95c3302 /src/core/web_contents_adapter.cpp
parentb32168cb4d9ec461a497b727798cab44126993d3 (diff)
Fix navigation to non-local URLs
They are passed in another part of the DropItem object. Task-number: QTBUG-102192 Change-Id: If52a88ce2688c25ea0edcc0d1e8f962f2cdd29dd Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> (cherry picked from commit 742e6786aeb500ef9bc850bf84803d5f388e3927) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/core/web_contents_adapter.cpp')
-rw-r--r--src/core/web_contents_adapter.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 6f35513b7..0bebf539d 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -1490,8 +1490,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);
@@ -1616,6 +1618,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())