Date: Tuesday, April 7, 2015 @ 20:33:52 Author: andyrtr Revision: 235590
archrelease: copy trunk to staging-x86_64 Added: webkitgtk/repos/staging-x86_64/ webkitgtk/repos/staging-x86_64/PKGBUILD (from rev 235589, webkitgtk/trunk/PKGBUILD) webkitgtk/repos/staging-x86_64/bug140241.patch (from rev 235589, webkitgtk/trunk/bug140241.patch) webkitgtk/repos/staging-x86_64/fix-pretty-quotes.patch (from rev 235589, webkitgtk/trunk/fix-pretty-quotes.patch) webkitgtk/repos/staging-x86_64/webkitgtk-2.4.8-gmutexlocker.patch (from rev 235589, webkitgtk/trunk/webkitgtk-2.4.8-gmutexlocker.patch) ------------------------------------+ PKGBUILD | 91 +++++++++++ bug140241.patch | 59 +++++++ fix-pretty-quotes.patch | 26 +++ webkitgtk-2.4.8-gmutexlocker.patch | 282 +++++++++++++++++++++++++++++++++++ 4 files changed, 458 insertions(+) Copied: webkitgtk/repos/staging-x86_64/PKGBUILD (from rev 235589, webkitgtk/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2015-04-07 18:33:52 UTC (rev 235590) @@ -0,0 +1,91 @@ +# $Id$ +# Maintainer: Andreas Radke <andy...@archlinux.org> + +pkgbase=webkitgtk +pkgname=(webkitgtk webkitgtk2) +pkgver=2.4.8 +pkgrel=2 +pkgdesc="GTK+ Web content engine library" +arch=(i686 x86_64) +url="http://webkitgtk.org/" +license=(custom) +depends=(libxt libxslt sqlite libsoup enchant libgl geoclue2 gst-plugins-base-libs + libsecret libwebp harfbuzz-icu) +makedepends=(gtk3 gtk2 gperf gobject-introspection python2 mesa ruby) +optdepends=('gst-plugins-base: free media decoding' + 'gst-plugins-good: media decoding' + 'gst-libav: nonfree media decoding') +options=(!emptydirs) +source=(http://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz + fix-pretty-quotes.patch bug140241.patch + webkitgtk-2.4.8-gmutexlocker.patch) +sha256sums=('68f11559cb178679ca92acc9e3a3d7febede7acb7b98afd7fb761875bbc6bd23' + '56316228bbbf0b7ebcbe210a35120f4e72cb9c1b680dd82cc2bde0f4549245e6' + 'a08d43d45e9c226197d4bc4257a416bcb3507bebd2d9c9e8554d1002ddbbe537' + 'fabd056013b6d3408b359419a1440ec9c31ce970878f4502a2781bd56b3feff1') + +prepare() { + mkdir build-gtk{,2} path + + ln -s /usr/bin/python2 path/python + + cd $pkgbase-$pkgver + patch -Np0 -i ../fix-pretty-quotes.patch + + # Fix build bug; https://bugs.webkit.org/show_bug.cgi?id=140241 patch v3 + patch -Np1 -i ../bug140241.patch + + # fix build with new glib2 + patch -Np1 -i ../webkitgtk-2.4.8-gmutexlocker.patch + + # fix build with new automake + autoreconf -vfi +} + +_build() ( + _ver="$1"; shift + cd build-${_ver} + + ../$pkgbase-$pkgver/configure --prefix=/usr \ + --libexecdir=/usr/lib/webkit${_ver} \ + --enable-introspection \ + --disable-webkit2 \ + --disable-gtk-doc \ + "$@" + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make all stamp-po +) + +build() { + PATH="$srcdir/path:$PATH" + + _build gtk + _build gtk2 --with-gtk=2.0 +} + +package_webkitgtk() { + depends+=(gtk3) + optdepends+=('gtk2: Netscape plugin support') + provides=("webkitgtk3=${pkgver}" "libwebkit3=${pkgver}") + conflicts=(webkitgtk3 libwebkit3) + replaces=(webkitgtk3 libwebkit3) + + make -C build-gtk -j1 DESTDIR="$pkgdir" install + install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \ + "$pkgdir/usr/share/licenses/webkitgtk/LICENSE" +} + +package_webkitgtk2() { + pkgdesc+=" for GTK2" + depends+=(gtk2) + provides=("libwebkit=${pkgver}") + conflicts=(libwebkit) + replaces=(libwebkit) + + make -C build-gtk2 -j1 DESTDIR="$pkgdir" install + install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \ + "$pkgdir/usr/share/licenses/webkitgtk2/LICENSE" +} Copied: webkitgtk/repos/staging-x86_64/bug140241.patch (from rev 235589, webkitgtk/trunk/bug140241.patch) =================================================================== --- staging-x86_64/bug140241.patch (rev 0) +++ staging-x86_64/bug140241.patch 2015-04-07 18:33:52 UTC (rev 235590) @@ -0,0 +1,59 @@ +@@ -, +, @@ + REGRESSION(r177885): [GTK][WK1] Cannot compile 2.4.8 when WK2 is disabled + https://bugs.webkit.org/show_bug.cgi?id=140241 + Reviewed by NOBODY (OOPS!). + We have to compile the PluginPackageNone.cpp and PluginViewNone.cpp + just when WebKit2 is enabled and we are not building for X11. + * GNUmakefile.list.am: +--- + Source/WebCore/ChangeLog | 12 ++++++++++++ + Source/WebCore/GNUmakefile.list.am | 8 ++++++++ + 2 files changed, 20 insertions(+) +--- a/Source/WebCore/ChangeLog ++++ a/Source/WebCore/ChangeLog +@@ -1,3 +1,15 @@ ++2015-01-16 Tomas Popela <tpop...@redhat.com> ++ ++ REGRESSION(r177885): [GTK][WK1] Cannot compile 2.4.8 when WK2 is disabled ++ https://bugs.webkit.org/show_bug.cgi?id=140241 ++ ++ Reviewed by NOBODY (OOPS!). ++ ++ We have to compile the PluginPackageNone.cpp and PluginViewNone.cpp ++ just when WebKit2 is enabled and we are not building for X11. ++ ++ * GNUmakefile.list.am: ++ + 2014-11-10 Csaba Osztrogonác <o...@webkit.org> + + Crash in WebCore::Node::getFlag +--- a/Source/WebCore/GNUmakefile.list.am ++++ a/Source/WebCore/GNUmakefile.list.am +@@ -6254,9 +6254,13 @@ endif # END USE_GLX + endif # END TARGET_X11 + + if TARGET_WAYLAND ++if !TARGET_X11 ++if ENABLE_WEBKIT2 + webcore_sources += \ + Source/WebCore/plugins/PluginPackageNone.cpp \ + Source/WebCore/plugins/PluginViewNone.cpp ++endif # END ENABLE_WEBKIT2 ++endif # END !TARGET_X11 + endif # END TARGET_WAYLAND + + if TARGET_X11_OR_WAYLAND +@@ -6305,9 +6309,13 @@ webcoregtk_sources += \ + endif # END TARGET_WIN32 + + if TARGET_QUARTZ ++if !TARGET_X11 ++if ENABLE_WEBKIT2 + webcore_sources += \ + Source/WebCore/plugins/PluginPackageNone.cpp \ + Source/WebCore/plugins/PluginViewNone.cpp ++endif # END ENABLE_WEBKIT2 ++endif # END !TARGET_X11 + platformgtk_sources += \ + Source/WebCore/platform/cairo/WidgetBackingStoreCairo.h \ + Source/WebCore/platform/cairo/WidgetBackingStoreCairo.cpp Copied: webkitgtk/repos/staging-x86_64/fix-pretty-quotes.patch (from rev 235589, webkitgtk/trunk/fix-pretty-quotes.patch) =================================================================== --- staging-x86_64/fix-pretty-quotes.patch (rev 0) +++ staging-x86_64/fix-pretty-quotes.patch 2015-04-07 18:33:52 UTC (rev 235590) @@ -0,0 +1,26 @@ +Pretty quotes in licence break Python stdin. + +https://bugs.webkit.org/show_bug.cgi?id=128971 + +--- Source/WebCore/xml/XMLViewer.css.orig 2014-01-23 16:49:58.000000000 +0000 ++++ Source/WebCore/xml/XMLViewer.css +@@ -14,7 +14,7 @@ + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS +- * “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. + * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +--- Source/WebCore/xml/XMLViewer.js.orig 2014-01-23 16:49:58.000000000 +0000 ++++ Source/WebCore/xml/XMLViewer.js +@@ -15,7 +15,7 @@ + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS +- * “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. + * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, Copied: webkitgtk/repos/staging-x86_64/webkitgtk-2.4.8-gmutexlocker.patch (from rev 235589, webkitgtk/trunk/webkitgtk-2.4.8-gmutexlocker.patch) =================================================================== --- staging-x86_64/webkitgtk-2.4.8-gmutexlocker.patch (rev 0) +++ staging-x86_64/webkitgtk-2.4.8-gmutexlocker.patch 2015-04-07 18:33:52 UTC (rev 235590) @@ -0,0 +1,282 @@ +diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp +--- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp.gmutexlocker 2015-02-18 15:40:21.851816374 +0100 ++++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp 2015-02-18 15:45:58.560092191 +0100 +@@ -316,7 +316,7 @@ void MediaPlayerPrivateGStreamerBase::mu + #if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS) + PassRefPtr<BitmapTexture> MediaPlayerPrivateGStreamerBase::updateTexture(TextureMapper* textureMapper) + { +- GMutexLocker lock(m_bufferMutex); ++ WebCore::GMutexLocker lock(m_bufferMutex); + if (!m_buffer) + return nullptr; + +@@ -366,7 +366,7 @@ void MediaPlayerPrivateGStreamerBase::tr + g_return_if_fail(GST_IS_BUFFER(buffer)); + + { +- GMutexLocker lock(m_bufferMutex); ++ WebCore::GMutexLocker lock(m_bufferMutex); + gst_buffer_replace(&m_buffer, buffer); + } + +@@ -398,7 +398,7 @@ void MediaPlayerPrivateGStreamerBase::pa + if (!m_player->visible()) + return; + +- GMutexLocker lock(m_bufferMutex); ++ WebCore::GMutexLocker lock(m_bufferMutex); + if (!m_buffer) + return; + +diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp +diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp +--- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp.gmutexlocker 2015-02-18 15:16:11.995228731 +0100 ++++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp 2015-02-18 15:45:42.686843477 +0100 +@@ -118,7 +118,7 @@ static gboolean webkitVideoSinkTimeoutCa + WebKitVideoSink* sink = reinterpret_cast<WebKitVideoSink*>(data); + WebKitVideoSinkPrivate* priv = sink->priv; + +- GMutexLocker lock(priv->bufferMutex); ++ WebCore::GMutexLocker lock(priv->bufferMutex); + GstBuffer* buffer = priv->buffer; + priv->buffer = 0; + priv->timeoutId = 0; +@@ -140,7 +140,7 @@ static GstFlowReturn webkitVideoSinkRend + WebKitVideoSink* sink = WEBKIT_VIDEO_SINK(baseSink); + WebKitVideoSinkPrivate* priv = sink->priv; + +- GMutexLocker lock(priv->bufferMutex); ++ WebCore::GMutexLocker lock(priv->bufferMutex); + + if (priv->unlocked) + return GST_FLOW_OK; +@@ -279,7 +279,7 @@ static void webkitVideoSinkGetProperty(G + + static void unlockBufferMutex(WebKitVideoSinkPrivate* priv) + { +- GMutexLocker lock(priv->bufferMutex); ++ WebCore::GMutexLocker lock(priv->bufferMutex); + + if (priv->buffer) { + gst_buffer_unref(priv->buffer); +@@ -305,7 +305,7 @@ static gboolean webkitVideoSinkUnlockSto + WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv; + + { +- GMutexLocker lock(priv->bufferMutex); ++ WebCore::GMutexLocker lock(priv->bufferMutex); + priv->unlocked = false; + } + +@@ -330,7 +330,7 @@ static gboolean webkitVideoSinkStart(Gst + { + WebKitVideoSinkPrivate* priv = WEBKIT_VIDEO_SINK(baseSink)->priv; + +- GMutexLocker lock(priv->bufferMutex); ++ WebCore::GMutexLocker lock(priv->bufferMutex); + priv->unlocked = false; + return TRUE; + } +diff -up webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp.gmutexlocker webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +--- webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp.gmutexlocker 2015-02-18 15:16:40.954678407 +0100 ++++ webkitgtk-2.4.8/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 2015-02-18 15:45:19.567481225 +0100 +@@ -346,7 +346,7 @@ static void webKitWebSrcSetProperty(GObj + + switch (propID) { + case PROP_IRADIO_MODE: { +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + priv->iradioMode = g_value_get_boolean(value); + break; + } +@@ -364,7 +364,7 @@ static void webKitWebSrcGetProperty(GObj + WebKitWebSrc* src = WEBKIT_WEB_SRC(object); + WebKitWebSrcPrivate* priv = src->priv; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + switch (propID) { + case PROP_IRADIO_MODE: + g_value_set_boolean(value, priv->iradioMode); +@@ -417,7 +417,7 @@ static gboolean webKitWebSrcStop(WebKitW + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + bool seeking = priv->seekID; + +@@ -476,7 +476,7 @@ static gboolean webKitWebSrcStart(WebKit + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + priv->startID = 0; + priv->corsAccessCheck = CORSNoCheck; +@@ -573,7 +573,7 @@ static GstStateChangeReturn webKitWebSrc + return ret; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + switch (transition) { + case GST_STATE_CHANGE_READY_TO_PAUSED: + GST_DEBUG_OBJECT(src, "READY->PAUSED"); +@@ -604,7 +604,7 @@ static gboolean webKitWebSrcQueryWithPar + gst_query_parse_duration(query, &format, NULL); + + GST_DEBUG_OBJECT(src, "duration query in format %s", gst_format_get_name(format)); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (format == GST_FORMAT_BYTES && src->priv->size > 0) { + gst_query_set_duration(query, format, src->priv->size); + result = TRUE; +@@ -612,7 +612,7 @@ static gboolean webKitWebSrcQueryWithPar + break; + } + case GST_QUERY_URI: { +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + gst_query_set_uri(query, src->priv->uri); + result = TRUE; + break; +@@ -653,7 +653,7 @@ static gchar* webKitWebSrcGetUri(GstURIH + WebKitWebSrc* src = WEBKIT_WEB_SRC(handler); + gchar* ret; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + ret = g_strdup(src->priv->uri); + return ret; + } +@@ -668,7 +668,7 @@ static gboolean webKitWebSrcSetUri(GstUR + return FALSE; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + g_free(priv->uri); + priv->uri = 0; +@@ -704,7 +704,7 @@ static gboolean webKitWebSrcNeedDataMain + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->needDataID) + return FALSE; +@@ -725,7 +725,7 @@ static void webKitWebSrcNeedDataCb(GstAp + + GST_DEBUG_OBJECT(src, "Need more data: %u", length); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (priv->needDataID || !priv->paused) { + return; + } +@@ -739,7 +739,7 @@ static gboolean webKitWebSrcEnoughDataMa + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->enoughDataID) + return FALSE; +@@ -760,7 +760,7 @@ static void webKitWebSrcEnoughDataCb(Gst + + GST_DEBUG_OBJECT(src, "Have enough data"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (priv->enoughDataID || priv->paused) { + return; + } +@@ -774,7 +774,7 @@ static gboolean webKitWebSrcSeekMainCb(W + + ASSERT(isMainThread()); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + // already stopped + if (!priv->seekID) + return FALSE; +@@ -792,7 +792,7 @@ static gboolean webKitWebSrcSeekDataCb(G + WebKitWebSrcPrivate* priv = src->priv; + + GST_DEBUG_OBJECT(src, "Seeking to offset: %" G_GUINT64_FORMAT, offset); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (offset == priv->offset && priv->requestedOffset == priv->offset) + return TRUE; + +@@ -811,7 +811,7 @@ static gboolean webKitWebSrcSeekDataCb(G + void webKitWebSrcSetMediaPlayer(WebKitWebSrc* src, WebCore::MediaPlayer* player) + { + ASSERT(player); +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + src->priv->player = player; + } + +@@ -841,7 +841,7 @@ char* StreamingClient::createReadBuffer( + + mapGstBuffer(buffer); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + priv->buffer = adoptGRef(buffer); + locker.unlock(); + +@@ -867,7 +867,7 @@ void StreamingClient::handleResponseRece + return; + } + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + priv->corsAccessCheck = corsAccessCheck; + +@@ -966,7 +966,7 @@ void StreamingClient::handleDataReceived + WebKitWebSrc* src = WEBKIT_WEB_SRC(m_src); + WebKitWebSrcPrivate* priv = src->priv; + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + + GST_LOG_OBJECT(src, "Have %lld bytes of data", priv->buffer ? static_cast<long long>(gst_buffer_get_size(priv->buffer.get())) : length); + +@@ -1035,7 +1035,7 @@ void StreamingClient::handleNotifyFinish + + GST_DEBUG_OBJECT(src, "Have EOS"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + if (!priv->seekID) { + locker.unlock(); + gst_app_src_end_of_stream(priv->appsrc); +@@ -1194,7 +1194,7 @@ void ResourceHandleStreamingClient::wasB + + GST_ERROR_OBJECT(src, "Request was blocked"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + uri.reset(g_strdup(src->priv->uri)); + locker.unlock(); + +@@ -1208,7 +1208,7 @@ void ResourceHandleStreamingClient::cann + + GST_ERROR_OBJECT(src, "Cannot show URL"); + +- GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); ++ WebCore::GMutexLocker locker(GST_OBJECT_GET_LOCK(src)); + uri.reset(g_strdup(src->priv->uri)); + locker.unlock(); + +diff -up webkitgtk-2.4.8/Source/WTF/wtf/gobject/GMutexLocker.h.gmutexlocker webkitgtk-2.4.8/Source/WTF/wtf/gobject/GMutexLocker.h +