summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--dist/changes-5.5.147
-rw-r--r--src/core/browser_context_adapter.cpp7
-rw-r--r--src/core/gyp_configure_host.pro2
-rw-r--r--src/core/gyp_configure_target.pro2
-rw-r--r--src/core/qtwebengine.gypi3
-rw-r--r--src/core/web_contents_adapter.cpp2
-rw-r--r--src/core/web_contents_delegate_qt.cpp5
-rw-r--r--src/core/web_contents_delegate_qt.h1
-rw-r--r--src/webenginewidgets/api/qwebenginedownloaditem.h2
-rwxr-xr-xtools/buildscripts/gyp_qtwebengine10
-rw-r--r--tools/qmake/mkspecs/features/functions.prf2
12 files changed, 77 insertions, 7 deletions
diff --git a/.gitignore b/.gitignore
index 67a9d4d04..9f362ff0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,6 @@ src/core/api/Release
src/core/api/Debug
src/core/core_generated.gyp
src/core/gypfiles
-src/core/qmake_extras.gypi
examples/webengine/quicknanobrowser/quicknanobrowser
examples/webengine/quicknanobrowser/quicknanobrowser.app
examples/webenginewidgets/browser/browser
diff --git a/dist/changes-5.5.1 b/dist/changes-5.5.1
new file mode 100644
index 000000000..550115008
--- /dev/null
+++ b/dist/changes-5.5.1
@@ -0,0 +1,47 @@
+Qt 5.5.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.5.0.
+
+Qt 5.5 introduces many new features and improvements as well as bugfixes
+over the 5.4.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+ http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.5 series is binary compatible with the 5.4.x series.
+Applications compiled for 5.4 will continue to run with 5.5.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+QtWebEngineCore
+--------
+ - Security fixes
+ * ICU: CVE-2014-8146, CVE-2014-8147
+ * Blink: CVE-2015-1284, CVE-2015-1291, CVE-2015-1292
+ * Skia: CVE-2015-1294
+ * V8: CVE-2015-1290
+ - [QTBUG-47945, QTBUG-48088] Fixed crashes and asserts on exit
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Linux
+-----
+ - [QTBUG-47301] Fixed crash on XCB GLES2 and Wayland
+ - [QTBUG-45801] Find libEGL and libEGLES2v2 without development packages
+
+Windows
+-------
+ - [QTBUG-44763] Fix slow proxy resolution with multiple network interfaces
+ - [QTBUG-47129] Make QtWebEngineProcess use full 4GB memory on 32-bit
diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp
index 48d05ae1d..660c6ffb2 100644
--- a/src/core/browser_context_adapter.cpp
+++ b/src/core/browser_context_adapter.cpp
@@ -36,6 +36,7 @@
#include "browser_context_adapter.h"
+#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_thread.h"
#include "browser_context_qt.h"
#include "content_client_qt.h"
@@ -255,6 +256,12 @@ void BrowserContextAdapter::setHttpUserAgent(const QString &userAgent)
if (m_httpUserAgent == userAgent)
return;
m_httpUserAgent = userAgent;
+
+ std::vector<content::WebContentsImpl *> list = content::WebContentsImpl::GetAllWebContents();
+ Q_FOREACH (content::WebContentsImpl *web_contents, list)
+ if (web_contents->GetBrowserContext() == m_browserContext.data())
+ web_contents->SetUserAgentOverride(userAgent.toStdString());
+
if (m_browserContext->url_request_getter_.get())
m_browserContext->url_request_getter_->updateUserAgent();
}
diff --git a/src/core/gyp_configure_host.pro b/src/core/gyp_configure_host.pro
index 3eb67389f..eb94cb802 100644
--- a/src/core/gyp_configure_host.pro
+++ b/src/core/gyp_configure_host.pro
@@ -10,7 +10,7 @@ GYPI_CONTENTS = "{" \
" ['CXX.host', '$$which($$QMAKE_CXX)']," \
" ['LD.host', '$$which($$QMAKE_LINK)'],"
-GYPI_FILE = $$absolute_path('qmake_extras.gypi')
+GYPI_FILE = $$OUT_PWD/qmake_extras.gypi
!build_pass {
write_file($$GYPI_FILE, GYPI_CONTENTS)
}
diff --git a/src/core/gyp_configure_target.pro b/src/core/gyp_configure_target.pro
index 4d5204407..2a5996636 100644
--- a/src/core/gyp_configure_target.pro
+++ b/src/core/gyp_configure_target.pro
@@ -26,7 +26,7 @@ GYPI_CONTENTS += " ]," \
GYPI_CONTENTS += "}"
-GYPI_FILE = $$absolute_path('qmake_extras.gypi')
+GYPI_FILE = $$OUT_PWD/qmake_extras.gypi
!exists($$GYPI_FILE): error("-- $$GYPI_FILE not found --")
diff --git a/src/core/qtwebengine.gypi b/src/core/qtwebengine.gypi
index 7a6b26ab7..a420918a0 100644
--- a/src/core/qtwebengine.gypi
+++ b/src/core/qtwebengine.gypi
@@ -114,5 +114,8 @@
'<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
],
}],
+ ['OS=="mac"', {
+ 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
+ }],
],
}
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 58fd23969..2b2512fc3 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -316,6 +316,8 @@ WebContentsAdapterPrivate::WebContentsAdapterPrivate()
WebContentsAdapterPrivate::~WebContentsAdapterPrivate()
{
+ // Destroy the WebContents first
+ webContents.reset();
}
QExplicitlySharedDataPointer<WebContentsAdapter> WebContentsAdapter::createFromSerializedNavigationHistory(QDataStream &input, WebContentsAdapterClient *adapterClient)
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index e644d691f..eb9c42edc 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -144,6 +144,11 @@ void WebContentsDelegateQt::HandleKeyboardEvent(content::WebContents *, const co
m_viewClient->unhandledKeyEvent(reinterpret_cast<QKeyEvent *>(event.os_event));
}
+void WebContentsDelegateQt::RenderFrameDeleted(content::RenderFrameHost *render_frame_host)
+{
+ m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID());
+}
+
void WebContentsDelegateQt::DidStartProvisionalLoadForFrame(content::RenderFrameHost* render_frame_host, const GURL& validated_url, bool is_error_page, bool is_iframe_srcdoc)
{
if (is_error_page) {
diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
index 1728c447d..3fda96113 100644
--- a/src/core/web_contents_delegate_qt.h
+++ b/src/core/web_contents_delegate_qt.h
@@ -93,6 +93,7 @@ public:
virtual void MoveValidationMessage(content::WebContents *web_contents, const gfx::Rect &anchor_in_root_view) Q_DECL_OVERRIDE;
// WebContentsObserver overrides
+ virtual void RenderFrameDeleted(content::RenderFrameHost *render_frame_host) Q_DECL_OVERRIDE;
virtual void DidStartProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &validated_url, bool is_error_page, bool is_iframe_srcdoc) Q_DECL_OVERRIDE;
virtual void DidCommitProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &url, ui::PageTransition transition_type) Q_DECL_OVERRIDE;
virtual void DidFailProvisionalLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url,
diff --git a/src/webenginewidgets/api/qwebenginedownloaditem.h b/src/webenginewidgets/api/qwebenginedownloaditem.h
index 1428ad4c3..05e0f8765 100644
--- a/src/webenginewidgets/api/qwebenginedownloaditem.h
+++ b/src/webenginewidgets/api/qwebenginedownloaditem.h
@@ -76,7 +76,7 @@ public Q_SLOTS:
Q_SIGNALS:
void finished();
- void stateChanged(DownloadState state);
+ void stateChanged(QWebEngineDownloadItem::DownloadState state);
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
private:
diff --git a/tools/buildscripts/gyp_qtwebengine b/tools/buildscripts/gyp_qtwebengine
index 5003e4b5b..ce2a43328 100755
--- a/tools/buildscripts/gyp_qtwebengine
+++ b/tools/buildscripts/gyp_qtwebengine
@@ -57,13 +57,19 @@ def additional_include_files(args=[]):
# Always include common.gypi.
AddInclude(os.path.join(script_dir, 'common.gypi'))
- # Include extra gypi files for additional build tweaks such as file exclusions,
- # common stuff we generate and extract from qmake and platform specific drop-in files.
+ # Include extra gypi files for additional build tweaks such as file exclusions
+ # and platform specific drop-in files.
build_extras = glob.glob(os.path.join(qtwebengine_root, 'src', 'core', '*_extras.gypi'))
for build in build_extras:
print "Using extra options found in " + build
AddInclude(build)
+ # Include extra gypi files for common stuff we generate and extract from qmake.
+ build_extras = glob.glob(os.path.join(output_dir, '*_extras.gypi'))
+ for build in build_extras:
+ print "Using extra options found in " + build
+ AddInclude(build)
+
# Optionally add supplemental .gypi files if present.
supplements = glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi'))
for supplement in supplements:
diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index 0fda473c9..c0e1f90bb 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -14,7 +14,7 @@ defineTest(isPlatformSupported) {
linux-g++*:!isGCCVersionSupported(): return(false)
!isPythonVersionSupported(): return(false)
- linux-g++*|linux-clang|win32-msvc2013|macx-clang: return(true)
+ linux-g++*|linux-clang|win32-msvc2013|macx-clang*: return(true)
boot2qt: return(true)
skipBuild("Qt WebEngine can currently only be built for Linux (GCC/clang), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.")