From 7eb43ce9e827e8fb50f97cad2ec52eddb270ff0d Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 1 Mar 2016 10:22:09 +0100 Subject: [PATCH 01/29] Update to 2.11.91 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 34908e4..128531e 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ /webkitgtk-2.11.4.tar.xz /webkitgtk-2.11.5.tar.xz /webkitgtk-2.11.90.tar.xz +/webkitgtk-2.11.91.tar.xz diff --git a/sources b/sources index 04cc17b..2a8eb66 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1edba6fe83c097d633a405965b503986 webkitgtk-2.11.90.tar.xz +ed62a02eafbaf3a5e40a4fe4de9cfbda webkitgtk-2.11.91.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 1720eb1..7021b00 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.11.90 -Release: 4%{?dist} +Version: 2.11.91 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -232,6 +232,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Mar 01 2016 Tomas Popela - 2.11.91-1 +- Update to 2.11.91 + * Mon Feb 29 2016 David King - 2.11.90-4 - Move JavaScriptCore headers to jsc-devel subpackage (#1312894) From 3deb5698ac7cd3b1a55421e4cbbd1a1f0d3b09ec Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 17 Mar 2016 10:49:44 +0100 Subject: [PATCH 02/29] Update to 2.11.92 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 128531e..185d5ee 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ /webkitgtk-2.11.5.tar.xz /webkitgtk-2.11.90.tar.xz /webkitgtk-2.11.91.tar.xz +/webkitgtk-2.11.92.tar.xz diff --git a/sources b/sources index 2a8eb66..6ec49cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ed62a02eafbaf3a5e40a4fe4de9cfbda webkitgtk-2.11.91.tar.xz +c63c7ea90c71d25f787aafb030a055b1 webkitgtk-2.11.92.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 7021b00..5ae52bb 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.11.91 +Version: 2.11.92 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -232,6 +232,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Mar 17 2016 Tomas Popela - 2.11.92-1 +- Update to 2.11.92 + * Tue Mar 01 2016 Tomas Popela - 2.11.91-1 - Update to 2.11.91 From aee338b1237c62d13c7b5df9e9c4e7775b2b00cf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 18 Mar 2016 07:07:38 +0100 Subject: [PATCH 03/29] Fix the build with gcc 6 --- webkitgtk-2.11.92-gcc6.patch | 32 ++++++++++++++++++++++++++++++++ webkitgtk4.spec | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 webkitgtk-2.11.92-gcc6.patch diff --git a/webkitgtk-2.11.92-gcc6.patch b/webkitgtk-2.11.92-gcc6.patch new file mode 100644 index 0000000..0f56a07 --- /dev/null +++ b/webkitgtk-2.11.92-gcc6.patch @@ -0,0 +1,32 @@ +diff --git a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp +index e03d5f42c140692b1140a15d92c0d7990c18780e..96e741e61a2e780d84e7ea1603952572868b7fbd 100644 +--- a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp ++++ b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp +@@ -92,9 +92,10 @@ class LowerMacros { + break; + + Value* functionAddress = nullptr; +- if (m_value->type() == Double) +- functionAddress = m_insertionSet.insert(m_index, m_origin, ceil); +- else if (m_value->type() == Float) ++ if (m_value->type() == Double) { ++ double (*ceilDouble)(double) = ceil; ++ functionAddress = m_insertionSet.insert(m_index, m_origin, ceilDouble); ++ } else if (m_value->type() == Float) + functionAddress = m_insertionSet.insert(m_index, m_origin, ceilf); + else + RELEASE_ASSERT_NOT_REACHED(); +@@ -113,9 +114,10 @@ class LowerMacros { + break; + + Value* functionAddress = nullptr; +- if (m_value->type() == Double) +- functionAddress = m_insertionSet.insert(m_index, m_origin, floor); +- else if (m_value->type() == Float) ++ if (m_value->type() == Double) { ++ double (*floorDouble)(double) = floor; ++ functionAddress = m_insertionSet.insert(m_index, m_origin, floorDouble); ++ } else if (m_value->type() == Float) + functionAddress = m_insertionSet.insert(m_index, m_origin, floorf); + else + RELEASE_ASSERT_NOT_REACHED(); diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 5ae52bb..f95e71c 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.11.92 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -18,6 +18,8 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=135972 Patch1: webkitgtk-2.11.5-youtube.patch +# https://bugs.webkit.org/show_bug.cgi?id=155044 +Patch2: webkitgtk-2.11.92-gcc6.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -232,6 +234,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Mar 17 2016 Tomas Popela - 2.11.92-2 +- Fix the build with gcc6 + * Thu Mar 17 2016 Tomas Popela - 2.11.92-1 - Update to 2.11.92 From a77911d9c02e317cb7ca9f5b4fd4a8058fe33fb1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 22 Mar 2016 11:33:11 +0100 Subject: [PATCH 04/29] Update to 2.12.0 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.11.92-gcc6.patch | 32 -------------------------------- webkitgtk4.spec | 9 +++++---- 4 files changed, 7 insertions(+), 37 deletions(-) delete mode 100644 webkitgtk-2.11.92-gcc6.patch diff --git a/.gitignore b/.gitignore index 185d5ee..2a4ffda 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ /webkitgtk-2.11.90.tar.xz /webkitgtk-2.11.91.tar.xz /webkitgtk-2.11.92.tar.xz +/webkitgtk-2.12.0.tar.xz diff --git a/sources b/sources index 6ec49cb..1859270 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c63c7ea90c71d25f787aafb030a055b1 webkitgtk-2.11.92.tar.xz +d233b5594c37a961308c230207d8b64f webkitgtk-2.12.0.tar.xz diff --git a/webkitgtk-2.11.92-gcc6.patch b/webkitgtk-2.11.92-gcc6.patch deleted file mode 100644 index 0f56a07..0000000 --- a/webkitgtk-2.11.92-gcc6.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp -index e03d5f42c140692b1140a15d92c0d7990c18780e..96e741e61a2e780d84e7ea1603952572868b7fbd 100644 ---- a/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp -+++ b/Source/JavaScriptCore/b3/B3LowerMacrosAfterOptimizations.cpp -@@ -92,9 +92,10 @@ class LowerMacros { - break; - - Value* functionAddress = nullptr; -- if (m_value->type() == Double) -- functionAddress = m_insertionSet.insert(m_index, m_origin, ceil); -- else if (m_value->type() == Float) -+ if (m_value->type() == Double) { -+ double (*ceilDouble)(double) = ceil; -+ functionAddress = m_insertionSet.insert(m_index, m_origin, ceilDouble); -+ } else if (m_value->type() == Float) - functionAddress = m_insertionSet.insert(m_index, m_origin, ceilf); - else - RELEASE_ASSERT_NOT_REACHED(); -@@ -113,9 +114,10 @@ class LowerMacros { - break; - - Value* functionAddress = nullptr; -- if (m_value->type() == Double) -- functionAddress = m_insertionSet.insert(m_index, m_origin, floor); -- else if (m_value->type() == Float) -+ if (m_value->type() == Double) { -+ double (*floorDouble)(double) = floor; -+ functionAddress = m_insertionSet.insert(m_index, m_origin, floorDouble); -+ } else if (m_value->type() == Float) - functionAddress = m_insertionSet.insert(m_index, m_origin, floorf); - else - RELEASE_ASSERT_NOT_REACHED(); diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f95e71c..bafcd79 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.11.92 -Release: 2%{?dist} +Version: 2.12.0 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -18,8 +18,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=135972 Patch1: webkitgtk-2.11.5-youtube.patch -# https://bugs.webkit.org/show_bug.cgi?id=155044 -Patch2: webkitgtk-2.11.92-gcc6.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -234,6 +232,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Mar 22 2016 Tomas Popela - 2.12.0-1 +- Update to 2.12.0 + * Thu Mar 17 2016 Tomas Popela - 2.11.92-2 - Fix the build with gcc6 From 45afd53285ace37b172ebbddace3ea2471d6a0c3 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 14 Apr 2016 12:40:44 +0200 Subject: [PATCH 05/29] Update to 2.12.1 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.12.0-repaintOrMarkForLayout.patch | 236 ------------------ webkitgtk4.spec | 9 +- 4 files changed, 7 insertions(+), 241 deletions(-) delete mode 100644 webkitgtk-2.12.0-repaintOrMarkForLayout.patch diff --git a/.gitignore b/.gitignore index 2a4ffda..e52a13e 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /webkitgtk-2.11.91.tar.xz /webkitgtk-2.11.92.tar.xz /webkitgtk-2.12.0.tar.xz +/webkitgtk-2.12.1.tar.xz diff --git a/sources b/sources index 1859270..8ecfe7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d233b5594c37a961308c230207d8b64f webkitgtk-2.12.0.tar.xz +adcbee440d81acfb1ead9ada91bd5e79 webkitgtk-2.12.1.tar.xz diff --git a/webkitgtk-2.12.0-repaintOrMarkForLayout.patch b/webkitgtk-2.12.0-repaintOrMarkForLayout.patch deleted file mode 100644 index 9d6494c..0000000 --- a/webkitgtk-2.12.0-repaintOrMarkForLayout.patch +++ /dev/null @@ -1,236 +0,0 @@ -From 43b6b949b80310c90d1628d660a8319c20f00246 Mon Sep 17 00:00:00 2001 -From: "zalan@apple.com" -Date: Fri, 25 Mar 2016 23:45:13 +0000 -Subject: [PATCH] RenderImage::repaintOrMarkForLayout fails when the renderer - is detached. https://bugs.webkit.org/show_bug.cgi?id=155885 - - -Reviewed by Simon Fraser. - -Making containingBlockFor* functions standalone ensures that we don't -call them on an invalid object. - -Covered by existing tests. - -* dom/Element.cpp: -(WebCore::layoutOverflowRectContainsAllDescendants): -* rendering/LogicalSelectionOffsetCaches.h: -(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches): -* rendering/RenderElement.cpp: -(WebCore::containingBlockForFixedPosition): -(WebCore::containingBlockForAbsolutePosition): -(WebCore::containingBlockForObjectInFlow): -(WebCore::RenderElement::containingBlockForFixedPosition): Deleted. -(WebCore::RenderElement::containingBlockForAbsolutePosition): Deleted. -(WebCore::isNonRenderBlockInline): Deleted. -(WebCore::RenderElement::containingBlockForObjectInFlow): Deleted. -* rendering/RenderElement.h: -* rendering/RenderInline.cpp: -(WebCore::RenderInline::styleWillChange): -* rendering/RenderObject.cpp: -(WebCore::RenderObject::containingBlock): - - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@198701 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/WebCore/ChangeLog | 31 +++++++++ - Source/WebCore/dom/Element.cpp | 2 +- - .../rendering/LogicalSelectionOffsetCaches.h | 6 +- - Source/WebCore/rendering/RenderElement.cpp | 79 ++++++++++------------ - Source/WebCore/rendering/RenderElement.h | 7 +- - Source/WebCore/rendering/RenderInline.cpp | 2 +- - Source/WebCore/rendering/RenderObject.cpp | 12 ++-- - 7 files changed, 82 insertions(+), 57 deletions(-) - -diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp -index 75fe8f8..e904e9b 100644 ---- a/Source/WebCore/dom/Element.cpp -+++ b/Source/WebCore/dom/Element.cpp -@@ -974,7 +974,7 @@ static bool layoutOverflowRectContainsAllDescendants(const RenderElement& render - } - - // This renderer may have positioned descendants whose containing block is some ancestor. -- if (auto containingBlock = renderer.containingBlockForAbsolutePosition()) { -+ if (auto containingBlock = containingBlockForAbsolutePosition(&renderer)) { - if (auto positionedObjects = containingBlock->positionedObjects()) { - for (RenderBox* it : *positionedObjects) { - if (it != &renderer && renderer.element()->contains(it->element())) -diff --git a/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h b/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -index a3f8112..aefe107 100644 ---- a/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -+++ b/Source/WebCore/rendering/LogicalSelectionOffsetCaches.h -@@ -91,9 +91,9 @@ public: - auto parent = rootBlock.parent(); - - // LogicalSelectionOffsetCaches should not be used on an orphaned tree. -- m_containingBlockForFixedPosition.setBlock(parent->containingBlockForFixedPosition(), nullptr); -- m_containingBlockForAbsolutePosition.setBlock(parent->containingBlockForAbsolutePosition(), nullptr); -- m_containingBlockForInflowPosition.setBlock(parent->containingBlockForObjectInFlow(), nullptr); -+ m_containingBlockForFixedPosition.setBlock(containingBlockForFixedPosition(parent), nullptr); -+ m_containingBlockForAbsolutePosition.setBlock(containingBlockForAbsolutePosition(parent), nullptr); -+ m_containingBlockForInflowPosition.setBlock(containingBlockForObjectInFlow(parent), nullptr); - } - - LogicalSelectionOffsetCaches(RenderBlock& block, const LogicalSelectionOffsetCaches& cache) -diff --git a/Source/WebCore/rendering/RenderElement.cpp b/Source/WebCore/rendering/RenderElement.cpp -index a17b8f6..9c19f5c 100644 ---- a/Source/WebCore/rendering/RenderElement.cpp -+++ b/Source/WebCore/rendering/RenderElement.cpp -@@ -1585,48 +1585,6 @@ PassRefPtr RenderElement::getUncachedPseudoStyle(const PseudoStyleR - return styleResolver.pseudoStyleForElement(*element(), pseudoStyleRequest, *parentStyle); - } - --RenderBlock* RenderElement::containingBlockForFixedPosition() const --{ -- const RenderElement* object = this; -- while (object && !object->canContainFixedPositionObjects()) -- object = object->parent(); -- -- ASSERT(!object || !object->isAnonymousBlock()); -- return const_cast(downcast(object)); --} -- --RenderBlock* RenderElement::containingBlockForAbsolutePosition() const --{ -- const RenderElement* object = this; -- while (object && !object->canContainAbsolutelyPositionedObjects()) -- object = object->parent(); -- -- // For a relatively positioned inline, return its nearest non-anonymous containing block, -- // not the inline itself, to avoid having a positioned objects list in all RenderInlines -- // and use RenderBlock* as RenderElement::containingBlock's return type. -- // Use RenderBlock::container() to obtain the inline. -- if (object && !is(*object)) -- object = object->containingBlock(); -- -- while (object && object->isAnonymousBlock()) -- object = object->containingBlock(); -- -- return const_cast(downcast(object)); --} -- --static inline bool isNonRenderBlockInline(const RenderElement& object) --{ -- return (object.isInline() && !object.isReplaced()) || !object.isRenderBlock(); --} -- --RenderBlock* RenderElement::containingBlockForObjectInFlow() const --{ -- const RenderElement* object = this; -- while (object && isNonRenderBlockInline(*object)) -- object = object->parent(); -- return const_cast(downcast(object)); --} -- - Color RenderElement::selectionColor(int colorProperty) const - { - // If the element is unselectable, or we are only painting the selection, -@@ -2210,4 +2168,41 @@ void RenderElement::updateOutlineAutoAncestor(bool hasOutlineAuto) const - downcast(*this).continuation()->updateOutlineAutoAncestor(hasOutlineAuto); - } - -+RenderBlock* containingBlockForFixedPosition(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && !object->canContainFixedPositionObjects()) -+ object = object->parent(); -+ -+ ASSERT(!object || !object->isAnonymousBlock()); -+ return const_cast(downcast(object)); -+} -+ -+RenderBlock* containingBlockForAbsolutePosition(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && !object->canContainAbsolutelyPositionedObjects()) -+ object = object->parent(); -+ -+ // For a relatively positioned inline, return its nearest non-anonymous containing block, -+ // not the inline itself, to avoid having a positioned objects list in all RenderInlines -+ // and use RenderBlock* as RenderElement::containingBlock's return type. -+ // Use RenderBlock::container() to obtain the inline. -+ if (object && !is(*object)) -+ object = object->containingBlock(); -+ -+ while (object && object->isAnonymousBlock()) -+ object = object->containingBlock(); -+ -+ return const_cast(downcast(object)); -+} -+ -+RenderBlock* containingBlockForObjectInFlow(const RenderElement* element) -+{ -+ const auto* object = element; -+ while (object && ((object->isInline() && !object->isReplaced()) || !object->isRenderBlock())) -+ object = object->parent(); -+ return const_cast(downcast(object)); -+} -+ - } -diff --git a/Source/WebCore/rendering/RenderElement.h b/Source/WebCore/rendering/RenderElement.h -index ec15a67..02e5449 100644 ---- a/Source/WebCore/rendering/RenderElement.h -+++ b/Source/WebCore/rendering/RenderElement.h -@@ -71,10 +71,6 @@ public: - bool canContainFixedPositionObjects() const; - bool canContainAbsolutelyPositionedObjects() const; - -- RenderBlock* containingBlockForFixedPosition() const; -- RenderBlock* containingBlockForAbsolutePosition() const; -- RenderBlock* containingBlockForObjectInFlow() const; -- - Color selectionColor(int colorProperty) const; - PassRefPtr selectionPseudoStyle() const; - -@@ -495,6 +491,9 @@ inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const Render - return adjustLayoutUnitForAbsoluteZoom(value, renderer.style()); - } - -+RenderBlock* containingBlockForFixedPosition(const RenderElement*); -+RenderBlock* containingBlockForAbsolutePosition(const RenderElement*); -+RenderBlock* containingBlockForObjectInFlow(const RenderElement*); - } // namespace WebCore - - SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderElement, isRenderElement()) -diff --git a/Source/WebCore/rendering/RenderInline.cpp b/Source/WebCore/rendering/RenderInline.cpp -index b6c6b54..38ed407 100644 ---- a/Source/WebCore/rendering/RenderInline.cpp -+++ b/Source/WebCore/rendering/RenderInline.cpp -@@ -171,7 +171,7 @@ void RenderInline::styleWillChange(StyleDifference diff, const RenderStyle& newS - // Check if this inline can hold absolute positioned elmements even after the style change. - if (canContainAbsolutelyPositionedObjects() && newStyle.position() == StaticPosition) { - // RenderInlines forward their absolute positioned descendants to their (non-anonymous) containing block. -- auto* container = containingBlockForAbsolutePosition(); -+ auto* container = containingBlockForAbsolutePosition(this); - if (container && !container->canContainAbsolutelyPositionedObjects()) - container->removePositionedObjects(nullptr, NewContainingBlock); - } -diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp -index 3b9548f..edb4f33 100644 ---- a/Source/WebCore/rendering/RenderObject.cpp -+++ b/Source/WebCore/rendering/RenderObject.cpp -@@ -706,15 +706,15 @@ RenderBlock* RenderObject::containingBlock() const - - const RenderStyle& style = this->style(); - if (!is(*this) && style.position() == FixedPosition) -- parent = parent->containingBlockForFixedPosition(); -+ parent = containingBlockForFixedPosition(parent); - else if (!is(*this) && style.position() == AbsolutePosition) -- parent = parent->containingBlockForAbsolutePosition(); -+ parent = containingBlockForAbsolutePosition(parent); - else -- parent = parent->containingBlockForObjectInFlow(); -- -- if (!is(parent)) -- return nullptr; // This can still happen in case of an orphaned tree -+ parent = containingBlockForObjectInFlow(parent); - -+ // This can still happen in case of an detached tree -+ if (!parent) -+ return nullptr; - return downcast(parent); - } - --- -2.5.5 - diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8933ff6..8524c8e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.0 -Release: 3%{?dist} +Version: 2.12.1 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -18,8 +18,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: webkitgtk-2.7.90-user-agent-branding.patch # https://bugs.webkit.org/show_bug.cgi?id=135972 Patch1: webkitgtk-2.11.5-youtube.patch -# https://bugs.webkit.org/show_bug.cgi?id=155885 -Patch2: webkitgtk-2.12.0-repaintOrMarkForLayout.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -251,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 14 2016 Tomas Popela - 2.12.1-1 +- Update to 2.12.1 + * Thu Apr 07 2016 Michael Catanzaro - 2.12.0-3 - Attempt harder to ensure plugin-process-gtk2 is installed on upgrade From a6710ccd2e1e41eb6b46f87928429083bf527a6a Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Apr 2016 15:59:31 +0200 Subject: [PATCH 06/29] Fix the build on aarch64 - disable bmalloc as it's crashing when generating the documentation --- webkitgtk4.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8524c8e..558ba5e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.12.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -169,7 +169,7 @@ pushd %{_target_platform} %ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x %{arm} ppc %{power64} %{mips} +%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} -DUSE_SYSTEM_MALLOC=ON \ %endif .. @@ -249,6 +249,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Apr 26 2016 Tomas Popela - 2.12.1-2 +- Fix the build on aarch64 - disable bmalloc as it's crashing when generating + the documentation + * Thu Apr 14 2016 Tomas Popela - 2.12.1-1 - Update to 2.12.1 From 200b3c5a69a806ddfe2e56555482c81918fd6e51 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 28 Apr 2016 10:56:13 +0200 Subject: [PATCH 07/29] Update to 2.12.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e52a13e..4a9ed5d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /webkitgtk-2.11.92.tar.xz /webkitgtk-2.12.0.tar.xz /webkitgtk-2.12.1.tar.xz +/webkitgtk-2.12.2.tar.xz diff --git a/sources b/sources index 8ecfe7c..9ed4581 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adcbee440d81acfb1ead9ada91bd5e79 webkitgtk-2.12.1.tar.xz +41e018d651413fdbcd4b6480ab1fbd7b webkitgtk-2.12.2.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 558ba5e..56d05a3 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.1 -Release: 2%{?dist} +Version: 2.12.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -147,7 +147,7 @@ rm -rf Source/ThirdParty/qunit/ %ifarch ppc # Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled -%global optflags %{optflags} -Wl,-relax -latomic +%global optflags %{optflags} -Wl,-relax %endif %if 0%{?fedora} @@ -249,6 +249,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 28 2016 Tomas Popela - 2.12.2-1 +- Update to 2.12.2 + * Tue Apr 26 2016 Tomas Popela - 2.12.1-2 - Fix the build on aarch64 - disable bmalloc as it's crashing when generating the documentation From d9b162b76952528e92ad921084df88b2542cf4bf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 24 May 2016 11:21:13 +0200 Subject: [PATCH 08/29] Update to 2.12.3 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.11.5-youtube.patch | 34 ---------------------------------- webkitgtk4.spec | 9 +++++---- 4 files changed, 7 insertions(+), 39 deletions(-) delete mode 100644 webkitgtk-2.11.5-youtube.patch diff --git a/.gitignore b/.gitignore index 4a9ed5d..d2b5f8b 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ /webkitgtk-2.12.0.tar.xz /webkitgtk-2.12.1.tar.xz /webkitgtk-2.12.2.tar.xz +/webkitgtk-2.12.3.tar.xz diff --git a/sources b/sources index 9ed4581..3ba2373 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -41e018d651413fdbcd4b6480ab1fbd7b webkitgtk-2.12.2.tar.xz +aebb4029c09dd81664aa830e4a584c85 webkitgtk-2.12.3.tar.xz diff --git a/webkitgtk-2.11.5-youtube.patch b/webkitgtk-2.11.5-youtube.patch deleted file mode 100644 index e5a43a3..0000000 --- a/webkitgtk-2.11.5-youtube.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp ---- webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.orig 2016-02-09 10:04:54.898217667 +0100 -+++ webkitgtk-2.11.5/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2016-02-09 10:13:35.080875509 +0100 -@@ -1734,7 +1734,7 @@ static HashSet error; -+ GUniqueOutPtr stdout_to_discard; -+ GUniqueOutPtr stderr_to_discard; -+ gboolean success = g_spawn_command_line_sync( -+ "rpm -qi gstreamer1-libav", -+ &stdout_to_discard.outPtr(), -+ &stderr_to_discard.outPtr(), -+ &exit_status, -+ &error.outPtr()); -+ if (success && !error && !exit_status) -+ set.add(String::fromUTF8("video/mp4")); -+ - return set; - }(); - return cache; diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3aadece..103bff0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.2 -Release: 2%{?dist} +Version: 2.12.3 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -16,8 +16,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch -# https://bugs.webkit.org/show_bug.cgi?id=135972 -Patch1: webkitgtk-2.11.5-youtube.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -248,6 +246,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue May 24 2016 Tomas Popela - 2.12.3-1 +- Update to 2.12.3 + * Fri Apr 29 2016 Igor Gnatenko - 2.12.2-2 - Remove typelib from jsc-devel because it is in jsc From f5504fb90b7e3ab9b3f965044da5b8bb23b1d705 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 24 Aug 2016 11:31:29 +0200 Subject: [PATCH 09/29] Update to 2.12.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d2b5f8b..6e931dc 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ /webkitgtk-2.12.1.tar.xz /webkitgtk-2.12.2.tar.xz /webkitgtk-2.12.3.tar.xz +/webkitgtk-2.12.4.tar.xz diff --git a/sources b/sources index 3ba2373..18369f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aebb4029c09dd81664aa830e4a584c85 webkitgtk-2.12.3.tar.xz +0331ac714fd1a0587ffea470ef1afb20 webkitgtk-2.12.4.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 103bff0..64f9d1e 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.3 +Version: 2.12.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -246,6 +246,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Aug 24 2016 Tomas Popela - 2.12.4-1 +- Update to 2.12.4 + * Tue May 24 2016 Tomas Popela - 2.12.3-1 - Update to 2.12.3 From e2ef2475d3d1dda03a151e7c3bd51b5083c10c64 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 1 Sep 2016 15:35:31 -0500 Subject: [PATCH 10/29] Add patch for network loader regression --- webkitgtk-2.12.4-message-sender-destination.patch | 11 +++++++++++ webkitgtk4.spec | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 webkitgtk-2.12.4-message-sender-destination.patch diff --git a/webkitgtk-2.12.4-message-sender-destination.patch b/webkitgtk-2.12.4-message-sender-destination.patch new file mode 100644 index 0000000..b8ad1e7 --- /dev/null +++ b/webkitgtk-2.12.4-message-sender-destination.patch @@ -0,0 +1,11 @@ +Index: /Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp +=================================================================== +--- a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp ++++ b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp +@@ -407,5 +407,5 @@ + sendReplyToSynchronousRequest(*m_synchronousLoadData, nullptr); + } else if (auto* connection = messageSenderConnection()) +- connection->send(Messages::WebResourceLoader::DidFailResourceLoad(error), 0, 0); ++ connection->send(Messages::WebResourceLoader::DidFailResourceLoad(error), messageSenderDestinationID(), 0); + + cleanup(); diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 64f9d1e..87f3ecf 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.12.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -16,6 +16,8 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch +# https://bugs.webkit.org/show_bug.cgi?id=161494 +Patch1: webkitgtk-2.12.4-message-sender-destination.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -246,6 +248,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Sep 01 2016 Michael Catanzaro - 2.12.4-1 +- Add patch for network loader regression + * Wed Aug 24 2016 Tomas Popela - 2.12.4-1 - Update to 2.12.4 From 497226d6efc7aae6f0b53bd7abd81d54f437a953 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 1 Sep 2016 15:38:46 -0500 Subject: [PATCH 11/29] Fix changelog --- webkitgtk4.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 87f3ecf..2fd35b7 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -248,7 +248,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog -* Thu Sep 01 2016 Michael Catanzaro - 2.12.4-1 +* Thu Sep 01 2016 Michael Catanzaro - 2.12.4-2 - Add patch for network loader regression * Wed Aug 24 2016 Tomas Popela - 2.12.4-1 From 5f43cac7e41fca40e47d6fe97fa8d46c82988188 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 5 Sep 2016 12:51:14 +0200 Subject: [PATCH 12/29] Update to 2.12.5 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.12.4-message-sender-destination.patch | 11 ----------- webkitgtk4.spec | 9 +++++---- 4 files changed, 7 insertions(+), 16 deletions(-) delete mode 100644 webkitgtk-2.12.4-message-sender-destination.patch diff --git a/.gitignore b/.gitignore index 6e931dc..87d96a9 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /webkitgtk-2.12.2.tar.xz /webkitgtk-2.12.3.tar.xz /webkitgtk-2.12.4.tar.xz +/webkitgtk-2.12.5.tar.xz diff --git a/sources b/sources index 18369f6..ca5838d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0331ac714fd1a0587ffea470ef1afb20 webkitgtk-2.12.4.tar.xz +7a9ea00ec195488db90fdeb2d174ddaf webkitgtk-2.12.5.tar.xz diff --git a/webkitgtk-2.12.4-message-sender-destination.patch b/webkitgtk-2.12.4-message-sender-destination.patch deleted file mode 100644 index b8ad1e7..0000000 --- a/webkitgtk-2.12.4-message-sender-destination.patch +++ /dev/null @@ -1,11 +0,0 @@ -Index: /Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp -=================================================================== ---- a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp -+++ b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp -@@ -407,5 +407,5 @@ - sendReplyToSynchronousRequest(*m_synchronousLoadData, nullptr); - } else if (auto* connection = messageSenderConnection()) -- connection->send(Messages::WebResourceLoader::DidFailResourceLoad(error), 0, 0); -+ connection->send(Messages::WebResourceLoader::DidFailResourceLoad(error), messageSenderDestinationID(), 0); - - cleanup(); diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 2fd35b7..288d6a9 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.4 -Release: 2%{?dist} +Version: 2.12.5 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -16,8 +16,6 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch -# https://bugs.webkit.org/show_bug.cgi?id=161494 -Patch1: webkitgtk-2.12.4-message-sender-destination.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -248,6 +246,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Sep 05 2016 Tomas Popela - 2.12.5-1 +- Update to 2.12.5 + * Thu Sep 01 2016 Michael Catanzaro - 2.12.4-2 - Add patch for network loader regression From 4b6b238226598f05eb57d8e81a05f0441cecec6e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Sep 2016 10:07:35 +0200 Subject: [PATCH 13/29] Update to 2.14.0 --- .gitignore | 1 + fedora-crypto-policy.patch | 39 ++++++++++++++++++++++++++++++++++++++ sources | 2 +- webkitgtk4.spec | 19 ++++++++++++++----- 4 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 fedora-crypto-policy.patch diff --git a/.gitignore b/.gitignore index 87d96a9..e94111f 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /webkitgtk-2.12.3.tar.xz /webkitgtk-2.12.4.tar.xz /webkitgtk-2.12.5.tar.xz +/webkitgtk-2.14.0.tar.xz diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch new file mode 100644 index 0000000..cb7c756 --- /dev/null +++ b/fedora-crypto-policy.patch @@ -0,0 +1,39 @@ +From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Sun, 19 Jun 2016 21:10:03 -0500 +Subject: [PATCH] https://fedoraproject.org/wiki/Packaging:CryptoPolicies + +--- + Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp | 2 +- + Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +index b282e16..ed8bbbd 100644 +--- a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp ++++ b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +@@ -39,7 +39,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); + + return NetworkProcessMainUnix(argc, argv); + } +diff --git a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +index 5f45d01..2b34ead 100644 +--- a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp ++++ b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +@@ -39,7 +39,7 @@ int main(int argc, char** argv) + // overwrite this priority string if it's already set by the user. + // https://bugzilla.gnome.org/show_bug.cgi?id=738633 + // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); + + return WebProcessMainUnix(argc, argv); + } +-- +2.7.4 + diff --git a/sources b/sources index ca5838d..9f3a052 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7a9ea00ec195488db90fdeb2d174ddaf webkitgtk-2.12.5.tar.xz +20f21f48677559750581471c7aeb8648 webkitgtk-2.14.0.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 288d6a9..3474904 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.12.5 +Version: 2.14.0 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -16,6 +16,9 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=142074 Patch0: webkitgtk-2.7.90-user-agent-branding.patch +# https://fedoraproject.org/wiki/Packaging:CryptoPolicies +# https://bugs.webkit.org/show_bug.cgi?id=158785 +Patch1: fedora-crypto-policy.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -54,6 +57,7 @@ BuildRequires: perl-Switch BuildRequires: ruby rubypick rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel +BuildRequires: gnutls-devel %ifarch ppc BuildRequires: libatomic %endif @@ -64,9 +68,11 @@ Requires: geoclue2 Obsoletes: libwebkit2gtk < 2.5.0 Provides: libwebkit2gtk = %{version}-%{release} -# We're supposed to specify a version here, but this is pointless because ANGLE -# doesn't do normal releases. WebKit uses git snapshots. -Provides: bundled(angle) +# We're supposed to specify versions here, but these crap Google libs don't do +# normal releases. Accordingly, they're not suitable to be system libs. +Provides: bundled(angle) +Provides: bundled(brotli) +Provides: bundled(woff2) # Require the jsc subpackage Requires: %{name}-jsc%{?_isa} = %{version}-%{release} @@ -167,7 +173,7 @@ pushd %{_target_platform} %ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DENABLE_JIT=OFF \ %endif -%ifarch s390 s390x ppc %{power64} %{arm} aarch64 %{mips} +%ifarch s390 s390x ppc %{power64} aarch64 %{mips} -DUSE_SYSTEM_MALLOC=ON \ %endif .. @@ -246,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Sep 20 2016 Tomas Popela - 2.14.0-1 +- Update to 2.14.0 + * Mon Sep 05 2016 Tomas Popela - 2.12.5-1 - Update to 2.12.5 From e1a8400f5ad9944f49983db80bcabbbec35da4bd Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 12 Oct 2016 08:03:24 +0200 Subject: [PATCH 14/29] Update to 2.14.1 --- .gitignore | 1 + sources | 2 +- webkitgtk-2.14.1-user-agent-branding.patch | 14 +++++++++++ webkitgtk-2.7.90-user-agent-branding.patch | 27 ---------------------- webkitgtk4.spec | 9 +++++--- 5 files changed, 22 insertions(+), 31 deletions(-) create mode 100644 webkitgtk-2.14.1-user-agent-branding.patch delete mode 100644 webkitgtk-2.7.90-user-agent-branding.patch diff --git a/.gitignore b/.gitignore index e94111f..8b89773 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ /webkitgtk-2.12.4.tar.xz /webkitgtk-2.12.5.tar.xz /webkitgtk-2.14.0.tar.xz +/webkitgtk-2.14.1.tar.xz diff --git a/sources b/sources index 9f3a052..84d7620 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -20f21f48677559750581471c7aeb8648 webkitgtk-2.14.0.tar.xz +8d6c60dc41604d3bbd43165a674c07e5 webkitgtk-2.14.1.tar.xz diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch new file mode 100644 index 0000000..bfb4faf --- /dev/null +++ b/webkitgtk-2.14.1-user-agent-branding.patch @@ -0,0 +1,14 @@ +diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp +--- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 ++++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 +@@ -121,6 +121,10 @@ static String buildUserAgentString(const + + uaString.appendLiteral("; "); + ++#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); ++#endif ++ + if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) + uaString.appendLiteral("Intel Mac OS X 10_12"); + else diff --git a/webkitgtk-2.7.90-user-agent-branding.patch b/webkitgtk-2.7.90-user-agent-branding.patch deleted file mode 100644 index 84b5117..0000000 --- a/webkitgtk-2.7.90-user-agent-branding.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 050232bc122d6785fea01d39121c2f93e8dd16f1 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Thu, 26 Feb 2015 16:06:36 -0600 -Subject: [PATCH] Allow branding the user agent - ---- - Source/WebCore/platform/gtk/UserAgentGtk.cpp | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Source/WebCore/platform/gtk/UserAgentGtk.cpp b/Source/WebCore/platform/gtk/UserAgentGtk.cpp -index 91641dc..727fbaf 100644 ---- a/Source/WebCore/platform/gtk/UserAgentGtk.cpp -+++ b/Source/WebCore/platform/gtk/UserAgentGtk.cpp -@@ -84,7 +84,9 @@ static const char* cpuDescriptionForUAString() - - static const char* platformForUAString() - { --#if PLATFORM(X11) -+#if defined USER_AGENT_GTK_DISTRIBUTOR_NAME -+ return USER_AGENT_GTK_DISTRIBUTOR_NAME; -+#elif PLATFORM(X11) - return "X11"; - #elif OS(WINDOWS) - return ""; --- -2.1.0 - diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 3474904..f54d723 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.0 +Version: 2.14.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -14,8 +14,8 @@ License: LGPLv2 URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz -# https://bugs.webkit.org/show_bug.cgi?id=142074 -Patch0: webkitgtk-2.7.90-user-agent-branding.patch +# https://bugs.webkit.org/show_bug.cgi?id=162611 +Patch0: webkitgtk-2.14.1-user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Oct 12 2016 Tomas Popela - 2.14.1-1 +- Update to 2.14.1 + * Tue Sep 20 2016 Tomas Popela - 2.14.0-1 - Update to 2.14.0 From e0e2ceba001987c55cc409e5bbbaa48fc9427d0e Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 12 Oct 2016 11:58:57 +0200 Subject: [PATCH 15/29] jsc and MiniBrowser are now installed into libexec instead of bin --- webkitgtk4.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index f54d723..428b0ef 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -220,7 +220,7 @@ make %{?_smp_mflags} -C %{_target_platform} %exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 %files devel -%{_bindir}/MiniBrowser +%{_libexecdir}/webkit2gtk-4.0/MiniBrowser %{_includedir}/webkitgtk-4.0/ %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore %{_libdir}/libwebkit2gtk-4.0.so @@ -235,7 +235,7 @@ make %{?_smp_mflags} -C %{_target_platform} %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib %files jsc-devel -%{_bindir}/jsc +%{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 %{_includedir}/webkitgtk-4.0/JavaScriptCore/ %{_libdir}/libjavascriptcoregtk-4.0.so From 3c847612ce34e64ae80a48c99eaba8e8a8d18b94 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 3 Nov 2016 10:11:55 +0100 Subject: [PATCH 16/29] Update to 2.14.2 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8b89773..0b040f8 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ /webkitgtk-2.12.5.tar.xz /webkitgtk-2.14.0.tar.xz /webkitgtk-2.14.1.tar.xz +/webkitgtk-2.14.2.tar.xz diff --git a/sources b/sources index 84d7620..48f6cf0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8d6c60dc41604d3bbd43165a674c07e5 webkitgtk-2.14.1.tar.xz +2fe3cadbc546d93ca68a13756c2be015 webkitgtk-2.14.2.tar.xz diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 428b0ef..9f70b86 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.1 +Version: 2.14.2 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Nov 03 2016 Tomas Popela - 2.14.2-1 +- Update to 2.14.2 + * Wed Oct 12 2016 Tomas Popela - 2.14.1-1 - Update to 2.14.1 From 7859cafbf243e7c6933d0df08cf1f190fdb47561 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 17 Jan 2017 16:35:17 +0100 Subject: [PATCH 17/29] Update to 2.14.3 --- .gitignore | 1 + sources | 2 +- user-agent-branding.patch | 14 ++++++++++++++ webkitgtk-2.14.1-user-agent-branding.patch | 14 -------------- webkitgtk4.spec | 7 +++++-- 5 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 user-agent-branding.patch delete mode 100644 webkitgtk-2.14.1-user-agent-branding.patch diff --git a/.gitignore b/.gitignore index 0b040f8..24b6506 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /webkitgtk-2.14.0.tar.xz /webkitgtk-2.14.1.tar.xz /webkitgtk-2.14.2.tar.xz +/webkitgtk-2.14.3.tar.xz diff --git a/sources b/sources index 48f6cf0..1c38811 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2fe3cadbc546d93ca68a13756c2be015 webkitgtk-2.14.2.tar.xz +cb08302a3e140f5487fe757262cf5267 webkitgtk-2.14.3.tar.xz diff --git a/user-agent-branding.patch b/user-agent-branding.patch new file mode 100644 index 0000000..c9e1b21 --- /dev/null +++ b/user-agent-branding.patch @@ -0,0 +1,14 @@ +diff -up webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp +--- webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2017-01-17 16:33:10.899640430 +0100 ++++ webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2017-01-17 16:32:26.930817219 +0100 +@@ -125,6 +125,10 @@ static String buildUserAgentString(const + + uaString.appendLiteral("; "); + ++#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); ++#endif ++ + if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) + uaString.appendLiteral("Intel Mac OS X 10_12"); + else if (quirks.contains(UserAgentQuirks::NeedsLinuxDesktopPlatform)) diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch deleted file mode 100644 index bfb4faf..0000000 --- a/webkitgtk-2.14.1-user-agent-branding.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp ---- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 -+++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 -@@ -121,6 +121,10 @@ static String buildUserAgentString(const - - uaString.appendLiteral("; "); - -+#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); -+#endif -+ - if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) - uaString.appendLiteral("Intel Mac OS X 10_12"); - else diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 9f70b86..a2aec10 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.2 +Version: 2.14.3 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -15,7 +15,7 @@ URL: http://www.webkitgtk.org/ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz # https://bugs.webkit.org/show_bug.cgi?id=162611 -Patch0: webkitgtk-2.14.1-user-agent-branding.patch +Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jan 17 2017 Tomas Popela - 2.14.3-1 +- Update to 2.14.3 + * Thu Nov 03 2016 Tomas Popela - 2.14.2-1 - Update to 2.14.2 From 2f86be49dc794429575e3364f64603aee6d17080 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 17 Jan 2017 17:58:02 +0100 Subject: [PATCH 18/29] Update the sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 1c38811..6f3f563 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cb08302a3e140f5487fe757262cf5267 webkitgtk-2.14.3.tar.xz +SHA512 (webkitgtk-2.14.3.tar.xz) = b530b84f238230f29462ef599ffd1b9a9458690ba03a78d09126bf4c4ab37b4dfb477da7c364d2446cc259720ff4743112672ebf7888b8e3ff2c8fc1271fda57 From e7dc381824731d9e9952ba75203007af37cf93ba Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Fri, 10 Feb 2017 12:37:28 +0100 Subject: [PATCH 19/29] Update to 2.14.4 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 24b6506..a0e155c 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /webkitgtk-2.14.1.tar.xz /webkitgtk-2.14.2.tar.xz /webkitgtk-2.14.3.tar.xz +/webkitgtk-2.14.4.tar.xz diff --git a/sources b/sources index 6f3f563..00555d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.14.3.tar.xz) = b530b84f238230f29462ef599ffd1b9a9458690ba03a78d09126bf4c4ab37b4dfb477da7c364d2446cc259720ff4743112672ebf7888b8e3ff2c8fc1271fda57 +SHA512 (webkitgtk-2.14.4.tar.xz) = 12b5332a3879c2b240a5ae0886a25cab9ae5bc35b983f3decef9e203014e853a01eeab25c40a65f2982a8d23bccc7262ee84a9709511ddacfb73a96f769b58e4 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index a2aec10..8592267 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.3 +Version: 2.14.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Fri Feb 10 2017 Tomas Popela - 2.14.4-1 +- Update to 2.14.4 + * Tue Jan 17 2017 Tomas Popela - 2.14.3-1 - Update to 2.14.3 From 0ab5de32df18063d8dc469d4b14802583c033e28 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 15 Feb 2017 09:38:24 +0100 Subject: [PATCH 20/29] Update to 2.14.5 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a0e155c..c7c7c67 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /webkitgtk-2.14.2.tar.xz /webkitgtk-2.14.3.tar.xz /webkitgtk-2.14.4.tar.xz +/webkitgtk-2.14.5.tar.xz diff --git a/sources b/sources index 00555d5..af728a7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.14.4.tar.xz) = 12b5332a3879c2b240a5ae0886a25cab9ae5bc35b983f3decef9e203014e853a01eeab25c40a65f2982a8d23bccc7262ee84a9709511ddacfb73a96f769b58e4 +SHA512 (webkitgtk-2.14.5.tar.xz) = 3351d9b05458434835fa2db050c34906649c3b1222d7936d123306634a46e35e8cc3aa1bb7512b103af1996fce722254692826b6f695e32ae176032dc8c94e1c diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8592267..6963a97 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.4 +Version: 2.14.5 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -252,6 +252,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed Feb 15 2017 Tomas Popela - 2.14.5-1 +- Update to 2.14.5 + * Fri Feb 10 2017 Tomas Popela - 2.14.4-1 - Update to 2.14.4 From 377effaa4355aa4d486e8ce0fce920f30194fb81 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 20 Mar 2017 14:18:13 +0100 Subject: [PATCH 21/29] Update to 2.16.0 --- .gitignore | 1 + sources | 2 +- user-agent-branding.patch | 25 ++++++++++++------------- webkitgtk4.spec | 8 +++++++- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index c7c7c67..ebb038f 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /webkitgtk-2.14.3.tar.xz /webkitgtk-2.14.4.tar.xz /webkitgtk-2.14.5.tar.xz +/webkitgtk-2.16.0.tar.xz diff --git a/sources b/sources index af728a7..c99396b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.14.5.tar.xz) = 3351d9b05458434835fa2db050c34906649c3b1222d7936d123306634a46e35e8cc3aa1bb7512b103af1996fce722254692826b6f695e32ae176032dc8c94e1c +SHA512 (webkitgtk-2.16.0.tar.xz) = 7ad889484dda5d91009b1375eb4188b5bf7bf9ff7cc2b253dc702511d1b5859d18076a14246cc928fb4736676dbc5ee33f5afa944c3cb9ec013227a34bbb9523 diff --git a/user-agent-branding.patch b/user-agent-branding.patch index c9e1b21..d2dbd86 100644 --- a/user-agent-branding.patch +++ b/user-agent-branding.patch @@ -1,14 +1,13 @@ -diff -up webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp ---- webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2017-01-17 16:33:10.899640430 +0100 -+++ webkitgtk-2.14.3/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2017-01-17 16:32:26.930817219 +0100 -@@ -125,6 +125,10 @@ static String buildUserAgentString(const - - uaString.appendLiteral("; "); - -+#ifdef USER_AGENT_GTK_DISTRIBUTOR_NAME -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); +diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp +--- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 ++++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 +@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) + else { + uaString.append(platformForUAString()); + uaString.appendLiteral("; "); ++#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) ++ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); +#endif -+ - if (quirks.contains(UserAgentQuirks::NeedsMacintoshPlatform)) - uaString.appendLiteral("Intel Mac OS X 10_12"); - else if (quirks.contains(UserAgentQuirks::NeedsLinuxDesktopPlatform)) + uaString.append(platformVersionForUAString()); + } + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 6963a97..2ac08e1 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.14.5 +Version: 2.16.0 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -54,6 +54,7 @@ BuildRequires: libwayland-server-devel BuildRequires: mesa-libGL-devel BuildRequires: pcre-devel BuildRequires: perl-Switch +BuildRequires: perl-JSON-PP BuildRequires: ruby rubypick rubygems BuildRequires: sqlite-devel BuildRequires: hyphen-devel @@ -93,6 +94,7 @@ This package contains WebKitGTK+ for GTK+ 3. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} Requires: %{name}-jsc-devel%{?_isa} = %{version}-%{release} %description devel @@ -124,6 +126,7 @@ files for developing applications that use JavaScript engine from %{name}. %package plugin-process-gtk2 Summary: GTK+ 2 based NPAPI plugins support for %{name} Obsoletes: %{name} < 2.12.0-3 +Requires: %{name}-jsc%{?_isa} = %{version}-%{release} %description plugin-process-gtk2 Support for the GTK+ 2 based NPAPI plugins (such as Adobe Flash) for %{name}. @@ -252,6 +255,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Mar 20 2017 Tomas Popela - 2.16.0-1 +- Update to 2.16.0 + * Wed Feb 15 2017 Tomas Popela - 2.14.5-1 - Update to 2.14.5 From 3aa17ec92900dd8bcabb444e11d922fc69e76dfd Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 4 Apr 2017 10:39:21 +0200 Subject: [PATCH 22/29] Update to 2.16.1 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ebb038f..8aa85ca 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /webkitgtk-2.14.4.tar.xz /webkitgtk-2.14.5.tar.xz /webkitgtk-2.16.0.tar.xz +/webkitgtk-2.16.1.tar.xz diff --git a/sources b/sources index c99396b..701baeb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.0.tar.xz) = 7ad889484dda5d91009b1375eb4188b5bf7bf9ff7cc2b253dc702511d1b5859d18076a14246cc928fb4736676dbc5ee33f5afa944c3cb9ec013227a34bbb9523 +SHA512 (webkitgtk-2.16.1.tar.xz) = 4b8de15644d0d0f9814c674020cbbab8628347915b8010977dbe2365ce276ea05b3bf86171400ae8eb5bfdebbadcfabd1efce34a177b5c82aa765bd3351e7010 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 2ac08e1..0844a43 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.0 +Version: 2.16.1 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -255,6 +255,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Apr 04 2017 Tomas Popela - 2.16.1-1 +- Update to 2.16.1 + * Mon Mar 20 2017 Tomas Popela - 2.16.0-1 - Update to 2.16.0 From 115c9cddf1b65177bf63b57e7e16a20fbc7956d5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Thu, 6 Apr 2017 10:33:28 +0200 Subject: [PATCH 23/29] Add patch for freezing regression --- ...C-MachineThreads-does-not-consider-s.patch | 390 ++++++++++++++++++ ...ge-when-an-invalid-message-is-receiv.patch | 38 ++ webkitgtk4.spec | 9 +- 3 files changed, 436 insertions(+), 1 deletion(-) create mode 100644 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch create mode 100644 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch diff --git a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch new file mode 100644 index 0000000..80318f0 --- /dev/null +++ b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch @@ -0,0 +1,390 @@ +From 70c605847496766b0ca59bee03ecadb74e54a159 Mon Sep 17 00:00:00 2001 +From: "carlosgc@webkit.org" + +Date: Tue, 4 Apr 2017 16:12:17 +0000 +Subject: [PATCH] Merge r214319 - [JSC] MachineThreads does not consider + situation that one thread has multiple VMs + https://bugs.webkit.org/show_bug.cgi?id=169819 + +Reviewed by Mark Lam. + +The Linux port of PlatformThread suspend/resume mechanism relies on having a thread +specific singleton thread data, and was relying on MachineThreads::Thread to be this +thread specific singleton. But because MachineThreads::Thread is not a thread specific +singleton, we can get a deadlock in the GTK port's DatabaseProcess. + +This patch fixes this issue by moving per thread data from MachineThreads::Thread to +MachineThreads::ThreadData, where there will only be one instance of +MachineThreads::ThreadData per thread. Each MachineThreads::Thread will now point to +the same MachineThreads::ThreadData for any given thread. + +* heap/MachineStackMarker.cpp: +(pthreadSignalHandlerSuspendResume): +(JSC::threadData): +(JSC::MachineThreads::Thread::Thread): +(JSC::MachineThreads::Thread::createForCurrentThread): +(JSC::MachineThreads::Thread::operator==): +(JSC::MachineThreads::ThreadData::ThreadData): +(JSC::MachineThreads::ThreadData::~ThreadData): +(JSC::MachineThreads::ThreadData::suspend): +(JSC::MachineThreads::ThreadData::resume): +(JSC::MachineThreads::ThreadData::getRegisters): +(JSC::MachineThreads::ThreadData::Registers::stackPointer): +(JSC::MachineThreads::ThreadData::Registers::framePointer): +(JSC::MachineThreads::ThreadData::Registers::instructionPointer): +(JSC::MachineThreads::ThreadData::Registers::llintPC): +(JSC::MachineThreads::ThreadData::freeRegisters): +(JSC::MachineThreads::ThreadData::captureStack): +(JSC::MachineThreads::tryCopyOtherThreadStacks): +(JSC::MachineThreads::Thread::~Thread): Deleted. +(JSC::MachineThreads::Thread::suspend): Deleted. +(JSC::MachineThreads::Thread::resume): Deleted. +(JSC::MachineThreads::Thread::getRegisters): Deleted. +(JSC::MachineThreads::Thread::Registers::stackPointer): Deleted. +(JSC::MachineThreads::Thread::Registers::framePointer): Deleted. +(JSC::MachineThreads::Thread::Registers::instructionPointer): Deleted. +(JSC::MachineThreads::Thread::Registers::llintPC): Deleted. +(JSC::MachineThreads::Thread::freeRegisters): Deleted. +(JSC::MachineThreads::Thread::captureStack): Deleted. +* heap/MachineStackMarker.h: +(JSC::MachineThreads::Thread::operator!=): +(JSC::MachineThreads::Thread::suspend): +(JSC::MachineThreads::Thread::resume): +(JSC::MachineThreads::Thread::getRegisters): +(JSC::MachineThreads::Thread::freeRegisters): +(JSC::MachineThreads::Thread::captureStack): +(JSC::MachineThreads::Thread::platformThread): +(JSC::MachineThreads::Thread::stackBase): +(JSC::MachineThreads::Thread::stackEnd): +* runtime/SamplingProfiler.cpp: +(JSC::FrameWalker::isValidFramePointer): +* runtime/VMTraps.cpp: +(JSC::findActiveVMAndStackBounds): + +git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.16@214882 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/heap/MachineStackMarker.cpp | 73 +++++++++++++--------- + Source/JavaScriptCore/heap/MachineStackMarker.h | 41 +++++++++--- + Source/JavaScriptCore/runtime/SamplingProfiler.cpp | 4 +- + 4 files changed, 137 insertions(+), 41 deletions(-) + +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +index 65eb0cf0d9b..5fea745d2ad 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + + #if OS(DARWIN) +@@ -69,14 +70,14 @@ + // We use SIGUSR2 to suspend and resume machine threads in JavaScriptCore. + static const int SigThreadSuspendResume = SIGUSR2; + static StaticLock globalSignalLock; +-thread_local static std::atomic threadLocalCurrentThread; ++thread_local static std::atomic threadLocalCurrentThread { nullptr }; + + static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + { + // Touching thread local atomic types from signal handlers is allowed. +- JSC::MachineThreads::Thread* thread = threadLocalCurrentThread.load(); ++ JSC::MachineThreads::ThreadData* threadData = threadLocalCurrentThread.load(); + +- if (thread->suspended.load(std::memory_order_acquire)) { ++ if (threadData->suspended.load(std::memory_order_acquire)) { + // This is signal handler invocation that is intended to be used to resume sigsuspend. + // So this handler invocation itself should not process. + // +@@ -88,9 +89,9 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + + ucontext_t* userContext = static_cast(ucontext); + #if CPU(PPC) +- thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; ++ threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; + #else +- thread->suspendedMachineContext = userContext->uc_mcontext; ++ threadData->suspendedMachineContext = userContext->uc_mcontext; + #endif + + // Allow suspend caller to see that this thread is suspended. +@@ -99,7 +100,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + // + // And sem_post emits memory barrier that ensures that suspendedMachineContext is correctly saved. + // http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_11 +- sem_post(&thread->semaphoreForSuspendResume); ++ sem_post(&threadData->semaphoreForSuspendResume); + + // Reaching here, SigThreadSuspendResume is blocked in this handler (this is configured by sigaction's sa_mask). + // So before calling sigsuspend, SigThreadSuspendResume to this thread is deferred. This ensures that the handler is not executed recursively. +@@ -109,7 +110,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) + sigsuspend(&blockedSignalSet); + + // Allow resume caller to see that this thread is resumed. +- sem_post(&thread->semaphoreForSuspendResume); ++ sem_post(&threadData->semaphoreForSuspendResume); + } + #endif // USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) + +@@ -215,18 +216,29 @@ MachineThreads::~MachineThreads() + } + } + ++static MachineThreads::ThreadData* threadData() ++{ ++ static NeverDestroyed> threadData; ++ return threadData.get(); ++} ++ ++MachineThreads::Thread::Thread(ThreadData* threadData) ++ : data(threadData) ++{ ++ ASSERT(threadData); ++} ++ + Thread* MachineThreads::Thread::createForCurrentThread() + { +- auto stackBounds = wtfThreadData().stack(); +- return new Thread(getCurrentPlatformThread(), stackBounds.origin(), stackBounds.end()); ++ return new Thread(threadData()); + } + + bool MachineThreads::Thread::operator==(const PlatformThread& other) const + { + #if OS(DARWIN) || OS(WINDOWS) +- return platformThread == other; ++ return data->platformThread == other; + #elif USE(PTHREADS) +- return !!pthread_equal(platformThread, other); ++ return !!pthread_equal(data->platformThread, other); + #else + #error Need a way to compare threads on this platform + #endif +@@ -325,11 +337,13 @@ void MachineThreads::gatherFromCurrentThread(ConservativeRoots& conservativeRoot + conservativeRoots.add(currentThreadState.stackTop, currentThreadState.stackOrigin, jitStubRoutines, codeBlocks); + } + +-MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, void* end) +- : platformThread(platThread) +- , stackBase(base) +- , stackEnd(end) ++MachineThreads::ThreadData::ThreadData() + { ++ auto stackBounds = wtfThreadData().stack(); ++ platformThread = getCurrentPlatformThread(); ++ stackBase = stackBounds.origin(); ++ stackEnd = stackBounds.end(); ++ + #if OS(WINDOWS) + ASSERT(platformThread == GetCurrentThreadId()); + bool isSuccessful = +@@ -362,7 +376,7 @@ MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, voi + #endif + } + +-MachineThreads::Thread::~Thread() ++MachineThreads::ThreadData::~ThreadData() + { + #if OS(WINDOWS) + CloseHandle(platformThreadHandle); +@@ -371,7 +385,7 @@ MachineThreads::Thread::~Thread() + #endif + } + +-bool MachineThreads::Thread::suspend() ++bool MachineThreads::ThreadData::suspend() + { + #if OS(DARWIN) + kern_return_t result = thread_suspend(platformThread); +@@ -408,7 +422,7 @@ bool MachineThreads::Thread::suspend() + #endif + } + +-void MachineThreads::Thread::resume() ++void MachineThreads::ThreadData::resume() + { + #if OS(DARWIN) + thread_resume(platformThread); +@@ -439,9 +453,9 @@ void MachineThreads::Thread::resume() + #endif + } + +-size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) ++size_t MachineThreads::ThreadData::getRegisters(ThreadData::Registers& registers) + { +- Thread::Registers::PlatformRegisters& regs = registers.regs; ++ ThreadData::Registers::PlatformRegisters& regs = registers.regs; + #if OS(DARWIN) + #if CPU(X86) + unsigned user_count = sizeof(regs)/sizeof(int); +@@ -496,7 +510,7 @@ size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) + #endif + } + +-void* MachineThreads::Thread::Registers::stackPointer() const ++void* MachineThreads::ThreadData::Registers::stackPointer() const + { + #if OS(DARWIN) + +@@ -601,7 +615,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const + } + + #if ENABLE(SAMPLING_PROFILER) +-void* MachineThreads::Thread::Registers::framePointer() const ++void* MachineThreads::ThreadData::Registers::framePointer() const + { + #if OS(DARWIN) + +@@ -684,7 +698,7 @@ void* MachineThreads::Thread::Registers::framePointer() const + #endif + } + +-void* MachineThreads::Thread::Registers::instructionPointer() const ++void* MachineThreads::ThreadData::Registers::instructionPointer() const + { + #if OS(DARWIN) + +@@ -765,7 +779,8 @@ void* MachineThreads::Thread::Registers::instructionPointer() const + #error Need a way to get the instruction pointer for another thread on this platform + #endif + } +-void* MachineThreads::Thread::Registers::llintPC() const ++ ++void* MachineThreads::ThreadData::Registers::llintPC() const + { + // LLInt uses regT4 as PC. + #if OS(DARWIN) +@@ -858,9 +873,9 @@ void* MachineThreads::Thread::Registers::llintPC() const + } + #endif // ENABLE(SAMPLING_PROFILER) + +-void MachineThreads::Thread::freeRegisters(Thread::Registers& registers) ++void MachineThreads::ThreadData::freeRegisters(ThreadData::Registers& registers) + { +- Thread::Registers::PlatformRegisters& regs = registers.regs; ++ ThreadData::Registers::PlatformRegisters& regs = registers.regs; + #if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) + pthread_attr_destroy(®s.attribute); + #else +@@ -883,7 +898,7 @@ static inline int osRedZoneAdjustment() + return redZoneAdjustment; + } + +-std::pair MachineThreads::Thread::captureStack(void* stackTop) ++std::pair MachineThreads::ThreadData::captureStack(void* stackTop) + { + char* begin = reinterpret_cast_ptr(stackBase); + char* end = bitwise_cast(WTF::roundUpToMultipleOf(reinterpret_cast(stackTop))); +@@ -971,12 +986,12 @@ bool MachineThreads::tryCopyOtherThreadStacks(LockHolder&, void* buffer, size_t + } + + // Re-do the suspension to get the actual failure result for logging. +- kern_return_t error = thread_suspend(thread->platformThread); ++ kern_return_t error = thread_suspend(thread->platformThread()); + ASSERT(error != KERN_SUCCESS); + + WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, + "JavaScript garbage collection encountered an invalid thread (err 0x%x): Thread [%d/%d: %p] platformThread %p.", +- error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread)); ++ error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread())); + + // Put the invalid thread on the threadsToBeDeleted list. + // We can't just delete it here because we have suspended other +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.h b/Source/JavaScriptCore/heap/MachineStackMarker.h +index a5a50870922..da979c582ec 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.h ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.h +@@ -74,14 +74,13 @@ public: + + JS_EXPORT_PRIVATE void addCurrentThread(); // Only needs to be called by clients that can use the same heap from multiple threads. + +- class Thread { ++ class ThreadData { + WTF_MAKE_FAST_ALLOCATED; +- Thread(const PlatformThread& platThread, void* base, void* end); +- + public: +- ~Thread(); ++ ThreadData(); ++ ~ThreadData(); + +- static Thread* createForCurrentThread(); ++ static ThreadData* createForCurrentThread(); + + struct Registers { + void* stackPointer() const; +@@ -118,12 +117,9 @@ public: + #else + #error Need a thread register struct for this platform + #endif +- ++ + PlatformRegisters regs; + }; +- +- bool operator==(const PlatformThread& other) const; +- bool operator!=(const PlatformThread& other) const { return !(*this == other); } + + bool suspend(); + void resume(); +@@ -131,7 +127,6 @@ public: + void freeRegisters(Registers&); + std::pair captureStack(void* stackTop); + +- Thread* next; + PlatformThread platformThread; + void* stackBase; + void* stackEnd; +@@ -145,6 +140,32 @@ public: + #endif + }; + ++ class Thread { ++ WTF_MAKE_FAST_ALLOCATED; ++ Thread(ThreadData*); ++ ++ public: ++ using Registers = ThreadData::Registers; ++ ++ static Thread* createForCurrentThread(); ++ ++ bool operator==(const PlatformThread& other) const; ++ bool operator!=(const PlatformThread& other) const { return !(*this == other); } ++ ++ bool suspend() { return data->suspend(); } ++ void resume() { data->resume(); } ++ size_t getRegisters(Registers& regs) { return data->getRegisters(regs); } ++ void freeRegisters(Registers& regs) { data->freeRegisters(regs); } ++ std::pair captureStack(void* stackTop) { return data->captureStack(stackTop); } ++ ++ const PlatformThread& platformThread() { return data->platformThread; } ++ void* stackBase() const { return data->stackBase; } ++ void* stackEnd() const { return data->stackEnd; } ++ ++ Thread* next; ++ ThreadData* data; ++ }; ++ + Lock& getLock() { return m_registeredThreadsMutex; } + Thread* threadsListHead(const LockHolder&) const { ASSERT(m_registeredThreadsMutex.isLocked()); return m_registeredThreads; } + Thread* machineThreadForCurrentThread(); +diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp +index a8d953d6622..9326d7a0fc9 100644 +--- a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp ++++ b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp +@@ -169,8 +169,8 @@ protected: + { + uint8_t* fpCast = bitwise_cast(exec); + for (MachineThreads::Thread* thread = m_vm.heap.machineThreads().threadsListHead(m_machineThreadsLocker); thread; thread = thread->next) { +- uint8_t* stackBase = static_cast(thread->stackBase); +- uint8_t* stackLimit = static_cast(thread->stackEnd); ++ uint8_t* stackBase = static_cast(thread->stackBase()); ++ uint8_t* stackLimit = static_cast(thread->stackEnd()); + RELEASE_ASSERT(stackBase); + RELEASE_ASSERT(stackLimit); + if (fpCast <= stackBase && fpCast >= stackLimit) +-- +2.12.2 + diff --git a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch new file mode 100644 index 0000000..796e637 --- /dev/null +++ b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch @@ -0,0 +1,38 @@ +From 7a4822f02bd724c1eb3079158f93331c4090b9ad Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + +Date: Wed, 5 Apr 2017 16:50:03 +0000 +Subject: [PATCH] Show a log message when an invalid message is received in non + cocoa ports https://bugs.webkit.org/show_bug.cgi?id=170506 + +Patch by Carlos Garcia Campos on 2017-04-05 +Reviewed by Michael Catanzaro. + +We just crash, but without knowing the details about the message it's impossible to debug. + +* Shared/ChildProcess.cpp: +(WebKit::ChildProcess::didReceiveInvalidMessage): + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@214947 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/WebKit2/Shared/ChildProcess.cpp | 3 ++- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/Source/WebKit2/Shared/ChildProcess.cpp b/Source/WebKit2/Shared/ChildProcess.cpp +index 060c63ae792..bc1f2d6ab6a 100644 +--- a/Source/WebKit2/Shared/ChildProcess.cpp ++++ b/Source/WebKit2/Shared/ChildProcess.cpp +@@ -197,8 +197,9 @@ void ChildProcess::initializeSandbox(const ChildProcessInitializationParameters& + { + } + +-void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference) ++void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference messageReceiverName, IPC::StringReference messageName) + { ++ WTFLogAlways("Received invalid message: '%s::%s'", messageReceiverName.toString().data(), messageName.toString().data()); + CRASH(); + } + #endif +-- +2.12.2 + diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 0844a43..54fcaa0 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -7,7 +7,7 @@ Name: webkitgtk4 Version: 2.16.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,6 +19,10 @@ Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=170450 +Patch2: 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch +# https://bugs.webkit.org/show_bug.cgi?id=170506 +Patch3: 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -255,6 +259,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Thu Apr 06 2017 Tomas Popela - 2.16.1-2 +- Add patch for freezing regression + * Tue Apr 04 2017 Tomas Popela - 2.16.1-1 - Update to 2.16.1 From 9198fcc62b898a605f64c1f8fabd74a88ae62d3c Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Tue, 9 May 2017 08:12:52 -0500 Subject: [PATCH 24/29] Update to 2.16.2 --- .gitignore | 1 + ...C-MachineThreads-does-not-consider-s.patch | 390 ------------------ ...ge-when-an-invalid-message-is-receiv.patch | 38 -- sources | 2 +- webkitgtk4.spec | 11 +- 5 files changed, 7 insertions(+), 435 deletions(-) delete mode 100644 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch delete mode 100644 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch diff --git a/.gitignore b/.gitignore index 8aa85ca..aff1396 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /webkitgtk-2.14.5.tar.xz /webkitgtk-2.16.0.tar.xz /webkitgtk-2.16.1.tar.xz +/webkitgtk-2.16.2.tar.xz diff --git a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch b/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch deleted file mode 100644 index 80318f0..0000000 --- a/0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch +++ /dev/null @@ -1,390 +0,0 @@ -From 70c605847496766b0ca59bee03ecadb74e54a159 Mon Sep 17 00:00:00 2001 -From: "carlosgc@webkit.org" - -Date: Tue, 4 Apr 2017 16:12:17 +0000 -Subject: [PATCH] Merge r214319 - [JSC] MachineThreads does not consider - situation that one thread has multiple VMs - https://bugs.webkit.org/show_bug.cgi?id=169819 - -Reviewed by Mark Lam. - -The Linux port of PlatformThread suspend/resume mechanism relies on having a thread -specific singleton thread data, and was relying on MachineThreads::Thread to be this -thread specific singleton. But because MachineThreads::Thread is not a thread specific -singleton, we can get a deadlock in the GTK port's DatabaseProcess. - -This patch fixes this issue by moving per thread data from MachineThreads::Thread to -MachineThreads::ThreadData, where there will only be one instance of -MachineThreads::ThreadData per thread. Each MachineThreads::Thread will now point to -the same MachineThreads::ThreadData for any given thread. - -* heap/MachineStackMarker.cpp: -(pthreadSignalHandlerSuspendResume): -(JSC::threadData): -(JSC::MachineThreads::Thread::Thread): -(JSC::MachineThreads::Thread::createForCurrentThread): -(JSC::MachineThreads::Thread::operator==): -(JSC::MachineThreads::ThreadData::ThreadData): -(JSC::MachineThreads::ThreadData::~ThreadData): -(JSC::MachineThreads::ThreadData::suspend): -(JSC::MachineThreads::ThreadData::resume): -(JSC::MachineThreads::ThreadData::getRegisters): -(JSC::MachineThreads::ThreadData::Registers::stackPointer): -(JSC::MachineThreads::ThreadData::Registers::framePointer): -(JSC::MachineThreads::ThreadData::Registers::instructionPointer): -(JSC::MachineThreads::ThreadData::Registers::llintPC): -(JSC::MachineThreads::ThreadData::freeRegisters): -(JSC::MachineThreads::ThreadData::captureStack): -(JSC::MachineThreads::tryCopyOtherThreadStacks): -(JSC::MachineThreads::Thread::~Thread): Deleted. -(JSC::MachineThreads::Thread::suspend): Deleted. -(JSC::MachineThreads::Thread::resume): Deleted. -(JSC::MachineThreads::Thread::getRegisters): Deleted. -(JSC::MachineThreads::Thread::Registers::stackPointer): Deleted. -(JSC::MachineThreads::Thread::Registers::framePointer): Deleted. -(JSC::MachineThreads::Thread::Registers::instructionPointer): Deleted. -(JSC::MachineThreads::Thread::Registers::llintPC): Deleted. -(JSC::MachineThreads::Thread::freeRegisters): Deleted. -(JSC::MachineThreads::Thread::captureStack): Deleted. -* heap/MachineStackMarker.h: -(JSC::MachineThreads::Thread::operator!=): -(JSC::MachineThreads::Thread::suspend): -(JSC::MachineThreads::Thread::resume): -(JSC::MachineThreads::Thread::getRegisters): -(JSC::MachineThreads::Thread::freeRegisters): -(JSC::MachineThreads::Thread::captureStack): -(JSC::MachineThreads::Thread::platformThread): -(JSC::MachineThreads::Thread::stackBase): -(JSC::MachineThreads::Thread::stackEnd): -* runtime/SamplingProfiler.cpp: -(JSC::FrameWalker::isValidFramePointer): -* runtime/VMTraps.cpp: -(JSC::findActiveVMAndStackBounds): - -git-svn-id: http://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.16@214882 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/JavaScriptCore/heap/MachineStackMarker.cpp | 73 +++++++++++++--------- - Source/JavaScriptCore/heap/MachineStackMarker.h | 41 +++++++++--- - Source/JavaScriptCore/runtime/SamplingProfiler.cpp | 4 +- - 4 files changed, 137 insertions(+), 41 deletions(-) - -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -index 65eb0cf0d9b..5fea745d2ad 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - #include - - #if OS(DARWIN) -@@ -69,14 +70,14 @@ - // We use SIGUSR2 to suspend and resume machine threads in JavaScriptCore. - static const int SigThreadSuspendResume = SIGUSR2; - static StaticLock globalSignalLock; --thread_local static std::atomic threadLocalCurrentThread; -+thread_local static std::atomic threadLocalCurrentThread { nullptr }; - - static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - { - // Touching thread local atomic types from signal handlers is allowed. -- JSC::MachineThreads::Thread* thread = threadLocalCurrentThread.load(); -+ JSC::MachineThreads::ThreadData* threadData = threadLocalCurrentThread.load(); - -- if (thread->suspended.load(std::memory_order_acquire)) { -+ if (threadData->suspended.load(std::memory_order_acquire)) { - // This is signal handler invocation that is intended to be used to resume sigsuspend. - // So this handler invocation itself should not process. - // -@@ -88,9 +89,9 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - - ucontext_t* userContext = static_cast(ucontext); - #if CPU(PPC) -- thread->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; -+ threadData->suspendedMachineContext = *userContext->uc_mcontext.uc_regs; - #else -- thread->suspendedMachineContext = userContext->uc_mcontext; -+ threadData->suspendedMachineContext = userContext->uc_mcontext; - #endif - - // Allow suspend caller to see that this thread is suspended. -@@ -99,7 +100,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - // - // And sem_post emits memory barrier that ensures that suspendedMachineContext is correctly saved. - // http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_11 -- sem_post(&thread->semaphoreForSuspendResume); -+ sem_post(&threadData->semaphoreForSuspendResume); - - // Reaching here, SigThreadSuspendResume is blocked in this handler (this is configured by sigaction's sa_mask). - // So before calling sigsuspend, SigThreadSuspendResume to this thread is deferred. This ensures that the handler is not executed recursively. -@@ -109,7 +110,7 @@ static void pthreadSignalHandlerSuspendResume(int, siginfo_t*, void* ucontext) - sigsuspend(&blockedSignalSet); - - // Allow resume caller to see that this thread is resumed. -- sem_post(&thread->semaphoreForSuspendResume); -+ sem_post(&threadData->semaphoreForSuspendResume); - } - #endif // USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) - -@@ -215,18 +216,29 @@ MachineThreads::~MachineThreads() - } - } - -+static MachineThreads::ThreadData* threadData() -+{ -+ static NeverDestroyed> threadData; -+ return threadData.get(); -+} -+ -+MachineThreads::Thread::Thread(ThreadData* threadData) -+ : data(threadData) -+{ -+ ASSERT(threadData); -+} -+ - Thread* MachineThreads::Thread::createForCurrentThread() - { -- auto stackBounds = wtfThreadData().stack(); -- return new Thread(getCurrentPlatformThread(), stackBounds.origin(), stackBounds.end()); -+ return new Thread(threadData()); - } - - bool MachineThreads::Thread::operator==(const PlatformThread& other) const - { - #if OS(DARWIN) || OS(WINDOWS) -- return platformThread == other; -+ return data->platformThread == other; - #elif USE(PTHREADS) -- return !!pthread_equal(platformThread, other); -+ return !!pthread_equal(data->platformThread, other); - #else - #error Need a way to compare threads on this platform - #endif -@@ -325,11 +337,13 @@ void MachineThreads::gatherFromCurrentThread(ConservativeRoots& conservativeRoot - conservativeRoots.add(currentThreadState.stackTop, currentThreadState.stackOrigin, jitStubRoutines, codeBlocks); - } - --MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, void* end) -- : platformThread(platThread) -- , stackBase(base) -- , stackEnd(end) -+MachineThreads::ThreadData::ThreadData() - { -+ auto stackBounds = wtfThreadData().stack(); -+ platformThread = getCurrentPlatformThread(); -+ stackBase = stackBounds.origin(); -+ stackEnd = stackBounds.end(); -+ - #if OS(WINDOWS) - ASSERT(platformThread == GetCurrentThreadId()); - bool isSuccessful = -@@ -362,7 +376,7 @@ MachineThreads::Thread::Thread(const PlatformThread& platThread, void* base, voi - #endif - } - --MachineThreads::Thread::~Thread() -+MachineThreads::ThreadData::~ThreadData() - { - #if OS(WINDOWS) - CloseHandle(platformThreadHandle); -@@ -371,7 +385,7 @@ MachineThreads::Thread::~Thread() - #endif - } - --bool MachineThreads::Thread::suspend() -+bool MachineThreads::ThreadData::suspend() - { - #if OS(DARWIN) - kern_return_t result = thread_suspend(platformThread); -@@ -408,7 +422,7 @@ bool MachineThreads::Thread::suspend() - #endif - } - --void MachineThreads::Thread::resume() -+void MachineThreads::ThreadData::resume() - { - #if OS(DARWIN) - thread_resume(platformThread); -@@ -439,9 +453,9 @@ void MachineThreads::Thread::resume() - #endif - } - --size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) -+size_t MachineThreads::ThreadData::getRegisters(ThreadData::Registers& registers) - { -- Thread::Registers::PlatformRegisters& regs = registers.regs; -+ ThreadData::Registers::PlatformRegisters& regs = registers.regs; - #if OS(DARWIN) - #if CPU(X86) - unsigned user_count = sizeof(regs)/sizeof(int); -@@ -496,7 +510,7 @@ size_t MachineThreads::Thread::getRegisters(Thread::Registers& registers) - #endif - } - --void* MachineThreads::Thread::Registers::stackPointer() const -+void* MachineThreads::ThreadData::Registers::stackPointer() const - { - #if OS(DARWIN) - -@@ -601,7 +615,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const - } - - #if ENABLE(SAMPLING_PROFILER) --void* MachineThreads::Thread::Registers::framePointer() const -+void* MachineThreads::ThreadData::Registers::framePointer() const - { - #if OS(DARWIN) - -@@ -684,7 +698,7 @@ void* MachineThreads::Thread::Registers::framePointer() const - #endif - } - --void* MachineThreads::Thread::Registers::instructionPointer() const -+void* MachineThreads::ThreadData::Registers::instructionPointer() const - { - #if OS(DARWIN) - -@@ -765,7 +779,8 @@ void* MachineThreads::Thread::Registers::instructionPointer() const - #error Need a way to get the instruction pointer for another thread on this platform - #endif - } --void* MachineThreads::Thread::Registers::llintPC() const -+ -+void* MachineThreads::ThreadData::Registers::llintPC() const - { - // LLInt uses regT4 as PC. - #if OS(DARWIN) -@@ -858,9 +873,9 @@ void* MachineThreads::Thread::Registers::llintPC() const - } - #endif // ENABLE(SAMPLING_PROFILER) - --void MachineThreads::Thread::freeRegisters(Thread::Registers& registers) -+void MachineThreads::ThreadData::freeRegisters(ThreadData::Registers& registers) - { -- Thread::Registers::PlatformRegisters& regs = registers.regs; -+ ThreadData::Registers::PlatformRegisters& regs = registers.regs; - #if USE(PTHREADS) && !OS(WINDOWS) && !OS(DARWIN) - pthread_attr_destroy(®s.attribute); - #else -@@ -883,7 +898,7 @@ static inline int osRedZoneAdjustment() - return redZoneAdjustment; - } - --std::pair MachineThreads::Thread::captureStack(void* stackTop) -+std::pair MachineThreads::ThreadData::captureStack(void* stackTop) - { - char* begin = reinterpret_cast_ptr(stackBase); - char* end = bitwise_cast(WTF::roundUpToMultipleOf(reinterpret_cast(stackTop))); -@@ -971,12 +986,12 @@ bool MachineThreads::tryCopyOtherThreadStacks(LockHolder&, void* buffer, size_t - } - - // Re-do the suspension to get the actual failure result for logging. -- kern_return_t error = thread_suspend(thread->platformThread); -+ kern_return_t error = thread_suspend(thread->platformThread()); - ASSERT(error != KERN_SUCCESS); - - WTFReportError(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, - "JavaScript garbage collection encountered an invalid thread (err 0x%x): Thread [%d/%d: %p] platformThread %p.", -- error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread)); -+ error, index, numberOfThreads, thread, reinterpret_cast(thread->platformThread())); - - // Put the invalid thread on the threadsToBeDeleted list. - // We can't just delete it here because we have suspended other -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.h b/Source/JavaScriptCore/heap/MachineStackMarker.h -index a5a50870922..da979c582ec 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.h -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.h -@@ -74,14 +74,13 @@ public: - - JS_EXPORT_PRIVATE void addCurrentThread(); // Only needs to be called by clients that can use the same heap from multiple threads. - -- class Thread { -+ class ThreadData { - WTF_MAKE_FAST_ALLOCATED; -- Thread(const PlatformThread& platThread, void* base, void* end); -- - public: -- ~Thread(); -+ ThreadData(); -+ ~ThreadData(); - -- static Thread* createForCurrentThread(); -+ static ThreadData* createForCurrentThread(); - - struct Registers { - void* stackPointer() const; -@@ -118,12 +117,9 @@ public: - #else - #error Need a thread register struct for this platform - #endif -- -+ - PlatformRegisters regs; - }; -- -- bool operator==(const PlatformThread& other) const; -- bool operator!=(const PlatformThread& other) const { return !(*this == other); } - - bool suspend(); - void resume(); -@@ -131,7 +127,6 @@ public: - void freeRegisters(Registers&); - std::pair captureStack(void* stackTop); - -- Thread* next; - PlatformThread platformThread; - void* stackBase; - void* stackEnd; -@@ -145,6 +140,32 @@ public: - #endif - }; - -+ class Thread { -+ WTF_MAKE_FAST_ALLOCATED; -+ Thread(ThreadData*); -+ -+ public: -+ using Registers = ThreadData::Registers; -+ -+ static Thread* createForCurrentThread(); -+ -+ bool operator==(const PlatformThread& other) const; -+ bool operator!=(const PlatformThread& other) const { return !(*this == other); } -+ -+ bool suspend() { return data->suspend(); } -+ void resume() { data->resume(); } -+ size_t getRegisters(Registers& regs) { return data->getRegisters(regs); } -+ void freeRegisters(Registers& regs) { data->freeRegisters(regs); } -+ std::pair captureStack(void* stackTop) { return data->captureStack(stackTop); } -+ -+ const PlatformThread& platformThread() { return data->platformThread; } -+ void* stackBase() const { return data->stackBase; } -+ void* stackEnd() const { return data->stackEnd; } -+ -+ Thread* next; -+ ThreadData* data; -+ }; -+ - Lock& getLock() { return m_registeredThreadsMutex; } - Thread* threadsListHead(const LockHolder&) const { ASSERT(m_registeredThreadsMutex.isLocked()); return m_registeredThreads; } - Thread* machineThreadForCurrentThread(); -diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -index a8d953d6622..9326d7a0fc9 100644 ---- a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -+++ b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp -@@ -169,8 +169,8 @@ protected: - { - uint8_t* fpCast = bitwise_cast(exec); - for (MachineThreads::Thread* thread = m_vm.heap.machineThreads().threadsListHead(m_machineThreadsLocker); thread; thread = thread->next) { -- uint8_t* stackBase = static_cast(thread->stackBase); -- uint8_t* stackLimit = static_cast(thread->stackEnd); -+ uint8_t* stackBase = static_cast(thread->stackBase()); -+ uint8_t* stackLimit = static_cast(thread->stackEnd()); - RELEASE_ASSERT(stackBase); - RELEASE_ASSERT(stackLimit); - if (fpCast <= stackBase && fpCast >= stackLimit) --- -2.12.2 - diff --git a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch b/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch deleted file mode 100644 index 796e637..0000000 --- a/0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7a4822f02bd724c1eb3079158f93331c4090b9ad Mon Sep 17 00:00:00 2001 -From: "commit-queue@webkit.org" - -Date: Wed, 5 Apr 2017 16:50:03 +0000 -Subject: [PATCH] Show a log message when an invalid message is received in non - cocoa ports https://bugs.webkit.org/show_bug.cgi?id=170506 - -Patch by Carlos Garcia Campos on 2017-04-05 -Reviewed by Michael Catanzaro. - -We just crash, but without knowing the details about the message it's impossible to debug. - -* Shared/ChildProcess.cpp: -(WebKit::ChildProcess::didReceiveInvalidMessage): - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@214947 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/WebKit2/Shared/ChildProcess.cpp | 3 ++- - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Source/WebKit2/Shared/ChildProcess.cpp b/Source/WebKit2/Shared/ChildProcess.cpp -index 060c63ae792..bc1f2d6ab6a 100644 ---- a/Source/WebKit2/Shared/ChildProcess.cpp -+++ b/Source/WebKit2/Shared/ChildProcess.cpp -@@ -197,8 +197,9 @@ void ChildProcess::initializeSandbox(const ChildProcessInitializationParameters& - { - } - --void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference) -+void ChildProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference messageReceiverName, IPC::StringReference messageName) - { -+ WTFLogAlways("Received invalid message: '%s::%s'", messageReceiverName.toString().data(), messageName.toString().data()); - CRASH(); - } - #endif --- -2.12.2 - diff --git a/sources b/sources index 701baeb..4a3e943 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.1.tar.xz) = 4b8de15644d0d0f9814c674020cbbab8628347915b8010977dbe2365ce276ea05b3bf86171400ae8eb5bfdebbadcfabd1efce34a177b5c82aa765bd3351e7010 +SHA512 (webkitgtk-2.16.2.tar.xz) = 0bd16f663dffd41d713a53e2186576c4a7c42e7f872605a1688c80e8b55408b5f96f1274a1fe24624b4974240e901df5b11d1ff27a03fa2d9950575f1260abc8 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 54fcaa0..414ee0d 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,8 +6,8 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.1 -Release: 2%{?dist} +Version: 2.16.2 +Release: 1%{?dist} Summary: GTK+ Web content engine library License: LGPLv2 @@ -19,10 +19,6 @@ Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=170450 -Patch2: 0001-Merge-r214319-JSC-MachineThreads-does-not-consider-s.patch -# https://bugs.webkit.org/show_bug.cgi?id=170506 -Patch3: 0001-Show-a-log-message-when-an-invalid-message-is-receiv.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -259,6 +255,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue May 09 2017 Michael Catanzaro - 2.16.2-1 +- Update to 2.16.2 + * Thu Apr 06 2017 Tomas Popela - 2.16.1-2 - Add patch for freezing regression From be9850b0b568213af94cfa963a8a460757f08009 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Wed, 24 May 2017 14:54:44 +0200 Subject: [PATCH 25/29] Update to 2.16.3 --- .gitignore | 1 + fedora-crypto-policy.patch | 35 ++++++++++------------------------- sources | 2 +- webkitgtk4.spec | 5 ++++- 4 files changed, 16 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index aff1396..170f197 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ /webkitgtk-2.16.0.tar.xz /webkitgtk-2.16.1.tar.xz /webkitgtk-2.16.2.tar.xz +/webkitgtk-2.16.3.tar.xz diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch index cb7c756..cee0eae 100644 --- a/fedora-crypto-policy.patch +++ b/fedora-crypto-policy.patch @@ -1,39 +1,24 @@ -From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sun, 19 Jun 2016 21:10:03 -0500 -Subject: [PATCH] https://fedoraproject.org/wiki/Packaging:CryptoPolicies - ---- - Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp | 2 +- - Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -index b282e16..ed8bbbd 100644 ---- a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -+++ b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +diff -up webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp +--- webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp.orig 2017-05-22 11:25:38.492770258 +0200 ++++ webkitgtk-2.17.3/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp 2017-05-22 11:25:57.212665811 +0200 @@ -39,7 +39,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); return NetworkProcessMainUnix(argc, argv); } -diff --git a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -index 5f45d01..2b34ead 100644 ---- a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -+++ b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +diff -up webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp +--- webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp.orig 2017-05-22 11:26:12.941578052 +0200 ++++ webkitgtk-2.17.3/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2017-05-22 11:26:25.051510485 +0200 @@ -39,7 +39,7 @@ int main(int argc, char** argv) // overwrite this priority string if it's already set by the user. // https://bugzilla.gnome.org/show_bug.cgi?id=738633 // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); +- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); ++ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:!VERS-SSL3.0:!ARCFOUR-128", 0); return WebProcessMainUnix(argc, argv); } --- -2.7.4 - diff --git a/sources b/sources index 4a3e943..3c4aac0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.2.tar.xz) = 0bd16f663dffd41d713a53e2186576c4a7c42e7f872605a1688c80e8b55408b5f96f1274a1fe24624b4974240e901df5b11d1ff27a03fa2d9950575f1260abc8 +SHA512 (webkitgtk-2.16.3.tar.xz) = 551367551ed1bceaf9c70269f229e97972706820c6ae2d4444bc6d8b0992d6de34a156f9c245813c1f1701ce54f5476a44512590acfa6cfd6e67663d94caa91e diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 414ee0d..dfe8db1 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.2 +Version: 2.16.3 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -255,6 +255,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Wed May 24 2017 Tomas Popela - 2.16.3-1 +- Update to 2.16.3 + * Tue May 09 2017 Michael Catanzaro - 2.16.2-1 - Update to 2.16.2 From 093b2b2642dab42166db83c20a7952607cc9cabf Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Jun 2017 14:11:41 +0200 Subject: [PATCH 26/29] Update to 2.16.4 Fix CLoop crashes on big endian arches --- .gitignore | 1 + cloop-big-endians.patch | 30 ++++++++++++++++++++++++++++++ sources | 2 +- webkitgtk4.spec | 12 ++++++++++-- 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 cloop-big-endians.patch diff --git a/.gitignore b/.gitignore index 170f197..451efd4 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ /webkitgtk-2.16.1.tar.xz /webkitgtk-2.16.2.tar.xz /webkitgtk-2.16.3.tar.xz +/webkitgtk-2.16.4.tar.xz diff --git a/cloop-big-endians.patch b/cloop-big-endians.patch new file mode 100644 index 0000000..7bb12df --- /dev/null +++ b/cloop-big-endians.patch @@ -0,0 +1,30 @@ +diff -up webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp +--- webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp.b132333 2017-02-07 09:05:07.000000000 +0100 ++++ webkitgtk-2.14.7/Source/JavaScriptCore/bytecode/CodeBlock.cpp 2017-06-16 10:34:57.859748036 +0200 +@@ -2186,7 +2186,12 @@ void CodeBlock::finishCreation(VM& vm, S + instructions[i + 5].u.watchpointSet = op.watchpointSet; + else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ + break; + } + +@@ -2222,7 +2227,11 @@ void CodeBlock::finishCreation(VM& vm, S + op.watchpointSet->invalidate(vm, PutToScopeFireDetail(this, ident)); + } else if (op.structure) + instructions[i + 5].u.structure.set(vm, this, op.structure); +- instructions[i + 6].u.pointer = reinterpret_cast(op.operand); ++ ++ if (op.type == ClosureVar || op.type == ClosureVarWithVarInjectionChecks || op.type == GlobalProperty || op.type == GlobalPropertyWithVarInjectionChecks || op.type == ModuleVar) ++ instructions[i + 6].u.operand = op.operand; ++ else ++ instructions[i + 6].u.pointer = reinterpret_cast(op.operand); + + break; + } diff --git a/sources b/sources index 3c4aac0..4f6374a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.3.tar.xz) = 551367551ed1bceaf9c70269f229e97972706820c6ae2d4444bc6d8b0992d6de34a156f9c245813c1f1701ce54f5476a44512590acfa6cfd6e67663d94caa91e +SHA512 (webkitgtk-2.16.4.tar.xz) = 9643b40f5425cb6c13daf39cbe66db7103e588c8a6a1822709d1b2d24ddf73662c139337327a403c25678cec96df7e5ccf186c14aca162b6f32b5bc31310709c diff --git a/webkitgtk4.spec b/webkitgtk4.spec index dfe8db1..4d480f3 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.3 +Version: 2.16.4 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -18,7 +18,11 @@ Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch +Patch1: fedora-crypto-policy.patch +# https://bugs.webkit.org/show_bug.cgi?id=167643 +Patch2: gcc7.patch +# https://bugs.webkit.org/show_bug.cgi?id=132333 +Patch3: cloop-big-endians.patch BuildRequires: at-spi2-core-devel BuildRequires: bison @@ -255,6 +259,10 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jun 20 2017 Tomas Popela - 2.16.4-1 +- Update to 2.16.4 +- Fix CLoop crashes on big endian arches + * Wed May 24 2017 Tomas Popela - 2.16.3-1 - Update to 2.16.3 From 4feffc176f54729183eba3158d1ce4e584a5f1d1 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 20 Jun 2017 16:32:47 +0200 Subject: [PATCH 27/29] Don't apply patch that's not included --- webkitgtk4.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 4d480f3..4812745 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -19,10 +19,8 @@ Patch0: user-agent-branding.patch # https://fedoraproject.org/wiki/Packaging:CryptoPolicies # https://bugs.webkit.org/show_bug.cgi?id=158785 Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=167643 -Patch2: gcc7.patch # https://bugs.webkit.org/show_bug.cgi?id=132333 -Patch3: cloop-big-endians.patch +Patch2: cloop-big-endians.patch BuildRequires: at-spi2-core-devel BuildRequires: bison From 365351ffe6840813577e20bc587f4ddaf8cb8986 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 27 Jun 2017 10:26:38 +0200 Subject: [PATCH 28/29] Update to 2.16.5 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 451efd4..93ecefe 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ /webkitgtk-2.16.2.tar.xz /webkitgtk-2.16.3.tar.xz /webkitgtk-2.16.4.tar.xz +/webkitgtk-2.16.5.tar.xz diff --git a/sources b/sources index 4f6374a..b9720ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.4.tar.xz) = 9643b40f5425cb6c13daf39cbe66db7103e588c8a6a1822709d1b2d24ddf73662c139337327a403c25678cec96df7e5ccf186c14aca162b6f32b5bc31310709c +SHA512 (webkitgtk-2.16.5.tar.xz) = 9d7573da44267edcd83b4918e5f1e0516eb8d84c58ac6b239a2328448f96b39067b62bcd18e7d730ec0ef44b9f4b0a03712d17f9f465f00346a1f45a0a4ebb10 diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 4812745..8522c1d 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.4 +Version: 2.16.5 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Tue Jun 27 2017 Tomas Popela - 2.16.5-1 +- Update to 2.16.5 + * Tue Jun 20 2017 Tomas Popela - 2.16.4-1 - Update to 2.16.4 - Fix CLoop crashes on big endian arches From f84a809d8da34aca97329412ce04dc3b0b5aed52 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Mon, 24 Jul 2017 14:49:08 +0200 Subject: [PATCH 29/29] Update to 2.16.6 --- .gitignore | 1 + sources | 2 +- webkitgtk4.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 93ecefe..5fcd65f 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ /webkitgtk-2.16.3.tar.xz /webkitgtk-2.16.4.tar.xz /webkitgtk-2.16.5.tar.xz +/webkitgtk-2.16.6.tar.xz diff --git a/sources b/sources index b9720ed..042ed15 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (webkitgtk-2.16.5.tar.xz) = 9d7573da44267edcd83b4918e5f1e0516eb8d84c58ac6b239a2328448f96b39067b62bcd18e7d730ec0ef44b9f4b0a03712d17f9f465f00346a1f45a0a4ebb10 +SHA512 (webkitgtk-2.16.6.tar.xz) = bb488d7a60e4d6f9683ac343852a75854ef73e6b5aa093361ffe2d08e71e2f11c19da4447f9937221e518cda784bdacfcfd151f9395605a1957380fbc5b1533b diff --git a/webkitgtk4.spec b/webkitgtk4.spec index 8522c1d..092e0fe 100644 --- a/webkitgtk4.spec +++ b/webkitgtk4.spec @@ -6,7 +6,7 @@ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: webkitgtk4 -Version: 2.16.5 +Version: 2.16.6 Release: 1%{?dist} Summary: GTK+ Web content engine library @@ -257,6 +257,9 @@ make %{?_smp_mflags} -C %{_target_platform} %{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ %changelog +* Mon Jul 24 2017 Tomas Popela - 2.16.6-1 +- Update to 2.16.6 + * Tue Jun 27 2017 Tomas Popela - 2.16.5-1 - Update to 2.16.5