From afc38ffb7a8ea5906a74efdc6f7df5a5acf87385 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 10 Jun 2016 11:28:05 -0500 Subject: [PATCH] 5.6.1 branch snapshot, plus a couple post-5.6.1 5.6 branch fixes --- .gitignore | 1 + 0005-Added-missing-break-statement.patch | 26 ++++++++++ ...-zoomed-border-image-with-repeat-mod.patch | 49 +++++++++++++++++++ qt5-qtwebkit.spec | 33 +++++++++++-- sources | 2 +- 5 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 0005-Added-missing-break-statement.patch create mode 100644 0009-Fixed-drawing-of-zoomed-border-image-with-repeat-mod.patch diff --git a/.gitignore b/.gitignore index d32b50a..2a3da9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /qtwebkit-opensource-src-5.5.1.tar.xz /qtwebkit-opensource-src-5.6.0.tar.xz +/qtwebkit-opensource-src-5.6.1-b889f46.tar.xz diff --git a/0005-Added-missing-break-statement.patch b/0005-Added-missing-break-statement.patch new file mode 100644 index 0000000..558f2dd --- /dev/null +++ b/0005-Added-missing-break-statement.patch @@ -0,0 +1,26 @@ +From 9d69c357ca97785eee385b14942a27ec2a680ede Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Fri, 20 May 2016 13:59:05 +0300 +Subject: [PATCH 5/9] Added missing break statement. + +Change-Id: I90bc4a7c65dd70206fd250dcfa81dfac02f8ba74 +Reviewed-by: Allan Sandfeld Jensen +--- + Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp +index d1a7f6c..554ab89 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()); +-- +2.7.4 + diff --git a/0009-Fixed-drawing-of-zoomed-border-image-with-repeat-mod.patch b/0009-Fixed-drawing-of-zoomed-border-image-with-repeat-mod.patch new file mode 100644 index 0000000..a15df3f --- /dev/null +++ b/0009-Fixed-drawing-of-zoomed-border-image-with-repeat-mod.patch @@ -0,0 +1,49 @@ +From da5f9d788f96340a44083ed4e28cdf6ea0a393f0 Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev +Date: Tue, 24 May 2016 15:25:43 +0300 +Subject: [PATCH 9/9] Fixed drawing of zoomed border-image with repeat mode. + +Image::drawPattern has special optimized path for scaled transform which +creates pre-scaled brush and removes scale from original transform. +However this change makes following translation to (tr.x(), tr.y()) +incorrect because it is expected to be done in scaled coordinate system. + +Change-Id: I570cf82a4e7f61f6abe3fa4cb9b39aea0e51f2e5 +Task-number: QTBUG-53532 +Reviewed-by: Allan Sandfeld Jensen +--- + Source/WebCore/platform/graphics/qt/ImageQt.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/graphics/qt/ImageQt.cpp b/Source/WebCore/platform/graphics/qt/ImageQt.cpp +index 9e4408b..f30284b 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); +-- +2.7.4 + diff --git a/qt5-qtwebkit.spec b/qt5-qtwebkit.spec index 003d17f..3507bba 100644 --- a/qt5-qtwebkit.spec +++ b/qt5-qtwebkit.spec @@ -14,18 +14,31 @@ %endif %endif +%global commit0 b889f460280ad98c89ede179bd3b9ce9cb02002b +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) + Summary: Qt5 - QtWebKit components Name: qt5-qtwebkit -Version: 5.6.0 -Release: 9%{?dist} +Version: 5.6.1 +Release: 1.%{shortcommit0}git%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://www.qt.io +%if 0%{?commit0:1} +# The source for this package was pulled from upstream's vcs. Use the +# following commands to generate the tarball: +# git clone git@github.com:qtproject/qtqebkit.git && cd qtwebkit +# git archive --prefix=qtwebkit-opensource-src-5.6.1/ origin/5.6.1 | tar -x -C .. +# cd ../qtwebkit-opensource-src-5.6.1 && syncqt.pl -version 5.6.1 Source/sync.profile && cd .. +# tar cfJ qt5-webkit-opensource-src-5.6.1.tar.xz qtwebkit-opensource-src-5.6.1/ +Source0: %{qt_module}-opensource-src-%{version}-%{shortcommit0}.tar.xz +%else Source0: http://download.qt.io/community_releases/5.6/%{version}/qtwebkit-opensource-src-%{version}.tar.xz -#Source0: http://download.qt.io/snapshots/qt/5.6/%{version}%{?prerelease:-%{prerelease}}/submodules/%{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}}.tar.xz +%endif +## downstream patches # Search /usr/lib{,64}/mozilla/plugins-wrapped for browser plugins too Patch1: qtwebkit-opensource-src-5.2.0-pluginpath.patch @@ -41,6 +54,10 @@ Patch7: 0001-Add-ARM-64-support.patch # truly madly deeply no rpath please, kthxbye Patch8: qtwebkit-opensource-src-5.2.1-no_rpath.patch +## upstream patches +Patch105: 0005-Added-missing-break-statement.patch +Patch109: 0009-Fixed-drawing-of-zoomed-border-image-with-repeat-mod.patch + BuildRequires: cmake BuildRequires: qt5-qtbase-devel >= %{version} BuildRequires: pkgconfig(Qt5Qml) >= %{version} @@ -110,6 +127,9 @@ BuildArch: noarch %prep %setup -q -n %{qt_module}-opensource-src-%{version} +%patch105 -p1 -b .0005 +%patch109 -p1 -b .0009 + %patch1 -p1 -b .pluginpath %patch3 -p1 -b .debuginfo %patch4 -p1 -b .save_memory @@ -122,7 +142,6 @@ mkdir Source/ThirdParty/orig mv Source/ThirdParty/{gtest/,qunit/} \ Source/ThirdParty/orig/ -# check for prerelease macro instead? --rex if [ ! -d include ]; then syncqt.pl -version %{version} Source/sync.profile fi @@ -139,13 +158,14 @@ pushd %{_target_platform} # workaround, disable parallel compilation as it fails to compile in brew #make %{?_smp_mflags} -make -j2 +make -j3 %if 0%{?docs} make %{?_smp_mflags} docs %endif popd + %install make install INSTALL_ROOT=%{buildroot} -C %{_target_platform} @@ -193,6 +213,9 @@ popd %changelog +* Thu Jun 09 2016 Rex Dieter - 5.6.1-1.b889f46git +- 5.6.1 branch snapshot, plus a couple post-5.6.1 5.6 branch fixes + * Thu Jun 09 2016 Rex Dieter - 5.6.0-9 - rebuild (qtbase) diff --git a/sources b/sources index 9a6d6be..cb3acc2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b68565d18db63ee4db998bb8e37608a5 qtwebkit-opensource-src-5.6.0.tar.xz +1a7f3953c457c57a942bdd6a92d198fb qtwebkit-opensource-src-5.6.1-b889f46.tar.xz