backport more upstream fixes

This commit is contained in:
Rex Dieter 2014-02-13 09:33:29 -06:00
parent 6b590a97c3
commit b9c539cc50
12 changed files with 699 additions and 1 deletions

View File

@ -0,0 +1,28 @@
From da4a1e8a69083f19bb7c4553b04934267d35fdd1 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Thu, 17 Oct 2013 15:55:24 +0200
Subject: [PATCH 10/20] SVG stroke-dasharray not working
When creating the QPainterPathStroker we forget to also copy the dashPattern property.
Task-number: QTBUG-34063
Change-Id: Idb4d124447e2727c418c8ca5e1de694245f6ba22
---
Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index 3f8aa8d..25d99ea 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -609,6 +609,7 @@ void GraphicsContext::strokePath(const Path& path)
QPainterPathStroker pathStroker;
pathStroker.setJoinStyle(pen.joinStyle());
pathStroker.setDashOffset(pen.dashOffset());
+ pathStroker.setDashPattern(pen.dashPattern());
pathStroker.setMiterLimit(pen.miterLimit());
pathStroker.setCapStyle(pen.capStyle());
pathStroker.setWidth(pen.widthF());
--
1.8.5.3

View File

@ -0,0 +1,87 @@
From dbc927aa59d0025f8aecec77d92a3d5166ecc644 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Thu, 17 Oct 2013 16:52:00 +0200
Subject: [PATCH 11/20] [Texmap] CSS filter not working on software composited
layers https://bugs.webkit.org/show_bug.cgi?id=122159
Reviewed by Noam Rosenthal.
Tell the rendering layer we do not support CSS filters when we do not. This
will make RenderLayer fall back to using its own software implementation.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setFilters):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
LayoutTests/platform/qt-4.8/TestExpectations | 3 ---
Source/WebCore/ChangeLog | 15 +++++++++++++++
.../graphics/texmap/GraphicsLayerTextureMapper.cpp | 4 ++++
.../platform/graphics/texmap/TextureMapperImageBuffer.cpp | 11 -----------
4 files changed, 19 insertions(+), 14 deletions(-)
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index e70115f..f0ebd4c 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2013-10-01 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Texmap] CSS filter not working on software composited layers
+ https://bugs.webkit.org/show_bug.cgi?id=122159
+
+ Reviewed by Noam Rosenthal.
+
+ Tell the rendering layer we do not support CSS filters when we do not. This
+ will make RenderLayer fall back to using its own software implementation.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::setFilters):
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+ (WebCore::BitmapTextureImageBuffer::applyFilters):
+
2013-09-17 Michael Brüning <michael.bruning@digia.com>
Correct range used for Emoji checks.
diff --git a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp b/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
index 364ddd2..bc71371 100644
--- a/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
+++ b/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
@@ -573,6 +573,10 @@ void GraphicsLayerTextureMapper::setDebugBorder(const Color& color, float width)
#if ENABLE(CSS_FILTERS)
bool GraphicsLayerTextureMapper::setFilters(const FilterOperations& filters)
{
+ TextureMapper* textureMapper = m_layer->textureMapper();
+ // TextureMapperImageBuffer does not support CSS filters.
+ if (!textureMapper || textureMapper->accelerationMode() == TextureMapper::SoftwareMode)
+ return false;
notifyChange(TextureMapperLayer::FilterChange);
return GraphicsLayer::setFilters(filters);
}
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp
index e01ed3d..112c795 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp
@@ -167,17 +167,6 @@ void TextureMapperImageBuffer::drawSolidColor(const FloatRect& rect, const Trans
#if ENABLE(CSS_FILTERS)
PassRefPtr<BitmapTexture> BitmapTextureImageBuffer::applyFilters(TextureMapper*, const BitmapTexture& contentTexture, const FilterOperations& filters)
{
- RefPtr<FilterEffectRenderer> renderer = FilterEffectRenderer::create();
- renderer->setSourceImageRect(FloatRect(FloatPoint::zero(), contentTexture.size()));
-
- // The document parameter is only needed for CSS shaders.
- if (renderer->build(0 /*document */, filters)) {
- renderer->allocateBackingStoreIfNeeded();
- GraphicsContext* context = renderer->inputContext();
- context->drawImageBuffer(static_cast<const BitmapTextureImageBuffer&>(contentTexture).m_image.get(), ColorSpaceDeviceRGB, IntPoint::zero());
- renderer->apply();
- m_image->context()->drawImageBuffer(renderer->output(), ColorSpaceDeviceRGB, renderer->outputRect());
- }
return this;
}
#endif
--
1.8.5.3

View File

@ -0,0 +1,33 @@
From 4e38510bbb77f339623545640178eb41af9f8641 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Mon, 21 Oct 2013 11:27:56 +0200
Subject: [PATCH 12/20] Do not try to compile header files, it causes weird
build failures on some systems.
---
Source/WebCore/Target.pri | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri
index 98eea8c..4544892 100644
--- a/Source/WebCore/Target.pri
+++ b/Source/WebCore/Target.pri
@@ -167,7 +167,6 @@ SOURCES += \
bindings/js/JSMessageChannelCustom.cpp \
bindings/js/JSMessageEventCustom.cpp \
bindings/js/JSMessagePortCustom.cpp \
- bindings/js/JSMessagePortCustom.h \
bindings/js/JSMicroDataItemValueCustom.cpp \
bindings/js/JSMutationCallbackCustom.cpp \
bindings/js/JSMutationObserverCustom.cpp \
@@ -1355,6 +1354,7 @@ HEADERS += \
bindings/js/JSImageConstructor.h \
bindings/js/JSLazyEventListener.h \
bindings/js/JSLocationCustom.h \
+ bindings/js/JSMessagePortCustom.h \
bindings/js/JSNodeCustom.h \
bindings/js/JSNodeFilterCondition.h \
bindings/js/JSPluginElementFunctions.h \
--
1.8.5.3

View File

@ -0,0 +1,26 @@
From f28e5ecd4af0f47037dc98eee784ff79f0ee5bff Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Tue, 22 Oct 2013 13:25:35 +0200
Subject: [PATCH 13/20] Reskip custom shader tests
---
LayoutTests/platform/qt-4.8/TestExpectations | 3 +++
1 file changed, 3 insertions(+)
diff --git a/LayoutTests/platform/qt-4.8/TestExpectations b/LayoutTests/platform/qt-4.8/TestExpectations
index 63aa329..bcdf82f 100644
--- a/LayoutTests/platform/qt-4.8/TestExpectations
+++ b/LayoutTests/platform/qt-4.8/TestExpectations
@@ -625,6 +625,9 @@ webkit.org/b/6033 css3/filters/nested-filters.html [ ImageOnlyFailure ]
webkit.org/b/6033 css3/filters/regions-expanding.html [ ImageOnlyFailure ]
webkit.org/b/6033 css3/filters/simple-filter-rendering.html [ ImageOnlyFailure ]
+# CSS shaders only work in qt-wk2
+css3/filters/custom
+
# UndoManager is not yet enabled.
webkit.org/b/87908 editing/undomanager [ Skip ]
--
1.8.5.3

View File

@ -0,0 +1,53 @@
From 970b44d61c9adc51c586069adc902e90bab09666 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Wed, 13 Nov 2013 11:34:35 +0100
Subject: [PATCH 14/20] Fix crash when converting QObjectList
We were passing on a PassRefPtr to multiple lower calls, since any
conversion from a PassRefPtr to a RefPtr will reset the PassRefPtr to
null, it should not be used for multiple calls.
Task-number: QTBUG-34278
Change-Id: I8d4bf28e25eb6e66baef38e0352c40a08f504538
---
Source/WebCore/bridge/qt/qt_runtime.cpp | 3 ++-
Source/WebCore/bridge/qt/qt_runtime_qt4.cpp | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp
index c058cf6..7a120f2 100644
--- a/Source/WebCore/bridge/qt/qt_runtime.cpp
+++ b/Source/WebCore/bridge/qt/qt_runtime.cpp
@@ -805,10 +805,11 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r
} else if (type == static_cast<QMetaType::Type>(qMetaTypeId<QObjectList>())) {
QObjectList ol = variant.value<QObjectList>();
JSObjectRef array = JSObjectMakeArray(context, 0, 0, exception);
+ RefPtr<RootObject> rootRef(root); // We need a real reference, since PassRefPtr may only be passed on to one call.
ExecState* exec = toJS(context);
APIEntryShim entryShim(exec);
for (int i = 0; i < ol.count(); ++i) {
- JSValueRef jsObject = toRef(exec, QtInstance::getQtInstance(ol.at(i), root, QtInstance::QtOwnership)->createRuntimeObject(exec));
+ JSValueRef jsObject = toRef(exec, QtInstance::getQtInstance(ol.at(i), rootRef, QtInstance::QtOwnership)->createRuntimeObject(exec));
JSObjectSetPropertyAtIndex(context, array, i, jsObject, /*ignored exception*/0);
}
return array;
diff --git a/Source/WebCore/bridge/qt/qt_runtime_qt4.cpp b/Source/WebCore/bridge/qt/qt_runtime_qt4.cpp
index 7397f1b..44eadec 100644
--- a/Source/WebCore/bridge/qt/qt_runtime_qt4.cpp
+++ b/Source/WebCore/bridge/qt/qt_runtime_qt4.cpp
@@ -809,10 +809,11 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r
} else if (type == static_cast<QMetaType::Type>(qMetaTypeId<QObjectList>())) {
QObjectList ol = variant.value<QObjectList>();
JSObjectRef array = JSObjectMakeArray(context, 0, 0, exception);
+ RefPtr<RootObject> rootRef(root); // We need a real reference, since PassRefPtr may only be passed on to one call.
ExecState* exec = toJS(context);
APIEntryShim entryShim(exec);
for (int i = 0; i < ol.count(); ++i) {
- JSValueRef jsObject = toRef(exec, QtInstance::getQtInstance(ol.at(i), root, QtInstance::QtOwnership)->createRuntimeObject(exec));
+ JSValueRef jsObject = toRef(exec, QtInstance::getQtInstance(ol.at(i), rootRef, QtInstance::QtOwnership)->createRuntimeObject(exec));
JSObjectSetPropertyAtIndex(context, array, i, jsObject, /*ignored exception*/0);
}
return array;
--
1.8.5.3

View File

@ -0,0 +1,111 @@
From a84c6dda2ab79017b9fbaa5cfd6ca554654913ac Mon Sep 17 00:00:00 2001
From: Huang Dongsung <luxtella@company100.net>
Date: Tue, 14 Jan 2014 14:20:13 +0100
Subject: [PATCH 15/20] [WebGL][EFL][Qt][GTK] Jelly fishes leave trails on
webgl canvas. https://bugs.webkit.org/show_bug.cgi?id=105326
Reviewed by Noam Rosenthal.
Clear a drawing buffer after compositing if preserveDrawingBuffer is
false.
http://www.khronos.org/registry/webgl/specs/latest/#2.2
No new tests. Covered by existing webgl-preserve-drawing-buffer-repaint test.
* platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(GraphicsContext3DPrivate::copyToGraphicsSurface):
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
Source/WebCore/ChangeLog | 21 +++++++++++++++++++++
.../graphics/cairo/GraphicsContext3DPrivate.cpp | 2 ++
.../graphics/efl/GraphicsContext3DPrivate.cpp | 2 ++
.../platform/graphics/qt/GraphicsContext3DQt.cpp | 2 ++
4 files changed, 27 insertions(+)
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index f0ebd4c..3fb41fe 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1222,6 +1222,27 @@
2012-12-20 Huang Dongsung <luxtella@company100.net>
+ [WebGL][EFL][Qt][GTK] Jelly fishes leave trails on webgl canvas.
+ https://bugs.webkit.org/show_bug.cgi?id=105326
+
+ Reviewed by Noam Rosenthal.
+
+ Clear a drawing buffer after compositing if preserveDrawingBuffer is
+ false.
+ http://www.khronos.org/registry/webgl/specs/latest/#2.2
+
+ No new tests. Covered by existing webgl-preserve-drawing-buffer-repaint test.
+
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (GraphicsContext3DPrivate::copyToGraphicsSurface):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
+
+2012-12-20 Huang Dongsung <luxtella@company100.net>
+
[TexMap] Remove ParentChange in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=105494
diff --git a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
index 294169e..dc96e2d 100644
--- a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
+++ b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
@@ -85,6 +85,8 @@ void GraphicsContext3DPrivate::paintToTextureMapper(TextureMapper* textureMapper
ASSERT(m_renderStyle == GraphicsContext3D::RenderOffscreen);
+ m_context->markLayerComposited();
+
// FIXME: We do not support mask for the moment with TextureMapperImageBuffer.
if (textureMapper->accelerationMode() != TextureMapper::OpenGLMode) {
GraphicsContext* context = textureMapper->graphicsContext();
diff --git a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp b/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp
index c9fc4a0..7f6024b 100644
--- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp
+++ b/Source/WebCore/platform/graphics/efl/GraphicsContext3DPrivate.cpp
@@ -141,6 +141,8 @@ uint32_t GraphicsContext3DPrivate::copyToGraphicsSurface()
if (!m_platformContext || !makeContextCurrent())
return 0;
+ m_context->markLayerComposited();
+
if (m_pendingSurfaceResize) {
m_pendingSurfaceResize = false;
m_platformSurface->setGeometry(IntRect(0, 0, m_context->m_currentWidth, m_context->m_currentHeight));
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
index e72701d..683b76c 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
@@ -233,6 +233,7 @@ static inline quint32 swapBgrToRgb(quint32 pixel)
#if USE(ACCELERATED_COMPOSITING)
void GraphicsContext3DPrivate::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& matrix, float opacity, BitmapTexture* mask)
{
+ m_context->markLayerComposited();
blitMultisampleFramebufferAndRestoreContext();
if (textureMapper->accelerationMode() == TextureMapper::OpenGLMode) {
@@ -299,6 +300,7 @@ uint32_t GraphicsContext3DPrivate::copyToGraphicsSurface()
if (!m_graphicsSurface)
return 0;
+ m_context->markLayerComposited();
blitMultisampleFramebufferAndRestoreContext();
makeCurrentIfNeeded();
m_graphicsSurface->copyFromTexture(m_context->m_texture, IntRect(0, 0, m_context->m_currentWidth, m_context->m_currentHeight));
--
1.8.5.3

View File

@ -0,0 +1,35 @@
From 0e53e7835c965e4c0d3ee5be47c67bb037808ac8 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Thu, 2 Jan 2014 14:19:22 +0100
Subject: [PATCH 16/20] Extend disabling of whole-program-optimizations to MSVC
2012 and 2013
Building with whole-program-optimizations remains a problem with MSVC
2012 and 2013, so we must continue to disable it.
Task-number: QTBUG-35835
Change-Id: Ic3131495ce0ce323ad041e51332969cc01b741c5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Conflicts:
Source/WebCore/WebCore.pri
---
Source/WebCore/WebCore.pri | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri
index ac96de5..9f91080 100644
--- a/Source/WebCore/WebCore.pri
+++ b/Source/WebCore/WebCore.pri
@@ -317,7 +317,7 @@ win32 {
}
# Remove whole program optimizations due to miscompilations
-win32-msvc2005|win32-msvc2008|win32-msvc2010|wince*:{
+win32-msvc2005|win32-msvc2008|win32-msvc2010|win32-msvc2012|win32-msvc2013|wince*:{
QMAKE_CFLAGS_LTCG -= -GL
QMAKE_CXXFLAGS_LTCG -= -GL
--
1.8.5.3

View File

@ -0,0 +1,70 @@
From 992932c174d581ad5bf67ee2b2d5fffcdae78198 Mon Sep 17 00:00:00 2001
From: Eike Ziller <eike.ziller@digia.com>
Date: Fri, 6 Dec 2013 12:40:56 +0100
Subject: [PATCH 17/20] OS X Mavericks/Xcode5: Find libxslt and libxml2 headers
The development headers are no longer installed in a system location,
but only in the sysroot.
Change-Id: Ie9b85ff638c435e7e4d0a538f6e72d2cdbae88c8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Conflicts:
Source/WebCore/WebCore.pri
Tools/qmake/config.tests/libxml2/libxml2.pro
Tools/qmake/config.tests/libxslt/libxslt.pro
---
Source/WebCore/WebCore.pri | 2 +-
Tools/qmake/config.tests/libxml2/libxml2.pro | 9 +++++++--
Tools/qmake/config.tests/libxslt/libxslt.pro | 9 +++++++--
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri
index 9f91080..d671e9c 100644
--- a/Source/WebCore/WebCore.pri
+++ b/Source/WebCore/WebCore.pri
@@ -108,7 +108,7 @@ INCLUDEPATH += $$WEBCORE_GENERATED_SOURCES_DIR
contains(DEFINES, ENABLE_XSLT=1) {
contains(DEFINES, WTF_USE_LIBXML2=1) {
mac {
- INCLUDEPATH += /usr/include/libxml2
+ QMAKE_CXXFLAGS += -iwithsysroot /usr/include/libxslt -iwithsysroot /usr/include/libxml2
LIBS += -lxml2 -lxslt
} else {
PKGCONFIG += libxslt
diff --git a/Tools/qmake/config.tests/libxml2/libxml2.pro b/Tools/qmake/config.tests/libxml2/libxml2.pro
index d5add8f..7c9baea 100644
--- a/Tools/qmake/config.tests/libxml2/libxml2.pro
+++ b/Tools/qmake/config.tests/libxml2/libxml2.pro
@@ -1,4 +1,9 @@
CONFIG -= qt
SOURCES = libxml2.cpp
-CONFIG += link_pkgconfig
-PKGCONFIG += libxml-2.0
+mac {
+ QMAKE_CXXFLAGS += -iwithsysroot /usr/include/libxml2
+ LIBS += -lxml2
+} else {
+ CONFIG += link_pkgconfig
+ PKGCONFIG += libxml-2.0
+}
diff --git a/Tools/qmake/config.tests/libxslt/libxslt.pro b/Tools/qmake/config.tests/libxslt/libxslt.pro
index 6359de3..967fe16 100644
--- a/Tools/qmake/config.tests/libxslt/libxslt.pro
+++ b/Tools/qmake/config.tests/libxslt/libxslt.pro
@@ -1,4 +1,9 @@
CONFIG -= qt
SOURCES = libxslt.cpp
-CONFIG += link_pkgconfig
-PKGCONFIG += libxslt
+mac {
+ QMAKE_CXXFLAGS += -iwithsysroot /usr/include/libxslt -iwithsysroot /usr/include/libxml2
+ LIBS += -lxslt
+} else {
+ CONFIG += link_pkgconfig
+ PKGCONFIG += libxslt
+}
--
1.8.5.3

View File

@ -0,0 +1,42 @@
From 1dc5bf780f19bb9dc3a0ac1ae99a4182f4a6f289 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Tue, 17 Dec 2013 12:26:58 +0100
Subject: [PATCH 18/20] Fix QtWebKit build on ARM softfp
The low level interpreter depends on hardfp, so we need to disable it
when builing on ARM targets with softfp.
Task-number: QTBUG-35681
Change-Id: I8aaef546b92182a87cc7116ac452d8725de6a7db
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Conflicts:
Source/WTF/wtf/Platform.h
---
Source/WTF/wtf/Platform.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 5782ce4..af2b8a3 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -911,6 +911,16 @@
#define ENABLE_DISASSEMBLER 1
#endif
+/* Disable the LLINT on versions of GCC prior to 4.3. Mainly due to buggy assembler on OSX 10.6, the only supported platform using that old a version. */
+#if !defined(ENABLE_LLINT) && COMPILER(GCC) && !GCC_VERSION_AT_LEAST(4, 3, 0)
+#define ENABLE_LLINT 0
+#endif
+
+/* LLINT on ARM depends on an FPU */
+#if !defined(ENABLE_LLINT) && CPU(ARM) && !CPU(ARM_HARDFP)
+#define ENABLE_LLINT 0
+#endif
+
/* On some of the platforms where we have a JIT, we want to also have the
low-level interpreter. */
#if !defined(ENABLE_LLINT) \
--
1.8.5.3

View File

@ -0,0 +1,111 @@
From c8040172a48006475b7f34c5ebe04ee286c0a32e Mon Sep 17 00:00:00 2001
From: Mike West <mkwst@chromium.org>
Date: Wed, 22 Jan 2014 14:12:39 +0100
Subject: [PATCH 19/20] Mouseup event does not fire on Scroll Bar
https://bugs.webkit.org/show_bug.cgi?id=25811
Reviewed by Tony Chang.
Source/WebCore:
Currently, clicking on a scrollbar fires a mousedown event, but not a
mouseup event. This causes problems for code like jQuery UI's
draggable[1], as the drag starts, but is never cancelled. Other use
cases are noted in the slightly old Chromium bug[2].
If a mouseup event is received after a mousedown event on a scrollbar,
this patch dispatches a mouseup event on the same node the mousedown
event dispatched on. This matches Gecko's behavior.
[1]: http://bugs.jqueryui.com/ticket/6925
[2]: http://crbug.com/14204
Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
fast/scrolling/scrollbar-mousedown-move-mouseup.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
If a mouseup event follow a mousedown event on a scrollbar,
dispatch an event on the same node from which the mousedown event
was triggered.
LayoutTests:
* fast/scrolling/scrollbar-mousedown-mouseup-expected.txt: Added.
* fast/scrolling/scrollbar-mousedown-mouseup.html: Added.
* fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt: Added.
* fast/scrolling/scrollbar-mousedown-move-mouseup.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
LayoutTests/ChangeLog | 12 ++++
.../scrollbar-mousedown-mouseup-expected.txt | 19 ++++++
.../scrolling/scrollbar-mousedown-mouseup.html | 67 ++++++++++++++++++++
.../scrollbar-mousedown-move-mouseup-expected.txt | 16 +++++
.../scrollbar-mousedown-move-mouseup.html | 72 ++++++++++++++++++++++
Source/WebCore/ChangeLog | 28 +++++++++
Source/WebCore/page/EventHandler.cpp | 5 +-
7 files changed, 218 insertions(+), 1 deletion(-)
create mode 100644 LayoutTests/fast/scrolling/scrollbar-mousedown-mouseup-expected.txt
create mode 100644 LayoutTests/fast/scrolling/scrollbar-mousedown-mouseup.html
create mode 100644 LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt
create mode 100644 LayoutTests/fast/scrolling/scrollbar-mousedown-move-mouseup.html
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 3fb41fe..8f1c3cc 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -627,6 +627,34 @@
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::containingColumnsBlock):
+2013-02-20 Mike West <mkwst@chromium.org>
+
+ Mouseup event does not fire on Scroll Bar
+ https://bugs.webkit.org/show_bug.cgi?id=25811
+
+ Reviewed by Tony Chang.
+
+ Currently, clicking on a scrollbar fires a mousedown event, but not a
+ mouseup event. This causes problems for code like jQuery UI's
+ draggable[1], as the drag starts, but is never cancelled. Other use
+ cases are noted in the slightly old Chromium bug[2].
+
+ If a mouseup event is received after a mousedown event on a scrollbar,
+ this patch dispatches a mouseup event on the same node the mousedown
+ event dispatched on. This matches Gecko's behavior.
+
+ [1]: http://bugs.jqueryui.com/ticket/6925
+ [2]: http://crbug.com/14204
+
+ Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
+ fast/scrolling/scrollbar-mousedown-move-mouseup.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ If a mouseup event follow a mousedown event on a scrollbar,
+ dispatch an event on the same node from which the mousedown event
+ was triggered.
+
2013-02-19 Andras Becsi <andras.becsi@digia.com>
[Qt] Fix compilation if Qt was configured with -no-rtti
diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp
index 22d616e..68f2359 100644
--- a/Source/WebCore/page/EventHandler.cpp
+++ b/Source/WebCore/page/EventHandler.cpp
@@ -1955,7 +1955,10 @@ bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
if (m_lastScrollbarUnderMouse) {
invalidateClick();
- return m_lastScrollbarUnderMouse->mouseUp(mouseEvent);
+ m_lastScrollbarUnderMouse->mouseUp(mouseEvent);
+ bool cancelable = true;
+ bool setUnder = false;
+ return !dispatchMouseEvent(eventNames().mouseupEvent, m_lastNodeUnderMouse.get(), cancelable, m_clickCount, mouseEvent, setUnder);
}
HitTestRequest request(HitTestRequest::Release);
--
1.8.5.3

View File

@ -0,0 +1,79 @@
From 9ced0261192be0072b60de79b894bc59ccef77c9 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Wed, 22 Jan 2014 15:49:39 +0100
Subject: [PATCH 20/20] Make it possible to build without using build-webkit
script
This makes qmake 4 also evaluate features.prf, and caches the result
in .qmake.cache.
---
.qmake.cache.in | 2 ++
Makefile | 17 -----------------
Source/WTF/WTF.pri | 2 ++
WebKit.pro | 3 +++
4 files changed, 7 insertions(+), 17 deletions(-)
create mode 100644 .qmake.cache.in
delete mode 100644 Makefile
diff --git a/.qmake.cache.in b/.qmake.cache.in
new file mode 100644
index 0000000..d8ed6e8
--- /dev/null
+++ b/.qmake.cache.in
@@ -0,0 +1,2 @@
+DEFINES = $$DEFINES
+CONFIG = $$CONFIG
\ No newline at end of file
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 19d889a..0000000
--- a/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-MODULES = Source Tools
-
-all:
- @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
- if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-
-debug d development dev develop:
- @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
- if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-
-release r deployment dep deploy:
- @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
- if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-
-clean:
- @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
- if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
index 9423b53..f1ce0a8 100644
--- a/Source/WTF/WTF.pri
+++ b/Source/WTF/WTF.pri
@@ -22,6 +22,8 @@ haveQt(5) {
error("To build QtWebKit with Qt 5 you need to build Qt 5 with libICU support. Check for ICU support being mentioned in qtbase/config.summary.")
}
}
+} else {
+ load(.qmake.cache)
}
linux-*:contains(DEFINES, WTF_USE_GSTREAMER=1) {
diff --git a/WebKit.pro b/WebKit.pro
index 75b9159..fcc7c8d 100644
--- a/WebKit.pro
+++ b/WebKit.pro
@@ -11,6 +11,9 @@ equals(QT_MAJOR_VERSION, 4) {
error("The environment variable QMAKEPATH needs to point to $WEBKITSRC/Tools/qmake")
# Otherwise we won't pick up the feature prf files needed for the build
}
+ CONFIG += production_build
+ include(Tools/qmake/configure.pri)
+ QMAKE_SUBSTITUTES += .qmake.cache.in
} else:!webkit_configured {
CONFIG += webkit_configured
CONFIG += production_build
--
1.8.5.3

View File

@ -3,7 +3,7 @@ Name: qtwebkit
Summary: Qt WebKit bindings
Version: 2.3.3
Release: 6%{?dist}
Release: 7%{?dist}
License: LGPLv2 with exceptions or GPLv3 with exceptions
URL: http://trac.webkit.org/wiki/QtWebKit
@ -55,6 +55,16 @@ patch106: 0006-JSC-ARM-traditional-failing-on-Octane-NavierStokes-t.patch
Patch107: 0007-Correct-range-used-for-Emoji-checks.patch
Patch108: 0008-Qt-RepaintRequested-signal-sometimes-not-emitted.patch
Patch109: 0009-TexMap-Remove-ParentChange-in-TextureMapperLayer.patch
Patch110: 0010-SVG-stroke-dasharray-not-working.patch
Patch111: 0011-Texmap-CSS-filter-not-working-on-software-composited.patch
Patch112: 0012-Do-not-try-to-compile-header-files-it-causes-weird-b.patch
Patch114: 0014-Fix-crash-when-converting-QObjectList.patch
Patch115: 0015-WebGL-EFL-Qt-GTK-Jelly-fishes-leave-trails-on-webgl-.patch
Patch116: 0016-Extend-disabling-of-whole-program-optimizations-to-M.patch
Patch117: 0017-OS-X-Mavericks-Xcode5-Find-libxslt-and-libxml2-heade.patch
Patch118: 0018-Fix-QtWebKit-build-on-ARM-softfp.patch
Patch119: 0019-Mouseup-event-does-not-fire-on-Scroll-Bar.patch
Patch120: 0020-Make-it-possible-to-build-without-using-build-webkit.patch
BuildRequires: bison
BuildRequires: chrpath
@ -122,6 +132,16 @@ Provides: qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
%patch107 -p1 -b .0007
%patch108 -p1 -b .0008
%patch109 -p1 -b .0009
%patch110 -p1 -b .0010
%patch111 -p1 -b .0011
%patch112 -p1 -b .0012
%patch114 -p1 -b .0014
%patch115 -p1 -b .0015
%patch116 -p1 -b .0016
%patch117 -p1 -b .0017
%patch118 -p1 -b .0018
%patch119 -p1 -b .0019
%patch120 -p1 -b .0020
@ -203,6 +223,9 @@ popd
%changelog
* Thu Feb 13 2014 Rex Dieter <rdieter@fedoraproject.org> 2.3.3-7
- backport more upstream fixes
* Thu Feb 13 2014 Rex Dieter <rdieter@fedoraproject.org> 2.3.3-6
- ftbfs using bison3