[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

kov at webkit.org kov at webkit.org
Thu Feb 4 21:37:28 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 7b9c538650a2b0dfc70e0c12f6ab9f5798b42d6c
Author: kov at webkit.org <kov at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Feb 3 01:21:32 2010 +0000

    2010-02-02  Gustavo Noronha Silva  <gns at gnome.org>
    
            No review, rolling out r54261.
            http://trac.webkit.org/changeset/54261
            https://bugs.webkit.org/show_bug.cgi?id=34435
    
            Causes crashes on release builds
    
            * GNUmakefile.am:
            * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
            (WebCore::mediaPlayerPrivateSourceChangedCallback):
            * platform/gtk/GOwnPtrGtk.cpp: Removed.
            * platform/gtk/GOwnPtrGtk.h: Removed.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 03ec854..bafcc95 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-02-02  Gustavo Noronha Silva  <gns at gnome.org>
+
+        No review, rolling out r54261.
+        http://trac.webkit.org/changeset/54261
+        https://bugs.webkit.org/show_bug.cgi?id=34435
+
+        Causes crashes on release builds
+
+        * GNUmakefile.am:
+        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::mediaPlayerPrivateSourceChangedCallback):
+        * platform/gtk/GOwnPtrGtk.cpp: Removed.
+        * platform/gtk/GOwnPtrGtk.h: Removed.
+
 2010-02-02  David Levin  <levin at chromium.org>
 
         No review, rolling out r54245.
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 896479b..2680a80 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -2006,8 +2006,6 @@ webcoregtk_sources += \
 	WebCore/platform/gtk/FileSystemGtk.cpp \
 	WebCore/platform/gtk/GRefPtrGtk.cpp \
 	WebCore/platform/gtk/GRefPtrGtk.h \
-	WebCore/platform/gtk/GOwnPtrGtk.cpp \
-	WebCore/platform/gtk/GOwnPtrGtk.h \
 	WebCore/platform/gtk/GtkPluginWidget.cpp \
 	WebCore/platform/gtk/GtkPluginWidget.h \
 	WebCore/platform/gtk/KURLGtk.cpp \
diff --git a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
index cd2f5cc..d96c1e3 100644
--- a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
@@ -131,52 +131,52 @@ gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpo
 void mediaPlayerPrivateSourceChangedCallback(GObject *object, GParamSpec *pspec, gpointer data)
 {
     MediaPlayerPrivate* mp = reinterpret_cast<MediaPlayerPrivate*>(data);
-    GOwnPtr<GstElement> element;
+    GstElement* element;
 
-    g_object_get(mp->m_playBin, "source", &element.outPtr(), NULL);
-    gst_object_replace((GstObject**) &mp->m_source, (GstObject*) element.get());
+    g_object_get(mp->m_playBin, "source", &element, NULL);
+    gst_object_replace((GstObject**) &mp->m_source, (GstObject*) element);
 
-    if (!element)
-        return;
+    if (element) {
+        GParamSpec* pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(element), "cookies");
 
-    GOwnPtr<char> location;
-    g_object_get(element.get(), "location", &location.outPtr(), NULL);
+        // First check if the source element has a cookies property
+        // of the format we expect
+        if (!pspec || pspec->value_type != G_TYPE_STRV)
+            return;
 
-    GOwnPtr<SoupURI> uri(soup_uri_new(location.get()));
+        // Then get the cookies for the URI and set them
+        SoupSession* session = webkit_get_default_session();
+        SoupCookieJar* cookieJar = SOUP_COOKIE_JAR(soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR));
 
-    // Let Apple web servers know we want to access their nice movie trailers.
-    if (g_str_equal(uri->host, "movies.apple.com"))
-        g_object_set(element.get(), "user-agent", "Quicktime/7.2.0", NULL);
+        char* location;
+        g_object_get(element, "location", &location, NULL);
 
-    // Set the HTTP referer.
-    Frame* frame = mp->m_player->frameView() ? mp->m_player->frameView()->frame() : 0;
-    Document* document = frame ? frame->document() : 0;
-    if (document) {
-        GstStructure* extraHeaders = gst_structure_new("extra-headers",
-                                                       "Referer", G_TYPE_STRING,
-                                                       document->documentURI().utf8().data(), 0);
-        g_object_set(element.get(), "extra-headers", extraHeaders, NULL);
-        gst_structure_free(extraHeaders);
-    }
+        SoupURI* uri = soup_uri_new(location);
+        g_free(location);
 
-    // Deal with the cookies from now on.
-    GParamSpec* cookiesParamSpec = g_object_class_find_property(G_OBJECT_GET_CLASS(element.get()), "cookies");
+        // Let Apple web servers know we want to access their nice movie trailers.
+        if (g_str_equal(uri->host, "movies.apple.com"))
+            g_object_set(element, "user-agent", "Quicktime/7.2.0", NULL);
 
-    // First check if the source element has a cookies property
-    // of the format we expect
-    if (!cookiesParamSpec || cookiesParamSpec->value_type != G_TYPE_STRV)
-        return;
+        char* cookies = soup_cookie_jar_get_cookies(cookieJar, uri, FALSE);
+        soup_uri_free(uri);
 
-    // Then get the cookies for the URI and set them
-    SoupSession* session = webkit_get_default_session();
-    SoupSessionFeature* cookieJarFeature = soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR);
-    if (!cookieJarFeature)
-        return;
+        char* cookiesStrv[] = {cookies, NULL};
+        g_object_set(element, "cookies", cookiesStrv, NULL);
+        g_free(cookies);
+
+        Frame* frame = mp->m_player->frameView() ? mp->m_player->frameView()->frame() : 0;
+        Document* document = frame ? frame->document() : 0;
+        if (document) {
+            GstStructure* extraHeaders = gst_structure_new("extra-headers",
+                                                           "Referer", G_TYPE_STRING,
+                                                           document->documentURI().utf8().data(), 0);
+            g_object_set(element, "extra-headers", extraHeaders, NULL);
+            gst_structure_free(extraHeaders);
+        }
+    }
 
-    SoupCookieJar* cookieJar = SOUP_COOKIE_JAR(cookieJarFeature);
-    GOwnPtr<char> cookies(soup_cookie_jar_get_cookies(cookieJar, uri.get(), FALSE));
-    char* cookiesStrv[] = {cookies.get(), 0};
-    g_object_set(element.get(), "cookies", cookiesStrv, NULL);
+    gst_object_unref(element);
 }
 
 void mediaPlayerPrivateVolumeChangedCallback(GObject *element, GParamSpec *pspec, gpointer data)
diff --git a/WebCore/platform/gtk/GOwnPtrGtk.cpp b/WebCore/platform/gtk/GOwnPtrGtk.cpp
deleted file mode 100644
index 3bb1335..0000000
--- a/WebCore/platform/gtk/GOwnPtrGtk.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Copyright (C) 2010 Igalia S.L
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Lesser General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Lesser General Public License for more details.
- *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with this library; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-
-#include "config.h"
-#include "GOwnPtrGtk.h"
-
-#include <gst/gstelement.h>
-#include <libsoup/soup-uri.h>
-
-namespace WTF {
-
-template <> void freeOwnedGPtr<SoupURI>(SoupURI* ptr)
-{
-    if (ptr)
-        soup_uri_free(ptr);
-}
-
-template <> void freeOwnedGPtr<GstElement>(GstElement* ptr)
-{
-    if (ptr)
-        gst_object_unref(ptr);
-}
-
-}
diff --git a/WebCore/platform/gtk/GOwnPtrGtk.h b/WebCore/platform/gtk/GOwnPtrGtk.h
deleted file mode 100644
index c585002..0000000
--- a/WebCore/platform/gtk/GOwnPtrGtk.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- *  Copyright (C) 2010 Igalia S.L
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Library General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- *  Library General Public License for more details.
- *
- *  You should have received a copy of the GNU Library General Public License
- *  along with this library; see the file COPYING.LIB.  If not, write to
- *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- *  Boston, MA 02110-1301, USA.
- */
-
-#ifndef GOwnPtrGtk_h
-#define GOwnPtrGtk_h
-
-#include "GOwnPtr.h"
-
-typedef struct _SoupURI SoupURI;
-typedef struct _GstElement GstElement;
-
-namespace WTF {
-
-template<> void freeOwnedGPtr<SoupURI>(SoupURI* ptr);
-template<> void freeOwnedGPtr<GstElement>(GstElement* ptr);
-
-}
-
-#endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list