summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-18 12:59:54 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-01-18 13:02:22 +0100
commitc2447a308882ba3691d66b2c28df197f571518c7 (patch)
treec6535d8e038a517f06ddbef9fee649412555b8ae /src/core
parentb63a932bbe1eb2bdf2584e44378ac3fab243320c (diff)
parent42c6033724e2b5a54702d626c57806e53f163c62 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Diffstat (limited to 'src/core')
-rw-r--r--src/core/config/linux.pri4
-rw-r--r--src/core/download_manager_delegate_qt.cpp2
-rw-r--r--src/core/favicon_manager.cpp4
-rw-r--r--src/core/web_contents_adapter.cpp18
-rw-r--r--src/core/web_contents_view_qt.cpp7
-rw-r--r--src/core/web_engine_settings.cpp5
6 files changed, 30 insertions, 10 deletions
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index 59417997a..b91e795ca 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -21,7 +21,9 @@ GYP_CONFIG += \
use_gnome_keyring=0 \
use_kerberos=0 \
use_pango=0 \
- use_openssl=1
+ use_openssl=1 \
+ use_allocator=none \
+ use_experimental_allocator_shim=0
use?(nss) {
GYP_CONFIG += \
diff --git a/src/core/download_manager_delegate_qt.cpp b/src/core/download_manager_delegate_qt.cpp
index 91da7fb60..77469a8ea 100644
--- a/src/core/download_manager_delegate_qt.cpp
+++ b/src/core/download_manager_delegate_qt.cpp
@@ -119,7 +119,7 @@ bool DownloadManagerDelegateQt::DetermineDownloadTarget(content::DownloadItem* i
suggestedFilename = toQt(item->GetTargetFilePath().AsUTF8Unsafe());
if (suggestedFilename.isEmpty())
- suggestedFilename = toQt(item->GetURL().ExtractFileName());
+ suggestedFilename = QUrl::fromPercentEncoding(toQByteArray(item->GetURL().ExtractFileName()));
if (suggestedFilename.isEmpty()) {
suggestedFilename = QStringLiteral("qwe_download");
diff --git a/src/core/favicon_manager.cpp b/src/core/favicon_manager.cpp
index be8d17725..214fd5fa7 100644
--- a/src/core/favicon_manager.cpp
+++ b/src/core/favicon_manager.cpp
@@ -138,11 +138,9 @@ void FaviconManagerPrivate::storeIcon(int id, const QIcon &icon)
Q_Q(FaviconManager);
// Icon download has been interrupted
- if (m_inProgressRequests.isEmpty())
+ if (!m_inProgressRequests.contains(id))
return;
- Q_ASSERT(m_inProgressRequests.contains(id));
-
QUrl requestUrl = m_inProgressRequests[id];
FaviconInfo &faviconInfo = q->m_faviconInfoMap[requestUrl];
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 228c37010..9de2085ba 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -1171,6 +1171,12 @@ void WebContentsAdapter::startDragging(QObject *dragSource, const content::DropD
d->currentDropAction = Qt::IgnoreAction;
QDrag *drag = new QDrag(dragSource); // will be deleted by Qt's DnD implementation
+ bool dValid = true;
+ QMetaObject::Connection onDestroyed = QObject::connect(dragSource, &QObject::destroyed, [&dValid](){
+ dValid = false;
+ QDrag::cancel();
+ });
+
drag->setMimeData(mimeDataFromDropData(*d->currentDropData));
if (!pixmap.isNull()) {
drag->setPixmap(pixmap);
@@ -1182,9 +1188,15 @@ void WebContentsAdapter::startDragging(QObject *dragSource, const content::DropD
drag->exec(allowedActions);
}
- content::RenderViewHost *rvh = d->webContents->GetRenderViewHost();
- rvh->DragSourceSystemDragEnded();
- d->currentDropData.reset();
+ QObject::disconnect(onDestroyed);
+ if (dValid) {
+ if (d->webContents) {
+ content::RenderViewHost *rvh = d->webContents->GetRenderViewHost();
+ if (rvh)
+ rvh->DragSourceSystemDragEnded();
+ }
+ d->currentDropData.reset();
+ }
}
static blink::WebDragOperationsMask toWeb(const Qt::DropActions action)
diff --git a/src/core/web_contents_view_qt.cpp b/src/core/web_contents_view_qt.cpp
index ed6fdabff..0c4cf29d3 100644
--- a/src/core/web_contents_view_qt.cpp
+++ b/src/core/web_contents_view_qt.cpp
@@ -95,8 +95,11 @@ void WebContentsViewQt::RenderViewCreated(content::RenderViewHost* host)
{
// The render process is done creating the RenderView and it's ready to be routed
// messages at this point.
- if (m_client)
- m_webContents->GetRenderWidgetHostView()->SetBackgroundColor(toSk(m_client->backgroundColor()));
+ if (m_client && m_webContents) {
+ content::RenderWidgetHostView* rwhv = m_webContents->GetRenderWidgetHostView();
+ if (rwhv)
+ rwhv->SetBackgroundColor(toSk(m_client->backgroundColor()));
+ }
}
void WebContentsViewQt::CreateView(const gfx::Size& initial_size, gfx::NativeView context)
diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp
index 57813a82f..58f0a3e2c 100644
--- a/src/core/web_engine_settings.cpp
+++ b/src/core/web_engine_settings.cpp
@@ -299,6 +299,11 @@ void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *p
{
// Override for now
prefs->touch_enabled = isTouchScreenAvailable();
+ if (prefs->viewport_enabled) {
+ // We should enable viewport and viewport-meta together, but since 5.7 we
+ // no longer have a command-line flag for viewport-meta.
+ prefs->viewport_meta_enabled = true;
+ }
// Attributes mapping.
prefs->loads_images_automatically = testAttribute(AutoLoadImages);