diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-18 12:59:54 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-18 13:02:22 +0100 |
commit | c2447a308882ba3691d66b2c28df197f571518c7 (patch) | |
tree | c6535d8e038a517f06ddbef9fee649412555b8ae /src/core | |
parent | b63a932bbe1eb2bdf2584e44378ac3fab243320c (diff) | |
parent | 42c6033724e2b5a54702d626c57806e53f163c62 (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Change-Id: If16bfc6f0fbfd0040e13a8a3cbaa113fda10f387
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/config/linux.pri | 4 | ||||
-rw-r--r-- | src/core/download_manager_delegate_qt.cpp | 2 | ||||
-rw-r--r-- | src/core/favicon_manager.cpp | 4 | ||||
-rw-r--r-- | src/core/web_contents_adapter.cpp | 18 | ||||
-rw-r--r-- | src/core/web_contents_view_qt.cpp | 7 | ||||
-rw-r--r-- | src/core/web_engine_settings.cpp | 5 |
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); |