diff --git a/0002-JSString-resolveRope-should-report-extra-memory-cost.patch b/0002-JSString-resolveRope-should-report-extra-memory-cost.patch new file mode 100644 index 0000000..0a42563 --- /dev/null +++ b/0002-JSString-resolveRope-should-report-extra-memory-cost.patch @@ -0,0 +1,40 @@ +From a096458b01a9387719308c99e5917a7b42196078 Mon Sep 17 00:00:00 2001 +From: Nicolas Arnaud-Cormos +Date: Mon, 23 Apr 2012 19:54:36 -0700 +Subject: [PATCH 02/11] JSString::resolveRope() should report extra memory cost + to the heap. + +At the time a JSString is constructed with fibers, it doesn't report +extra memory cost, which is reasonable because it hasn't allocate +new memory. However when the rope is resolved, it should report memory +cost for the new buffer. + +Backport patch by Yong Li +Reviewed by Michael Saboff. +http://trac.webkit.org/changeset/109105 + +Signed-off-by: Simon Hausmann +--- + Source/JavaScriptCore/runtime/JSString.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Source/JavaScriptCore/runtime/JSString.cpp b/Source/JavaScriptCore/runtime/JSString.cpp +index da15997..a0ba3e2 100644 +--- a/Source/JavaScriptCore/runtime/JSString.cpp ++++ b/Source/JavaScriptCore/runtime/JSString.cpp +@@ -41,9 +41,10 @@ void JSString::resolveRope(ExecState* exec) const + ASSERT(isRope()); + + UChar* buffer; +- if (PassRefPtr newImpl = StringImpl::tryCreateUninitialized(m_length, buffer)) ++ if (PassRefPtr newImpl = StringImpl::tryCreateUninitialized(m_length, buffer)) { ++ Heap::heap(this)->reportExtraMemoryCost(newImpl->cost()); + m_value = newImpl; +- else { ++ } else { + outOfMemory(exec); + return; + } +-- +1.8.0.2 + diff --git a/qtwebkit-2.2.x-glib231-wk#69840.patch b/0003-Fix-build-with-GLib-2.31.patch similarity index 64% rename from qtwebkit-2.2.x-glib231-wk#69840.patch rename to 0003-Fix-build-with-GLib-2.31.patch index bd7cb94..797edb4 100644 --- a/qtwebkit-2.2.x-glib231-wk#69840.patch +++ b/0003-Fix-build-with-GLib-2.31.patch @@ -1,6 +1,88 @@ -diff -up webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am.glib231 webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am ---- webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am.glib231 2011-11-09 16:32:47.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am 2011-12-21 12:50:19.000000000 +0100 +From 9b4b107fe7501ffbefb5f4fd78ab0a2321f93fc1 Mon Sep 17 00:00:00 2001 +From: Gustavo Noronha Silva +Date: Wed, 12 Oct 2011 16:55:24 +0000 +Subject: [PATCH 03/11] Fix build with GLib 2.31 + https://bugs.webkit.org/show_bug.cgi?id=69840 + +Patch by Gustavo Noronha Silva on 2011-10-12 +Reviewed by Martin Robinson. + +.: + +* configure.ac: add check for pthread rwlock support. + +Source/JavaScriptCore: + +* GNUmakefile.list.am: removed ThreadingGtk.cpp. +* wtf/ThreadingPrimitives.h: remove GTK+-specific definitions. +* wtf/gobject/GOwnPtr.cpp: remove GCond and GMutex specializations. +* wtf/gobject/GOwnPtr.h: ditto. +* wtf/gobject/GTypedefs.h: remove GCond and GMutex forward declarations. +* wtf/gtk/ThreadingGtk.cpp: Removed. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97269 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +Conflicts: + + ChangeLog + Source/JavaScriptCore/ChangeLog + Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp +--- + ChangeLog | 9 + + Source/JavaScriptCore/ChangeLog | 14 ++ + Source/JavaScriptCore/GNUmakefile.list.am | 1 - + Source/JavaScriptCore/wtf/ThreadingPrimitives.h | 6 - + Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp | 12 -- + Source/JavaScriptCore/wtf/gobject/GOwnPtr.h | 2 - + Source/JavaScriptCore/wtf/gobject/GTypedefs.h | 2 - + Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp | 248 ------------------------ + configure.ac | 3 + + 9 files changed, 26 insertions(+), 271 deletions(-) + delete mode 100644 Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp + +diff --git a/ChangeLog b/ChangeLog +index 82dc1fb..b19fcfe 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,12 @@ ++2011-10-12 Gustavo Noronha Silva ++ ++ Fix build with GLib 2.31 ++ https://bugs.webkit.org/show_bug.cgi?id=69840 ++ ++ Reviewed by Martin Robinson. ++ ++ * configure.ac: add check for pthread rwlock support. ++ + 2011-12-08 Zeno Albisser + + Disable -Werror for standalone packages. +diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog +index 438d1f5..d7cb100 100644 +--- a/Source/JavaScriptCore/ChangeLog ++++ b/Source/JavaScriptCore/ChangeLog +@@ -1,3 +1,17 @@ ++2011-10-12 Gustavo Noronha Silva ++ ++ Fix build with GLib 2.31 ++ https://bugs.webkit.org/show_bug.cgi?id=69840 ++ ++ Reviewed by Martin Robinson. ++ ++ * GNUmakefile.list.am: removed ThreadingGtk.cpp. ++ * wtf/ThreadingPrimitives.h: remove GTK+-specific definitions. ++ * wtf/gobject/GOwnPtr.cpp: remove GCond and GMutex specializations. ++ * wtf/gobject/GOwnPtr.h: ditto. ++ * wtf/gobject/GTypedefs.h: remove GCond and GMutex forward declarations. ++ * wtf/gtk/ThreadingGtk.cpp: Removed. ++ + 2012-02-23 Aron Rosenberg + + Fix the PRI macros used in WTF::String formatters to be compatible with Qt and Visual Studio 2005 and newer. +diff --git a/Source/JavaScriptCore/GNUmakefile.list.am b/Source/JavaScriptCore/GNUmakefile.list.am +index 16bbf56..655986c 100644 +--- a/Source/JavaScriptCore/GNUmakefile.list.am ++++ b/Source/JavaScriptCore/GNUmakefile.list.am @@ -438,7 +438,6 @@ javascriptcore_sources += \ Source/JavaScriptCore/wtf/gobject/GRefPtr.h \ Source/JavaScriptCore/wtf/gobject/GTypedefs.h \ @@ -9,10 +91,35 @@ diff -up webkit-qtwebkit/Source/JavaScriptCore/GNUmakefile.list.am.glib231 webki Source/JavaScriptCore/wtf/HashCountedSet.h \ Source/JavaScriptCore/wtf/HashFunctions.h \ Source/JavaScriptCore/wtf/HashIterators.h \ -diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp ---- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.glib231 2011-11-09 16:32:47.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp 2011-12-21 12:50:19.000000000 +0100 -@@ -37,18 +37,6 @@ template <> void freeOwnedGPtr(GL +diff --git a/Source/JavaScriptCore/wtf/ThreadingPrimitives.h b/Source/JavaScriptCore/wtf/ThreadingPrimitives.h +index 831a99e..9f263ae 100644 +--- a/Source/JavaScriptCore/wtf/ThreadingPrimitives.h ++++ b/Source/JavaScriptCore/wtf/ThreadingPrimitives.h +@@ -44,8 +44,6 @@ + + #if USE(PTHREADS) + #include +-#elif PLATFORM(GTK) +-#include "GOwnPtr.h" + #endif + + #if PLATFORM(QT) +@@ -66,10 +64,6 @@ typedef pthread_rwlock_t PlatformReadWriteLock; + typedef void* PlatformReadWriteLock; + #endif + typedef pthread_cond_t PlatformCondition; +-#elif PLATFORM(GTK) +-typedef GOwnPtr PlatformMutex; +-typedef void* PlatformReadWriteLock; // FIXME: Implement. +-typedef GOwnPtr PlatformCondition; + #elif PLATFORM(QT) + typedef QT_PREPEND_NAMESPACE(QMutex)* PlatformMutex; + typedef void* PlatformReadWriteLock; // FIXME: Implement. +diff --git a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp +index 7c51ee1..50c7b9f 100644 +--- a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp ++++ b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp +@@ -37,18 +37,6 @@ template <> void freeOwnedGPtr(GList* ptr) g_list_free(ptr); } @@ -31,9 +138,10 @@ diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.glib231 w template <> void freeOwnedGPtr(GPatternSpec* ptr) { if (ptr) -diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h ---- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.glib231 2011-11-09 16:32:47.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h 2011-12-21 12:50:19.000000000 +0100 +diff --git a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h +index 8c7e837..9ff85c5 100644 +--- a/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h ++++ b/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h @@ -35,8 +35,6 @@ namespace WTF { template inline void freeOwnedGPtr(T* ptr); template<> void freeOwnedGPtr(GError*); @@ -43,9 +151,10 @@ diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.glib231 web template<> void freeOwnedGPtr(GPatternSpec*); template<> void freeOwnedGPtr(GDir*); -diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h ---- webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.glib231 2011-11-09 16:32:47.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2011-12-21 12:50:19.000000000 +0100 +diff --git a/Source/JavaScriptCore/wtf/gobject/GTypedefs.h b/Source/JavaScriptCore/wtf/gobject/GTypedefs.h +index c7f7ac4..136bde5 100644 +--- a/Source/JavaScriptCore/wtf/gobject/GTypedefs.h ++++ b/Source/JavaScriptCore/wtf/gobject/GTypedefs.h @@ -39,7 +39,6 @@ typedef void* gpointer; typedef struct _GAsyncResult GAsyncResult; typedef struct _GCancellable GCancellable; @@ -62,9 +171,11 @@ diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.glib231 w typedef struct _GPatternSpec GPatternSpec; typedef struct _GPollableOutputStream GPollableOutputStream; typedef struct _GSocketClient GSocketClient; -diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp ---- webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp.glib231 2011-12-21 12:52:25.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp 2011-12-21 12:52:28.000000000 +0100 +diff --git a/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp b/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp +deleted file mode 100644 +index 863ee81..0000000 +--- a/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp ++++ /dev/null @@ -1,248 +0,0 @@ -/* - * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. @@ -314,26 +425,5 @@ diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp.glib231 -} - -#endif // !USE(PTHREADS) -diff -up webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h.glib231 webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h ---- webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h.glib231 2011-11-09 16:32:47.000000000 +0100 -+++ webkit-qtwebkit/Source/JavaScriptCore/wtf/ThreadingPrimitives.h 2011-12-21 12:50:19.000000000 +0100 -@@ -44,8 +44,6 @@ - - #if USE(PTHREADS) - #include --#elif PLATFORM(GTK) --#include "GOwnPtr.h" - #endif - - #if PLATFORM(QT) -@@ -66,10 +64,6 @@ typedef pthread_rwlock_t PlatformReadWri - typedef void* PlatformReadWriteLock; - #endif - typedef pthread_cond_t PlatformCondition; --#elif PLATFORM(GTK) --typedef GOwnPtr PlatformMutex; --typedef void* PlatformReadWriteLock; // FIXME: Implement. --typedef GOwnPtr PlatformCondition; - #elif PLATFORM(QT) - typedef QT_PREPEND_NAMESPACE(QMutex)* PlatformMutex; - typedef void* PlatformReadWriteLock; // FIXME: Implement. +1.8.0.2 + diff --git a/0005-Fix-build-on-linux-i386-where-gcc-would-produce-warn.patch b/0005-Fix-build-on-linux-i386-where-gcc-would-produce-warn.patch new file mode 100644 index 0000000..97fa78a --- /dev/null +++ b/0005-Fix-build-on-linux-i386-where-gcc-would-produce-warn.patch @@ -0,0 +1,33 @@ +From 0b63152ae5d572c4a817a53210d8907f3dd11bd7 Mon Sep 17 00:00:00 2001 +From: Simon Hausmann +Date: Mon, 25 Jun 2012 09:47:34 +0200 +Subject: [PATCH 05/11] Fix build on linux-i386 where gcc would produce + warnings + +It is the intention to _not_ use -Werror for production builds. Unfortunately +the qmake expression had an error that made the -Werror suppression only work +on x86-64 but not on i386. A surrounding if() as suggested by Ossi fixes this. + +In trunk this is already fixed differently by the use of an extra scope. + +Task: QTBUG-23987 +--- + Source/WebKit.pri | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebKit.pri b/Source/WebKit.pri +index 5080119..ae7b99c 100644 +--- a/Source/WebKit.pri ++++ b/Source/WebKit.pri +@@ -102,7 +102,7 @@ CONFIG -= warn_on + + # Treat warnings as errors on x86/Linux/GCC + linux-g++* { +- !CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror ++ !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror + + greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) { + if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) { +-- +1.8.0.2 + diff --git a/qtwebkit-2.2.2-no_Werror.patch b/qtwebkit-2.2.2-no_Werror.patch deleted file mode 100644 index d80c6b9..0000000 --- a/qtwebkit-2.2.2-no_Werror.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qtwebkit-2.2.2-source/Source/WebKit.pri.no_Werror qtwebkit-2.2.2-source/Source/WebKit.pri ---- qtwebkit-2.2.2-source/Source/WebKit.pri.no_Werror 2012-05-22 09:30:37.000000000 -0500 -+++ qtwebkit-2.2.2-source/Source/WebKit.pri 2012-05-22 09:51:42.126610618 -0500 -@@ -102,7 +102,7 @@ CONFIG -= warn_on - - # Treat warnings as errors on x86/Linux/GCC - linux-g++* { -- !CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror -+ #!CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror - - greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) { - if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) { diff --git a/qtwebkit.spec b/qtwebkit.spec index e6ef335..313c66d 100644 --- a/qtwebkit.spec +++ b/qtwebkit.spec @@ -1,7 +1,7 @@ Name: qtwebkit Version: 2.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Qt WebKit bindings Group: System Environment/Libraries License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -27,17 +27,9 @@ Patch1: webkit-qtwebkit-2.2-tp1-pluginpath.patch # include -debuginfo except on s390(x) during linking of libQtWebKit Patch3: webkit-qtwebkit-2.2-debuginfo.patch -# https://bugs.webkit.org/show_bug.cgi?id=63941 -# -Wall + -Werror = fail -Patch4: qtwebkit-2.2.2-no_Werror.patch - # fix for qt-4.6.x Patch5: webkit-qtwebkit-2.2tp1-qt46.patch -# fix for glib-2.31+ -# See https://bugs.webkit.org/show_bug.cgi?id=69840 for the gory details. -Patch6: qtwebkit-2.2.x-glib231-wk#69840.patch - # gcc doesn't support flag -fuse-ld=gold Patch7: webkit-qtwebkit-ld.gold.patch @@ -46,6 +38,11 @@ Patch7: webkit-qtwebkit-ld.gold.patch # https://bugs.webkit.org/show_bug.cgi?id=97258 Patch8: qtwebkit-svg_infinite_loop.patch +## upstream patches +Patch102: 0002-JSString-resolveRope-should-report-extra-memory-cost.patch +Patch103: 0003-Fix-build-with-GLib-2.31.patch +Patch105: 0005-Fix-build-on-linux-i386-where-gcc-would-produce-warn.patch + BuildRequires: chrpath BuildRequires: libicu-devel BuildRequires: libjpeg-devel @@ -92,13 +89,14 @@ Provides: qt4-webkit-devel%{?_isa} = 2:%{version}-%{release} %patch1 -p1 -b .pluginpath %patch3 -p1 -b .debuginfo -%patch4 -p1 -b .no_Werror ## don't unconditionally apply this anymore ## it has side-effects ( like http://bugzilla.redhat.com/761337 ) #patch5 -p1 -b .qt46 -%patch6 -p1 -b .glib231 %patch7 -p1 -b .ld.gold %patch8 -p1 -b .svn_infinite_loop +%patch102 -p1 -b .0002 +%patch103 -p1 -b .0003 +%patch105 -p1 -b .0005 %build @@ -151,6 +149,9 @@ rm -rf %{buildroot} %changelog +* Mon Dec 24 2012 Rex Dieter 2.2.2-4 +- switch to upstream versions of some patches + * Tue Nov 13 2012 Rex Dieter 2.2.2-3 - Certain SVG content freezes QtWebKit (webkit#97258)