Compare commits
53 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27468b3461 | ||
|
|
c9b62988c4 | ||
|
|
73eaf9ffd1 | ||
|
|
fb7625e404 | ||
|
|
9abeed25af | ||
|
|
f9cb7b476c | ||
|
|
c226400b73 | ||
|
|
2abde4824f | ||
|
|
d1b02846ce | ||
|
|
364ecbb381 | ||
|
|
2523135044 | ||
|
|
d904936533 | ||
|
|
bdd870b524 | ||
|
|
81a0c6d688 | ||
|
|
e7dfe2e862 | ||
|
|
d25b058ac4 | ||
|
|
e569ded75b | ||
|
|
bc68b966d0 | ||
|
|
a7c036d48a | ||
|
|
7a594e89dc | ||
|
|
1bae23707b | ||
|
|
e463c1a1f1 | ||
|
|
c671c6c7ec | ||
|
|
d8f991faec | ||
|
|
e40e728b10 | ||
|
|
35fef59f95 | ||
|
|
e01bf68665 | ||
|
|
83536d6a20 | ||
|
|
0f582cde6e | ||
|
|
58220250a0 | ||
|
|
58d6d1de87 | ||
|
|
437faf53be | ||
|
|
2b96990c56 | ||
|
|
47dc1a3e7a | ||
|
|
86a70a9f7b | ||
|
|
4d0d6c00bf | ||
|
|
e770a5e461 | ||
|
|
17aa740afe | ||
|
|
1b6230b80a | ||
|
|
5e88d87612 | ||
|
|
149f49bf37 | ||
|
|
e46d966057 | ||
|
|
45a6e1ab6a | ||
|
|
c64f443a07 | ||
|
|
91413e4960 | ||
|
|
aade60fde1 | ||
|
|
f666166da9 | ||
|
|
b0089220b7 | ||
|
|
bca0b21f6a | ||
|
|
7988c84539 | ||
|
|
96d6289014 | ||
|
|
12cbb80e61 | ||
|
|
eb0ff85d48 |
9 changed files with 165 additions and 405 deletions
13
.gitignore
vendored
13
.gitignore
vendored
|
|
@ -12,6 +12,16 @@
|
|||
/webkitgtk-2.7.92.tar.xz
|
||||
/webkitgtk-2.8.0.tar.xz
|
||||
/webkitgtk-2.8.1.tar.xz
|
||||
/webkitgtk-2.8.2.tar.xz
|
||||
/webkitgtk-2.8.3.tar.xz
|
||||
/webkitgtk-2.8.4.tar.xz
|
||||
/webkitgtk-2.8.5.tar.xz
|
||||
/webkitgtk-2.10.4.tar.xz
|
||||
/webkitgtk-2.10.5.tar.xz
|
||||
/webkitgtk-2.10.6.tar.xz
|
||||
/webkitgtk-2.10.7.tar.xz
|
||||
/webkitgtk-2.10.8.tar.xz
|
||||
/webkitgtk-2.10.9.tar.xz
|
||||
/webkitgtk-2.9.1.tar.xz
|
||||
/webkitgtk-2.9.2.tar.xz
|
||||
/webkitgtk-2.9.3.tar.xz
|
||||
|
|
@ -33,3 +43,6 @@
|
|||
/webkitgtk-2.11.91.tar.xz
|
||||
/webkitgtk-2.11.92.tar.xz
|
||||
/webkitgtk-2.12.0.tar.xz
|
||||
/webkitgtk-2.12.1.tar.xz
|
||||
/webkitgtk-2.12.2.tar.xz
|
||||
/webkitgtk-2.12.3.tar.xz
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
d233b5594c37a961308c230207d8b64f webkitgtk-2.12.0.tar.xz
|
||||
aebb4029c09dd81664aa830e4a584c85 webkitgtk-2.12.3.tar.xz
|
||||
|
|
|
|||
13
webkitgtk-2.10.4-nspluginwrapper.patch
Normal file
13
webkitgtk-2.10.4-nspluginwrapper.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff -up webkitgtk-2.10.4/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp.nspluginwrapper webkitgtk-2.10.4/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp
|
||||
--- webkitgtk-2.10.4/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp.nspluginwrapper 2015-11-11 11:46:43.848699104 +0100
|
||||
+++ webkitgtk-2.10.4/Source/WebKit2/Shared/Plugins/unix/PluginSearchPath.cpp 2015-11-11 11:47:44.450490935 +0100
|
||||
@@ -68,6 +68,9 @@ Vector<String> pluginsDirectories()
|
||||
result.append("/usr/lib64/mozilla/plugins");
|
||||
result.append("/usr/lib/nsbrowser/plugins");
|
||||
result.append("/usr/lib64/nsbrowser/plugins");
|
||||
+ /* nspluginwrapper plugins */
|
||||
+ result.append("/usr/lib64/mozilla/plugins-wrapped");
|
||||
+ result.append("/usr/lib/mozilla/plugins-wrapped");
|
||||
#endif
|
||||
|
||||
return result;
|
||||
|
|
@ -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<String, ASCIICaseInsensit
|
||||
"video/flv",
|
||||
"video/mj2",
|
||||
"video/mp2t",
|
||||
- "video/mp4",
|
||||
+// "video/mp4",
|
||||
"video/mpeg",
|
||||
"video/mpegts",
|
||||
"video/ogg",
|
||||
@@ -1759,6 +1759,21 @@ static HashSet<String, ASCIICaseInsensit
|
||||
};
|
||||
for (auto& type : mimeTypes)
|
||||
set.add(type);
|
||||
+
|
||||
+ // Hack to make YouTube work, https://bugs.webkit.org/show_bug.cgi?id=135972
|
||||
+ gint exit_status = 1;
|
||||
+ GUniqueOutPtr<GError> error;
|
||||
+ GUniqueOutPtr<char> stdout_to_discard;
|
||||
+ GUniqueOutPtr<char> 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;
|
||||
|
|
@ -1,236 +0,0 @@
|
|||
From 43b6b949b80310c90d1628d660a8319c20f00246 Mon Sep 17 00:00:00 2001
|
||||
From: "zalan@apple.com" <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
|
||||
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
|
||||
<rdar://problem/25359164>
|
||||
|
||||
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<RenderStyle> 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<RenderBlock*>(downcast<RenderBlock>(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<RenderBlock>(*object))
|
||||
- object = object->containingBlock();
|
||||
-
|
||||
- while (object && object->isAnonymousBlock())
|
||||
- object = object->containingBlock();
|
||||
-
|
||||
- return const_cast<RenderBlock*>(downcast<RenderBlock>(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<RenderBlock*>(downcast<RenderBlock>(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<RenderBoxModelObject>(*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<RenderBlock*>(downcast<RenderBlock>(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<RenderBlock>(*object))
|
||||
+ object = object->containingBlock();
|
||||
+
|
||||
+ while (object && object->isAnonymousBlock())
|
||||
+ object = object->containingBlock();
|
||||
+
|
||||
+ return const_cast<RenderBlock*>(downcast<RenderBlock>(object));
|
||||
+}
|
||||
+
|
||||
+RenderBlock* containingBlockForObjectInFlow(const RenderElement* element)
|
||||
+{
|
||||
+ const auto* object = element;
|
||||
+ while (object && ((object->isInline() && !object->isReplaced()) || !object->isRenderBlock()))
|
||||
+ object = object->parent();
|
||||
+ return const_cast<RenderBlock*>(downcast<RenderBlock>(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<RenderStyle> 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<RenderText>(*this) && style.position() == FixedPosition)
|
||||
- parent = parent->containingBlockForFixedPosition();
|
||||
+ parent = containingBlockForFixedPosition(parent);
|
||||
else if (!is<RenderText>(*this) && style.position() == AbsolutePosition)
|
||||
- parent = parent->containingBlockForAbsolutePosition();
|
||||
+ parent = containingBlockForAbsolutePosition(parent);
|
||||
else
|
||||
- parent = parent->containingBlockForObjectInFlow();
|
||||
-
|
||||
- if (!is<RenderBlock>(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<RenderBlock>(parent);
|
||||
}
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
||||
14
webkitgtk-2.8.0-gcc5_fix.patch
Normal file
14
webkitgtk-2.8.0-gcc5_fix.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff -up webkitgtk-2.8.0/Source/JavaScriptCore/runtime/JSObject.cpp.s390_fixes webkitgtk-2.8.0/Source/JavaScriptCore/runtime/JSObject.cpp
|
||||
--- webkitgtk-2.8.0/Source/JavaScriptCore/runtime/JSObject.cpp.s390_fixes 2015-03-23 09:08:04.000000000 +0100
|
||||
+++ webkitgtk-2.8.0/Source/JavaScriptCore/runtime/JSObject.cpp 2015-03-27 10:59:40.245010499 +0100
|
||||
@@ -1965,6 +1965,10 @@ void JSObject::putByIndexBeyondVectorLen
|
||||
}
|
||||
}
|
||||
|
||||
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<ContiguousShape>(ExecState* exec, unsigned i, JSValue value);
|
||||
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<DoubleShape>(ExecState* exec, unsigned i, JSValue value);
|
||||
+template void JSObject::putByIndexBeyondVectorLengthWithoutAttributes<Int32Shape>(ExecState* exec, unsigned i, JSValue value);
|
||||
+
|
||||
void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
|
||||
{
|
||||
VM& vm = exec->vm();
|
||||
24
webkitgtk-2.8.0-s390_fixes.patch
Normal file
24
webkitgtk-2.8.0-s390_fixes.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
diff -up webkitgtk-2.8.0/Source/bmalloc/bmalloc/Algorithm.h.s390_fixes webkitgtk-2.8.0/Source/bmalloc/bmalloc/Algorithm.h
|
||||
--- webkitgtk-2.8.0/Source/bmalloc/bmalloc/Algorithm.h.s390_fixes 2015-03-04 15:25:17.000000000 +0100
|
||||
+++ webkitgtk-2.8.0/Source/bmalloc/bmalloc/Algorithm.h 2015-03-27 10:59:40.245010499 +0100
|
||||
@@ -66,7 +66,7 @@ inline constexpr bool isPowerOfTwo(size_
|
||||
template<typename T> inline T roundUpToMultipleOf(size_t divisor, T x)
|
||||
{
|
||||
BASSERT(isPowerOfTwo(divisor));
|
||||
- return reinterpret_cast<T>((reinterpret_cast<uintptr_t>(x) + (divisor - 1)) & ~(divisor - 1));
|
||||
+ return reinterpret_cast<T>((reinterpret_cast<size_t>(x) + (divisor - 1)) & ~(divisor - 1));
|
||||
}
|
||||
|
||||
template<size_t divisor, typename T> inline constexpr T roundUpToMultipleOf(T x)
|
||||
diff -up webkitgtk-2.8.0/Source/bmalloc/bmalloc/Sizes.h.s390_fixes webkitgtk-2.8.0/Source/bmalloc/bmalloc/Sizes.h
|
||||
--- webkitgtk-2.8.0/Source/bmalloc/bmalloc/Sizes.h.s390_fixes 2015-03-04 15:25:17.000000000 +0100
|
||||
+++ webkitgtk-2.8.0/Source/bmalloc/bmalloc/Sizes.h 2015-03-27 10:59:40.245010499 +0100
|
||||
@@ -99,7 +99,7 @@ namespace Sizes {
|
||||
inline size_t sizeClass(size_t size)
|
||||
{
|
||||
static const size_t sizeClassMask = (mediumMax / alignment) - 1;
|
||||
- return mask((size - 1) / alignment, sizeClassMask);
|
||||
+ return mask(static_cast<uintptr_t>((size - 1) / alignment), sizeClassMask);
|
||||
}
|
||||
|
||||
inline size_t objectSize(size_t sizeClass)
|
||||
34
webkitgtk-2.8.4-youtube.patch
Normal file
34
webkitgtk-2.8.4-youtube.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||
index 8929f2e..419330d 100644
|
||||
--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||
+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
|
||||
@@ -1767,7 +1767,7 @@ static HashSet<String> mimeTypeCache()
|
||||
"video/flv",
|
||||
"video/mj2",
|
||||
"video/mp2t",
|
||||
- "video/mp4",
|
||||
+// "video/mp4",
|
||||
"video/mpeg",
|
||||
"video/mpegts",
|
||||
"video/ogg",
|
||||
@@ -1794,6 +1794,20 @@ static HashSet<String> mimeTypeCache()
|
||||
for (unsigned i = 0; i < (sizeof(mimeTypes) / sizeof(*mimeTypes)); ++i)
|
||||
cache.add(String(mimeTypes[i]));
|
||||
|
||||
+ // Hack to make YouTube work, https://bugs.webkit.org/show_bug.cgi?id=135972
|
||||
+ gint exit_status = 1;
|
||||
+ GUniqueOutPtr<GError> error;
|
||||
+ GUniqueOutPtr<char> stdout_to_discard;
|
||||
+ GUniqueOutPtr<char> 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)
|
||||
+ cache.add(String::fromUTF8("video/mp4"));
|
||||
+
|
||||
typeListInitialized = true;
|
||||
return cache;
|
||||
}
|
||||
200
webkitgtk4.spec
200
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.3
|
||||
Release: 1%{?dist}
|
||||
Summary: GTK+ Web content engine library
|
||||
|
||||
License: LGPLv2
|
||||
|
|
@ -16,10 +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
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=155885
|
||||
Patch2: webkitgtk-2.12.0-repaintOrMarkForLayout.patch
|
||||
|
||||
BuildRequires: at-spi2-core-devel
|
||||
BuildRequires: bison
|
||||
|
|
@ -40,6 +36,7 @@ BuildRequires: gtk2-devel
|
|||
BuildRequires: gtk3-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: harfbuzz-devel
|
||||
BuildRequires: hyphen-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libnotify-devel
|
||||
|
|
@ -149,7 +146,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}
|
||||
|
|
@ -171,7 +168,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
|
||||
..
|
||||
|
|
@ -238,7 +235,6 @@ make %{?_smp_mflags} -C %{_target_platform}
|
|||
%{_includedir}/webkitgtk-4.0/JavaScriptCore/
|
||||
%{_libdir}/libjavascriptcoregtk-4.0.so
|
||||
%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc
|
||||
%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
|
||||
%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
|
||||
|
||||
%files plugin-process-gtk2
|
||||
|
|
@ -251,6 +247,22 @@ make %{?_smp_mflags} -C %{_target_platform}
|
|||
%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/
|
||||
|
||||
%changelog
|
||||
* Tue May 24 2016 Tomas Popela <tpopela@redhat.com> - 2.12.3-1
|
||||
- Update to 2.12.3
|
||||
|
||||
* Fri Apr 29 2016 Igor Gnatenko <ignatenko@redhat.com> - 2.12.2-2
|
||||
- Remove typelib from jsc-devel because it is in jsc
|
||||
|
||||
* Thu Apr 28 2016 Tomas Popela <tpopela@redhat.com> - 2.12.2-1
|
||||
- Update to 2.12.2
|
||||
|
||||
* Tue Apr 26 2016 Tomas Popela <tpopela@redhat.com> - 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 <tpopela@redhat.com> - 2.12.1-1
|
||||
- Update to 2.12.1
|
||||
|
||||
* Thu Apr 07 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.12.0-3
|
||||
- Attempt harder to ensure plugin-process-gtk2 is installed on upgrade
|
||||
|
||||
|
|
@ -258,154 +270,74 @@ make %{?_smp_mflags} -C %{_target_platform}
|
|||
- Attempt to ensure plugin-process-gtk2 is installed on upgrade
|
||||
- Add patch for WebKit#155885
|
||||
|
||||
* Tue Mar 22 2016 Tomas Popela <tpopela@redhat.com> - 2.12.0-1
|
||||
* Wed Mar 23 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.12.0-1
|
||||
- Update to 2.12.0
|
||||
|
||||
* Sun Mar 20 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.11.92-3
|
||||
- Add missing ldconfig call for jsc subpkg
|
||||
* Thu Mar 17 2016 Tomas Popela <tpopela@redhat.com> - 2.10.9-1
|
||||
- Update to 2.10.9
|
||||
|
||||
* Thu Mar 17 2016 Tomas Popela <tpopela@redhat.com> - 2.11.92-2
|
||||
- Fix the build with gcc6
|
||||
* Fri Mar 11 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.10.8-1
|
||||
- Update to 2.10.8
|
||||
- Fixes CVE-2016-1726
|
||||
|
||||
* Thu Mar 17 2016 Tomas Popela <tpopela@redhat.com> - 2.11.92-1
|
||||
- Update to 2.11.92
|
||||
* Mon Feb 01 2016 Tomas Popela <tpopela@redhat.com> - 2.10.7-1
|
||||
- Update to 2.10.7
|
||||
|
||||
* Tue Mar 15 2016 Tomas Popela <tpopela@redhat.com> - 2.11.91-2
|
||||
- Subpackage the WebKitPluginProcess2
|
||||
- Resolves: rhbz#1317692
|
||||
* Thu Jan 28 2016 Tomas Popela <tpopela@redhat.com> - 2.10.6-1
|
||||
- Update to 2.10.6
|
||||
|
||||
* Tue Mar 01 2016 Tomas Popela <tpopela@redhat.com> - 2.11.91-1
|
||||
- Update to 2.11.91
|
||||
* Wed Jan 20 2016 Tomas Popela <tpopela@redhat.com> - 2.10.5-1
|
||||
- Update to 2.10.5
|
||||
- Fixes CVE-2015-7096, CVE-2015-7098
|
||||
|
||||
* Mon Feb 29 2016 David King <amigadave@amigadave.com> - 2.11.90-4
|
||||
- Move JavaScriptCore headers to jsc-devel subpackage (#1312894)
|
||||
* Wed Jan 13 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.10.4-1
|
||||
- Update to 2.10.4. This update addresses the following vulnerabilities:
|
||||
CVE-2015-1122, CVE-2015-1152, CVE-2015-1155, CVE-2015-3660, CVE-2015-3730,
|
||||
CVE-2015-3738, CVE-2015-3740, CVE-2015-3742, CVE-2015-3744, CVE-2015-3746,
|
||||
CVE-2015-3750, CVE-2015-3751, CVE-2015-3754, CVE-2015-3755, CVE-2015-5804,
|
||||
CVE-2015-5805, CVE-2015-5807, CVE-2015-5810, CVE-2015-5813, CVE-2015-5814,
|
||||
CVE-2015-5815, CVE-2015-5817, CVE-2015-5818, CVE-2015-5825, CVE-2015-5827,
|
||||
CVE-2015-5828, CVE-2015-5929, CVE-2015-5930, CVE-2015-5931, CVE-2015-7002,
|
||||
CVE-2015-7013, CVE-2015-7014, CVE-2015-7048, CVE-2015-7095, CVE-2015-7097,
|
||||
CVE-2015-7099, CVE-2015-7100, CVE-2015-7102, CVE-2015-7103, CVE-2015-7104
|
||||
|
||||
* Wed Feb 24 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.11.90-3
|
||||
- Stop building with ENABLE_OPENGL=OFF, see WebKit#126122 and WebKit#150955.
|
||||
|
||||
* Mon Feb 22 2016 Tomas Popela <tpopela@redhat.com> - 2.11.90-1
|
||||
- Update to 2.11.90
|
||||
|
||||
* Tue Feb 9 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.11.5-2
|
||||
- Add ruby deps for build
|
||||
|
||||
* Tue Feb 09 2016 Tomas Popela <tpopela@redhat.com> - 2.11.5-1
|
||||
- Update to 2.11.5
|
||||
- Drop the llvm dependencies as we switched to B3
|
||||
- Rebase the YouTube patch
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jan 28 2016 Tomas Popela <tpopela@redhat.com> - 2.11.4-2
|
||||
- Rebuilt for LLVM rebase
|
||||
|
||||
* Wed Jan 20 2016 Tomas Popela <tpopela@redhat.com> - 2.11.4-1
|
||||
- Update to 2.11.4
|
||||
|
||||
* Wed Jan 13 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.11.3-2
|
||||
- Build with ENABLE_OPENGL=OFF as I think it is causing bugs.
|
||||
- Stop static linking to LLVM.
|
||||
|
||||
* Wed Jan 13 2016 Tomas Popela <tpopela@redhat.com> - 2.11.3-1
|
||||
- Update to 2.11.3
|
||||
|
||||
* Wed Dec 30 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.11.2-6
|
||||
- Remove webkitgtk-2.5.90-cloop_fix.patch and
|
||||
webkitgtk-2.8.0-page_size_align.patch. These have been broken for ages.
|
||||
- Remove webkitgtk-2.8.0-s390_fixes.patch since this is a patch for bmalloc, but
|
||||
we disable bmalloc on s390.
|
||||
- Don't request hardened build, it's the default.
|
||||
- Use public USE_SYSTEM_MALLOC option instead of unsupported USE_BMALLOC.
|
||||
- lldb is not bundled anymore.
|
||||
|
||||
* Wed Dec 30 2015 Michal Toman <mtoman@fedoraproject.org> - 2.11.2-5
|
||||
- Add support for MIPS
|
||||
|
||||
* Mon Dec 28 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.11.2-4
|
||||
- Rebuilt for libwebp soname bump
|
||||
|
||||
* Mon Dec 07 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-3
|
||||
- rhbz#1289053 - Retire nspluginwrapper and remove from Fedora 24
|
||||
|
||||
* Mon Nov 30 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-2
|
||||
- Introduce the jsc and jsc-devel subpackages with JavaScriptCore packaged
|
||||
- Resolves: rhbz#1176677
|
||||
|
||||
* Mon Nov 23 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-1
|
||||
- Update to 2.11.2
|
||||
- Enable FTL on x86_64
|
||||
|
||||
* Tue Nov 03 2015 Tomas Popela <tpopela@redhat.com> - 2.11.1-1
|
||||
- Update to 2.11.1
|
||||
|
||||
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 2.10.3-2
|
||||
- rebuild for ICU 56.1
|
||||
|
||||
* Tue Oct 27 2015 Tomas Popela <tpopela@redhat.com> - 2.10.3-1
|
||||
- Update to 2.10.3
|
||||
|
||||
* Thu Oct 15 2015 Tomas Popela <tpopela@redhat.com> - 2.10.2-1
|
||||
- Update to 2.10.2
|
||||
|
||||
* Thu Oct 15 2015 Kalev Lember <klember@redhat.com> - 2.10.1-2
|
||||
- Rebuilt
|
||||
|
||||
* Wed Oct 14 2015 Tomas Popela <tpopela@redhat.com> - 2.10.1-1
|
||||
- Update to 2.10.1
|
||||
|
||||
* Fri Oct 09 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.10.0-2
|
||||
- Add provides bundled(angle) since it's finally safe to do so.
|
||||
|
||||
* Mon Sep 21 2015 Kalev Lember <klember@redhat.com> - 2.10.0-1
|
||||
- Update to 2.10.0
|
||||
|
||||
* Wed Sep 16 2015 Tomas Popela <tpopela@redhat.com> - 2.9.92-1
|
||||
- Update to 2.9.92
|
||||
|
||||
* Wed Aug 26 2015 Kalev Lember <klember@redhat.com> - 2.9.91-1
|
||||
- Update to 2.9.91
|
||||
|
||||
* Mon Aug 24 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.90-2
|
||||
* Mon Aug 24 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.5-2
|
||||
- Remove the address space limit patch: it was causing too many problems.
|
||||
- (Warning! This means Red Hat Bugzilla can hang your computer again.)
|
||||
- Improve the YouTube patch to avoid spamming the journal with rpm output.
|
||||
- Add patch from upstream to workaround severe a performance regression.
|
||||
- No need to explicitly enable Wayland support anymore; it's now default.
|
||||
|
||||
* Wed Aug 19 2015 Kalev Lember <klember@redhat.com> - 2.9.90-1
|
||||
- Update to 2.9.90
|
||||
* Thu Aug 06 2015 Tomas Popela <tpopela@redhat.com> - 2.8.5-1
|
||||
- Update to 2.8.5
|
||||
|
||||
* Mon Aug 03 2015 Tomas Popela <tpopela@redhat.com> - 2.9.5-1
|
||||
- Update to 2.9.5
|
||||
|
||||
* Sat Aug 01 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.4-3
|
||||
* Sat Aug 01 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.4-4
|
||||
- Make YouTube work.
|
||||
|
||||
* Tue Jul 28 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.4-2
|
||||
* Tue Jul 28 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.4-3
|
||||
- Exempt the plugin process from the address space limit.
|
||||
|
||||
* Wed Jul 22 2015 Tomas Popela <tpopela@redhat.com> - 2.9.4-1
|
||||
- Update to 2.9.4
|
||||
|
||||
* Thu Jul 09 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.3-3
|
||||
* Thu Jul 09 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.4-2
|
||||
- Prevent runaway web processes from using unlimited memory.
|
||||
|
||||
* Wed Jul 01 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.3-2
|
||||
- Enable Wayland support at long last. Hopefully fixes #1220811.
|
||||
* Wed Jul 08 2015 Tomas Popela <tpopela@redhat.com> - 2.8.4-1
|
||||
- Update to 2.8.4
|
||||
|
||||
* Tue Jun 23 2015 Tomas Popela <tpopela@redhat.com> - 2.9.3-1
|
||||
- Update to 2.9.3
|
||||
* Thu Jul 02 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.3-5
|
||||
- Build i686 with -fno-tree-rsa, #1225733
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
* Mon Jun 15 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.3-4
|
||||
- Remove sqlite crash patch; didn't help
|
||||
|
||||
* Wed May 27 2015 Tomas Popela <tpopela@redhat.com> - 2.9.2-1
|
||||
- Update to 2.9.2
|
||||
* Thu Jun 11 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.3-3
|
||||
- Add speculative fix for sqlite crashes
|
||||
|
||||
* Thu May 07 2015 Tomas Popela <tpopela@redhat.com> - 2.9.1-1
|
||||
- Update to 2.9.1
|
||||
- Add hyphen-devel as BR
|
||||
* Thu May 28 2015 Tomas Popela <tpopela@redhat.com> - 2.8.3-2
|
||||
- Backport bmalloc fix (rhbz#1225733)
|
||||
|
||||
* Fri May 15 2015 Tomas Popela <tpopela@redhat.com> - 2.8.3-1
|
||||
- Update to 2.8.3
|
||||
|
||||
* Tue May 12 2015 Tomas Popela <tpopela@redhat.com> - 2.8.2-1
|
||||
- Update to 2.8.2
|
||||
|
||||
* Tue Apr 21 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.1-2
|
||||
- Reenable fast matrix multiplication on x86_64
|
||||
|
|
|
|||
Reference in a new issue