summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-15 10:01:29 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-15 10:02:14 +0200
commit98678e1ae981e2e7d52ac283028e352a1cba794a (patch)
tree5035bb87666620ebdd66b758701ab4d862575862
parent01fa9be55572ddb3f69befc68475ed09241eabdf (diff)
parent28077218067438fef5cdc746feb45ca6d4e755d9 (diff)
downloadqtwebkit-98678e1ae981e2e7d52ac283028e352a1cba794a.tar.gz
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: .qmake.conf Change-Id: Ic399cf8fef1f26f22338a67393066d69cd969579
-rw-r--r--Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/qt/ImageQt.cpp5
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp1
-rw-r--r--Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp8
-rw-r--r--Source/WebKit2/WebProcess.pro2
-rw-r--r--Tools/qmake/mkspecs/features/default_post.prf3
-rw-r--r--Tools/qmake/mkspecs/features/default_pre.prf1
-rw-r--r--Tools/qmake/mkspecs/features/features.prf9
-rw-r--r--Tools/qmake/mkspecs/features/features.pri1
-rw-r--r--dist/changes-5.6.149
10 files changed, 70 insertions, 11 deletions
diff --git a/Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index 74696c23d..c93c79b1b 100644
--- a/Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -93,7 +93,7 @@ void ImageDecoderQt::setData(SharedBuffer* data, bool allDataReceived)
// QImageReader only allows retrieving the format before reading the image
m_format = m_reader->format();
- if (!isFormatWhiteListed(m_format)) {
+ if (!m_format.isEmpty() && !isFormatWhiteListed(m_format)) {
qWarning("Image of format '%s' blocked because it is not considered safe. If you are sure it is safe to do so, you can white-list the format by setting the environment variable QTWEBKIT_IMAGEFORMAT_WHITELIST=%s", m_format.constData(), m_format.constData());
setFailed();
m_reader.clear();
diff --git a/Source/WebCore/platform/graphics/qt/ImageQt.cpp b/Source/WebCore/platform/graphics/qt/ImageQt.cpp
index 9e4408b61..f30284b90 100644
--- a/Source/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -156,6 +156,8 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
if (tr.x() || tr.y() || tr.width() != pixmap.width() || tr.height() != pixmap.height())
pixmap = pixmap.copy(tr);
+ QPoint trTopLeft = tr.topLeft();
+
CompositeOperator previousOperator = ctxt->compositeOperation();
ctxt->setCompositeOperation(!pixmap.hasAlpha() && op == CompositeSourceOver ? CompositeCopy : op);
@@ -180,13 +182,14 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
painter.drawPixmap(QRect(0, 0, scaledPixmap.width(), scaledPixmap.height()), pixmap);
}
pixmap = scaledPixmap;
+ trTopLeft = transform.map(trTopLeft);
transform = QTransform::fromTranslate(transform.dx(), transform.dy());
}
}
/* Translate the coordinates as phase is not in world matrix coordinate space but the tile rect origin is. */
transform *= QTransform().translate(phase.x(), phase.y());
- transform.translate(tr.x(), tr.y());
+ transform.translate(trTopLeft.x(), trTopLeft.y());
QBrush b(pixmap);
b.setTransform(transform);
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index d1a7f6cab..554ab8927 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -1179,6 +1179,7 @@ void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitT
case ToggleMediaPlayPause:
if (HTMLMediaElement* mediaElt = mediaElement(hitTestResult->innerNonSharedNode))
mediaElt->togglePlayState();
+ break;
case ToggleMediaMute:
if (HTMLMediaElement* mediaElt = mediaElement(hitTestResult->innerNonSharedNode))
mediaElt->setMuted(!mediaElt->muted());
diff --git a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
index 94551eb8e..52e6422b1 100644
--- a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
+++ b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
@@ -1572,26 +1572,26 @@ void tst_QObjectBridge::connectAndDisconnect()
QString type;
QString ret = evalJS("(function() { }).connect()", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: 'undefined' is not a function (evaluating '(function() { }).connect()')"));
+ QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating '(function() { }).connect()')"));
}
{
QString type;
QString ret = evalJS("var o = { }; o.connect = Function.prototype.connect; o.connect()", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: 'undefined' is not a function (evaluating 'o.connect()')"));
+ QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating 'o.connect()')"));
}
{
QString type;
QString ret = evalJS("(function() { }).connect(123)", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: 'undefined' is not a function (evaluating '(function() { }).connect(123)')"));
+ QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating '(function() { }).connect(123)')"));
}
{
QString type;
QString ret = evalJS("var o = { }; o.connect = Function.prototype.connect; o.connect(123)", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: 'undefined' is not a function (evaluating 'o.connect(123)')"));
+ QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating 'o.connect(123)')"));
}
{
diff --git a/Source/WebKit2/WebProcess.pro b/Source/WebKit2/WebProcess.pro
index 3463b9431..d401dc23a 100644
--- a/Source/WebKit2/WebProcess.pro
+++ b/Source/WebKit2/WebProcess.pro
@@ -5,7 +5,7 @@
# -------------------------------------------------------------------
TEMPLATE = app
-!build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
+!build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
TARGET = QtWebProcess
DESTDIR = $${ROOT_BUILD_DIR}/bin
diff --git a/Tools/qmake/mkspecs/features/default_post.prf b/Tools/qmake/mkspecs/features/default_post.prf
index 39bb3f7ae..19313d087 100644
--- a/Tools/qmake/mkspecs/features/default_post.prf
+++ b/Tools/qmake/mkspecs/features/default_post.prf
@@ -263,7 +263,8 @@ QMAKE_EXTRA_TARGETS += incremental
contains(TEMPLATE, lib) {
# Triggers the right export macros for WebKit internals
- DEFINES += BUILDING_$${TARGET}
+ # (don't set for Qt modules; qt_module.prf does it)
+ !creating_module: DEFINES += BUILDING_$${TARGET}
# Triggers the right export macro for the QtWebKit API (see qwebkitglobal.h)
!contains(QT, webkit)|equals(MODULE, webkitwidgets): DEFINES += BUILDING_WEBKIT
diff --git a/Tools/qmake/mkspecs/features/default_pre.prf b/Tools/qmake/mkspecs/features/default_pre.prf
index dbad90d5f..3e6677c92 100644
--- a/Tools/qmake/mkspecs/features/default_pre.prf
+++ b/Tools/qmake/mkspecs/features/default_pre.prf
@@ -102,6 +102,7 @@ gcc:isEqual(QT_ARCH, "arm"): CONFIG -= use_gold_linker
# Pick up Qt's defaults for debug/release/debug_and_release
if(win32|mac):!macx-xcode {
+ contains(QT_CONFIG, simulator_and_device): CONFIG += iphonesimulator_and_iphoneos
contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
contains(QT_CONFIG, build_all): CONFIG += build_all
}
diff --git a/Tools/qmake/mkspecs/features/features.prf b/Tools/qmake/mkspecs/features/features.prf
index bb3432bd2..21286be2e 100644
--- a/Tools/qmake/mkspecs/features/features.prf
+++ b/Tools/qmake/mkspecs/features/features.prf
@@ -136,9 +136,6 @@ defineTest(detectFeatures) {
have?(glx):have?(xcomposite):have?(xrender): WEBKIT_CONFIG += use_graphics_surface use_glx
}
- # Slider Touch is sensible to use when compiling WebKit2
- enable?(touch_events): WEBKIT_CONFIG += touch_slider
-
# IndexedDB requires leveldb
enable?(indexed_database): WEBKIT_CONFIG += use_leveldb
@@ -173,6 +170,9 @@ defineTest(sanitizeFeatures) {
# GStreamer uses Glib
use?(gstreamer): WEBKIT_CONFIG += use_glib
+ # LevelDB is not needed without indexed_database
+ !enable?(indexed_database): WEBKIT_CONFIG -= use_leveldb
+
# VideoTrack requires video
!enable?(video): WEBKIT_CONFIG -= video_track
@@ -182,5 +182,8 @@ defineTest(sanitizeFeatures) {
# Accelerated 2D canvas uses 3D graphics support.
!use?(3d_graphics): WEBKIT_CONFIG -= accelerated_2d_canvas
+ # Touch slider requires touch events
+ !enable?(touch_events): WEBKIT_CONFIG -= touch_slider
+
export(WEBKIT_CONFIG)
}
diff --git a/Tools/qmake/mkspecs/features/features.pri b/Tools/qmake/mkspecs/features/features.pri
index 1978aa081..ba18b354d 100644
--- a/Tools/qmake/mkspecs/features/features.pri
+++ b/Tools/qmake/mkspecs/features/features.pri
@@ -114,6 +114,7 @@ FEATURE_DEFAULTS = \
ENABLE_TOUCH_ADJUSTMENT=1 \
ENABLE_TOUCH_EVENTS=1 \
ENABLE_TOUCH_ICON_LOADING=0 \
+ ENABLE_TOUCH_SLIDER=1 \
ENABLE_USER_TIMING=0 \
ENABLE_VIBRATION=0 \
ENABLE_VIDEO=0 \
diff --git a/dist/changes-5.6.1 b/dist/changes-5.6.1
new file mode 100644
index 000000000..dd1f3fa0f
--- /dev/null
+++ b/dist/changes-5.6.1
@@ -0,0 +1,49 @@
+Qt 5.6.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.6.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ http://doc.qt.io/qt-5.6
+
+The Qt version 5.6 series is binary compatible with the 5.5.x series.
+Applications compiled for 5.5 will continue to run with 5.6.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ http://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ - QtWebKit will no longer support any QImageIO plugin with the Size option,
+ but instead only decode formats that have been whitelisted. If you are
+ using QtWebKit for controlled content and wish to override the white list
+ it can now be done with the environment variable
+ QTWEBKIT_IMAGEFORMAT_WHITELIST which takes a comma-separated list of
+ QImageIO formats.
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtWebkit
+--------
+ - Fixed memory leaks and crashes related to SVG animated properties.
+ - Fixed compilation with libjpeg v9.
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Windows
+-------
+- QtWebKit does not require Qt configured with ICU support anymore to be
+ built.