diff options
author | Liang Qi <liang.qi@qt.io> | 2016-06-15 10:01:29 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-06-15 10:02:14 +0200 |
commit | 98678e1ae981e2e7d52ac283028e352a1cba794a (patch) | |
tree | 5035bb87666620ebdd66b758701ab4d862575862 | |
parent | 01fa9be55572ddb3f69befc68475ed09241eabdf (diff) | |
parent | 28077218067438fef5cdc746feb45ca6d4e755d9 (diff) | |
download | qtwebkit-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.cpp | 2 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/ImageQt.cpp | 5 | ||||
-rw-r--r-- | Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | 1 | ||||
-rw-r--r-- | Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp | 8 | ||||
-rw-r--r-- | Source/WebKit2/WebProcess.pro | 2 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/default_post.prf | 3 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/default_pre.prf | 1 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/features.prf | 9 | ||||
-rw-r--r-- | Tools/qmake/mkspecs/features/features.pri | 1 | ||||
-rw-r--r-- | dist/changes-5.6.1 | 49 |
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. |