From ca7b877fa375f8024ef8e8aa91c1d5c0f1293409 Mon Sep 17 00:00:00 2001 From: landry Date: Tue, 8 Mar 2011 18:56:30 +0000 Subject: [PATCH] Assorted fixes for webkit : - fix for mips64el by Todd Carson (thanks!) - fix https://bugs.webkit.org/show_bug.cgi?id=38263 (don't prefetch dns on an empty hostname) from sthen@ - fix https://bugs.webkit.org/show_bug.cgi?id=55830 (Gif images flickering), tracked down by dhill@ --- www/webkit/Makefile | 3 ++- ...JavaScriptCore_interpreter_Interpreter_cpp | 14 ++++++++++++ ...orm_image-decoders_gif_GIFImageDecoder_cpp | 22 +++++++++++++++++++ ...-WebCore_platform_network_soup_DNSSoup_cpp | 15 +++++++++++++ .../patch-WebCore_plugins_PluginDatabase_cpp | 6 ++--- 5 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 www/webkit/patches/patch-JavaScriptCore_interpreter_Interpreter_cpp create mode 100644 www/webkit/patches/patch-WebCore_platform_image-decoders_gif_GIFImageDecoder_cpp create mode 100644 www/webkit/patches/patch-WebCore_platform_network_soup_DNSSoup_cpp diff --git a/www/webkit/Makefile b/www/webkit/Makefile index 6f37ef5716f..83cbb2208a7 100644 --- a/www/webkit/Makefile +++ b/www/webkit/Makefile @@ -1,9 +1,10 @@ -# $OpenBSD: Makefile,v 1.42 2011/03/03 13:44:10 landry Exp $ +# $OpenBSD: Makefile,v 1.43 2011/03/08 18:56:30 landry Exp $ COMMENT = open source web browser engine DISTNAME = webkit-1.2.7 EPOCH = 0 +REVISION = 0 CATEGORIES = www HOMEPAGE = http://webkitgtk.org/ diff --git a/www/webkit/patches/patch-JavaScriptCore_interpreter_Interpreter_cpp b/www/webkit/patches/patch-JavaScriptCore_interpreter_Interpreter_cpp new file mode 100644 index 00000000000..4185cd2a959 --- /dev/null +++ b/www/webkit/patches/patch-JavaScriptCore_interpreter_Interpreter_cpp @@ -0,0 +1,14 @@ +$OpenBSD: patch-JavaScriptCore_interpreter_Interpreter_cpp,v 1.1 2011/03/08 18:56:30 landry Exp $ +Fix for mips64el, -1 was wrongly removed in +http://trac.webkit.org/changeset/60392/trunk/JavaScriptCore/interpreter/Interpreter.cpp +--- JavaScriptCore/interpreter/Interpreter.cpp.orig Sun Mar 6 09:34:16 2011 ++++ JavaScriptCore/interpreter/Interpreter.cpp Sun Mar 6 09:35:19 2011 +@@ -3456,7 +3456,7 @@ skip_id_custom_self: + JSValue arguments = callFrame->r(argsOffset).jsValue(); + uint32_t argCount = 0; + if (!arguments) { +- argCount = (uint32_t)(callFrame->argumentCount()); ++ argCount = (uint32_t)(callFrame->argumentCount() - 1); + argCount = min(argCount, Arguments::MaxArguments); + int32_t sizeDelta = argsOffset + argCount + RegisterFile::CallFrameHeaderSize; + Register* newEnd = callFrame->registers() + sizeDelta; diff --git a/www/webkit/patches/patch-WebCore_platform_image-decoders_gif_GIFImageDecoder_cpp b/www/webkit/patches/patch-WebCore_platform_image-decoders_gif_GIFImageDecoder_cpp new file mode 100644 index 00000000000..090764b2959 --- /dev/null +++ b/www/webkit/patches/patch-WebCore_platform_image-decoders_gif_GIFImageDecoder_cpp @@ -0,0 +1,22 @@ +$OpenBSD: patch-WebCore_platform_image-decoders_gif_GIFImageDecoder_cpp,v 1.1 2011/03/08 18:56:30 landry Exp $ +Fix typo, https://bugs.webkit.org/show_bug.cgi?id=55830 +--- WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp.orig Tue Mar 8 15:25:51 2011 ++++ WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp Tue Mar 8 15:26:10 2011 +@@ -343,7 +343,7 @@ bool GIFImageDecoder::initFrameBuffer(unsigned frameIn + + if ((prevMethod == RGBA32Buffer::DisposeNotSpecified) || (prevMethod == RGBA32Buffer::DisposeKeep)) { + // Preserve the last frame as the starting state for this frame. +- if (!buffer->copyBitmapData(*prevBuffer)); ++ if (!buffer->copyBitmapData(*prevBuffer)) + return setFailed(); + } else { + // We want to clear the previous frame to transparent, without +@@ -357,7 +357,7 @@ bool GIFImageDecoder::initFrameBuffer(unsigned frameIn + return setFailed(); + } else { + // Copy the whole previous buffer, then clear just its frame. +- if (!buffer->copyBitmapData(*prevBuffer)); ++ if (!buffer->copyBitmapData(*prevBuffer)) + return setFailed(); + for (int y = prevRect.y(); y < prevRect.bottom(); ++y) { + for (int x = prevRect.x(); x < prevRect.right(); ++x) diff --git a/www/webkit/patches/patch-WebCore_platform_network_soup_DNSSoup_cpp b/www/webkit/patches/patch-WebCore_platform_network_soup_DNSSoup_cpp new file mode 100644 index 00000000000..2384efed50f --- /dev/null +++ b/www/webkit/patches/patch-WebCore_platform_network_soup_DNSSoup_cpp @@ -0,0 +1,15 @@ +$OpenBSD: patch-WebCore_platform_network_soup_DNSSoup_cpp,v 1.1 2011/03/08 18:56:30 landry Exp $ +Don't prefetch dns on an empty string +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019 +https://bugs.webkit.org/show_bug.cgi?id=38263 +--- WebCore/platform/network/soup/DNSSoup.cpp.orig Tue Mar 8 15:37:49 2011 ++++ WebCore/platform/network/soup/DNSSoup.cpp Tue Mar 8 15:38:28 2011 +@@ -36,6 +36,8 @@ namespace WebCore { + void prefetchDNS(const String& hostname) + { + #ifdef HAVE_LIBSOUP_2_29_90 ++ if (hostname.isEmpty()) ++ return; + String uri = "http://"+hostname; + GOwnPtr soupURI(soup_uri_new(uri.utf8().data())); + // We may get invalid hostnames, so NULL-check here. diff --git a/www/webkit/patches/patch-WebCore_plugins_PluginDatabase_cpp b/www/webkit/patches/patch-WebCore_plugins_PluginDatabase_cpp index c9cfaf1b508..79b1fc1e28f 100644 --- a/www/webkit/patches/patch-WebCore_plugins_PluginDatabase_cpp +++ b/www/webkit/patches/patch-WebCore_plugins_PluginDatabase_cpp @@ -1,6 +1,6 @@ -$OpenBSD: patch-WebCore_plugins_PluginDatabase_cpp,v 1.3 2010/04/22 13:37:00 landry Exp $ ---- WebCore/plugins/PluginDatabase.cpp.orig Fri Mar 19 16:20:54 2010 -+++ WebCore/plugins/PluginDatabase.cpp Tue Apr 20 21:14:44 2010 +$OpenBSD: patch-WebCore_plugins_PluginDatabase_cpp,v 1.4 2011/03/08 18:56:30 landry Exp $ +--- WebCore/plugins/PluginDatabase.cpp.orig Fri Sep 10 15:20:33 2010 ++++ WebCore/plugins/PluginDatabase.cpp Sun Mar 6 09:21:11 2011 @@ -340,6 +340,7 @@ Vector PluginDatabase::defaultPluginDirectorie userPluginPath.append(String("/.netscape/plugins")); paths.append(userPluginPath);