-- cgit v1.2.3 From 2c3ef650ca5de71d38f88a2568a3e3a4368bbc14 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 14 Apr 2014 15:25:11 +0200 Subject: Fix build on Android MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Atomic increment/decrement was defined twice on Android, and gamepad support doesn't build. This removesthe redundant definition, and disables gamepad support on android. Change-Id: I62ceae141564c4dec7a1b941ef832889e82736fb Reviewed-by: Michael Bruning Reviewed-by: Sérgio Martins --- Source/WTF/wtf/Atomics.h | 3 --- Tools/qmake/mkspecs/features/features.prf | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Source/WTF/wtf/Atomics.h b/Source/WTF/wtf/Atomics.h index ea4f55f95..4b3eb4b88 100644 --- a/Source/WTF/wtf/Atomics.h +++ b/Source/WTF/wtf/Atomics.h @@ -104,9 +104,6 @@ inline int atomicDecrement(int volatile* addend) { return static_cast(atomi inline int atomicIncrement(int volatile* addend) { return __atomic_inc(addend) + 1; } inline int atomicDecrement(int volatile* addend) { return __atomic_dec(addend) - 1; } -inline int64_t atomicIncrement(int64_t volatile* addend) { return __sync_add_and_fetch(addend, 1); } -inline int64_t atomicDecrement(int64_t volatile* addend) { return __sync_sub_and_fetch(addend, 1); } - #elif COMPILER(GCC) #define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1 diff --git a/Tools/qmake/mkspecs/features/features.prf b/Tools/qmake/mkspecs/features/features.prf index 866e1c41b..52227b290 100644 --- a/Tools/qmake/mkspecs/features/features.prf +++ b/Tools/qmake/mkspecs/features/features.prf @@ -121,8 +121,8 @@ defineTest(detectFeatures) { isEmpty(SQLITE3SRCDIR):isEmpty(_QMAKE_SUPER_CACHE_): error("WebKit requires SQLite. Either make it available via pkg-config, set $SQLITE3SRCDIR or build WebKit under qt5.git.") } - # Gamepad API Support (depends on udev) - linux: WEBKIT_CONFIG += gamepad + # Gamepad API Support (depends on udev and linux/joystick.h) + linux:!android: WEBKIT_CONFIG += gamepad # Support for Graphics Surface # GraphicsSurface requires GraphicsContext3D and hence use_3d_graphics -- cgit v1.2.3 From 8fb157f8b7822b62b2df5668f77a67b608b39267 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Mon, 14 Apr 2014 12:12:30 +0200 Subject: Crash when submitting form in a document with null encoding https://bugs.webkit.org/show_bug.cgi?id=123975 Reviewed by Alexey Proskuryakov. Source/WebCore: Merge https://chromium.googlesource.com/chromium/blink/+/bba01a7fff09e3053ada96ababac2a6e4261fe5f The CString object which is passed to normalizeLineEndingsToCRLF() can be a null string. It is created in FormDataList::appendString(), and it produces a null CString if FormDataList::m_encoding is a null encoding. Test: fast/forms/form-submit-in-image-document.html * platform/text/LineEnding.cpp: (internalNormalizeLineEndingsToCRLF): Change-Id: Ia36bcf292fb4d1da7e4bb21e2eddf1146eecd71c git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158868 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning --- Source/WebCore/platform/text/LineEnding.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/WebCore/platform/text/LineEnding.cpp b/Source/WebCore/platform/text/LineEnding.cpp index ff5707988..243e08962 100644 --- a/Source/WebCore/platform/text/LineEnding.cpp +++ b/Source/WebCore/platform/text/LineEnding.cpp @@ -96,6 +96,8 @@ private: void internalNormalizeLineEndingsToCRLF(const CString& from, OutputBuffer& buffer) { + if (!from.length()) + return; // Compute the new length. size_t newLen = 0; const char* p = from.data(); -- cgit v1.2.3 From 7b1f8c369100f57861ad8054d17a04da8b604203 Mon Sep 17 00:00:00 2001 From: Simon Fraser Date: Mon, 14 Apr 2014 12:16:32 +0200 Subject: Flash of garbage pixels when playing a show on Hulu Source/WebCore: Reviewed by Tim Horton. When starting a show on Hulu, there's a layer that gets marked as opaque because it has a child RenderLayer whose background fills the compositing layer. That child RenderLayer was recently position:fixed but outside the viewport, so its viewportConstrainedNotCompositedReason was set to a non-zero value. However, we failed to clear the viewportConstrainedNotCompositedReason when the layer became non-fixed. This caused painting the opaque layer to bail in RenderLayer::paintLayer(), leaving garbage. Test: compositing/contents-opaque/fixed-to-nonfixed.html * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the ViewportConstrainedNotCompositedReason if the layer is no longer fixed. Change-Id: Ie1aa935b8271cd8cc3159f5337d483a77d74b8a0 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154147 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Michael Bruning --- Source/WebCore/rendering/RenderLayer.cpp | 1 + Source/WebCore/rendering/RenderLayerCompositor.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp index c378f18e6..2d0b56e79 100644 --- a/Source/WebCore/rendering/RenderLayer.cpp +++ b/Source/WebCore/rendering/RenderLayer.cpp @@ -3619,6 +3619,7 @@ void RenderLayer::paintLayer(GraphicsContext* context, const LayerPaintingInfo& } else if (viewportConstrainedNotCompositedReason() == NotCompositedForBoundsOutOfView) { // Don't paint out-of-view viewport constrained layers (when doing prepainting) because they will never be visible // unless their position or viewport size is changed. + ASSERT(renderer()->style()->position() == FixedPosition); return; } #endif diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp index 6f1fd3e0b..784ebdc80 100644 --- a/Source/WebCore/rendering/RenderLayerCompositor.cpp +++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp @@ -767,7 +767,8 @@ bool RenderLayerCompositor::updateBacking(RenderLayer* layer, CompositingChangeR if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator()) scrollingCoordinator->frameViewFixedObjectsDidChange(m_renderView->frameView()); } - } + } else + layer->setViewportConstrainedNotCompositedReason(RenderLayer::NoNotCompositedReason); if (layer->backing()) layer->backing()->updateDebugIndicators(m_showDebugBorders, m_showRepaintCounter); -- cgit v1.2.3 From 251a3c50ca89c32678fb51de48124d144155f704 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 10 Apr 2014 16:35:42 +0200 Subject: Fix cast from QByteArray to QString QUrl::toEncoded() returns a QByteArray which we should not try to append directly to a QString. Instead convert it first from ascii/latin1. Change-Id: I54fd1ef939cf25c81ad4f4ceab91fc4053b627ba Reviewed-by: Michael Bruning --- Source/WebCore/platform/qt/PasteboardQt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/WebCore/platform/qt/PasteboardQt.cpp b/Source/WebCore/platform/qt/PasteboardQt.cpp index cf1c3a619..7639e2302 100644 --- a/Source/WebCore/platform/qt/PasteboardQt.cpp +++ b/Source/WebCore/platform/qt/PasteboardQt.cpp @@ -171,7 +171,7 @@ PassRefPtr Pasteboard::documentFragment(Frame* frame, PassRefP if (!title.isEmpty()) title = QStringLiteral(" title=\"") + title + QStringLiteral("\""); if (urls.count() == 1) { - QString html = QStringLiteral(""); + QString html = QStringLiteral(""); RefPtr fragment = createFragmentFromMarkup(frame->document(), html, "", DisallowScriptingAndPluginContent); if (fragment) return fragment.release(); -- cgit v1.2.3