[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

Gustavo Noronha Silva kov at debian.org
Wed Dec 22 16:44:06 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit c2be6fc32cc58eb66fe4768fae84e14081a6897a
Author: Gustavo Noronha Silva <kov at debian.org>
Date:   Sat Dec 11 09:16:26 2010 -0200

    Preparing 1.3.7 instead
    
    This change also disables WebSockets because of the recent trend in
    doing so to protect browsers from the protocol-level vulnerability,
    and removes now-unnecessary patches.

diff --git a/WebKit/gtk/docs/GNUmakefile.am~ b/WebKit/gtk/docs/GNUmakefile.am~
deleted file mode 100644
index 51e66dd..0000000
--- a/WebKit/gtk/docs/GNUmakefile.am~
+++ /dev/null
@@ -1,106 +0,0 @@
-## Process this file with automake to produce GNUmakefile.in
-
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE=webkitgtk
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=../webkit
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS="--type-init-func=g_thread_init(NULL);g_type_init()"
-
-# Extra options to supply to gtkdoc-scan.
-# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS=--deprecated-guards="WEBKIT_DISABLE_DEPRECATED" --ignore-decorators="WEBKIT_API"
-
-# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml --source-suffixes=h,c,cpp
-
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
-FIXXREF_OPTIONS=
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
-# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/WebKit/gtk/webkit/*.h
-CFILE_GLOB=$(top_srcdir)/WebKit/gtk/webkit/*.cpp
-
-# Header files to ignore when scanning.
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES=webkitprivate.h
-
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES=
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files=webkitenvironment.xml
-
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files=
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
-# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-INCLUDES= \
-	-I$(top_srcdir)/WebKit/gtk \
-	-I$(top_builddir)/WebKit/gtk \
-	$(global_cppflags) \
-	$(global_cflags) \
-	-I$(top_srcdir) \
-	-I$(top_srcdir)/JavaScriptCore \
-	-I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \
-	-I$(top_srcdir)/JavaScriptCore/parser \
-	-I$(top_srcdir)/JavaScriptCore/wtf \
-	-I$(top_builddir)/DerivedSources \
-	$(GLOBALDEPS_CFLAGS) \
-	$(CAIRO_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(GTK_CFLAGS) \
-	$(LIBSOUP_CFLAGS)
-GTKDOC_LIBS= \
-	$(top_builddir)/libwebkitgtk- at WEBKITGTK_API_VERSION@.la \
-	$(GLIB_LIBS) \
-	$(GTK_LIBS) \
-	$(LIBSOUP_LIBS)
-
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-include $(top_srcdir)/gtk-doc.make
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST +=
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want your docs-status tested during 'make check'
-#TESTS = $(GTKDOC_CHECK)
-
diff --git a/WebKit/gtk/tests/resources/iframedocument.html~ b/WebKit/gtk/tests/resources/iframedocument.html~
deleted file mode 100644
index 55f9a97..0000000
--- a/WebKit/gtk/tests/resources/iframedocument.html~
+++ /dev/null
@@ -1 +0,0 @@
-<html><div id='inner'></div></html>
diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h
index 35994b0..e090ed4 100644
--- a/WebKit/gtk/webkit/webkitprivate.h
+++ b/WebKit/gtk/webkit/webkitprivate.h
@@ -218,9 +218,6 @@ extern "C" {
     WTF::String
     webkitUserAgent();
 
-    WebCore::String
-    chromeUserAgent();
-
     void
     webkit_web_frame_core_frame_gone(WebKitWebFrame*);
 
diff --git a/debian/changelog b/debian/changelog
index 235f152..5d64d0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,16 +1,13 @@
-webkit (1.3.3-1) experimental; urgency=low
+webkit (1.3.7-1) experimental; urgency=low
 
   * New upstream development release
   * debian/debian/gir1.0-webkit-1.0.install, debian/control,
     debian/rules, debian/libwebkit-dev.install:
   - add gir1.0-webkit-1.0 package, and enable introspection support
   - rename packages to accomodate soname change
-  * debian/patches/04-spoof-user-agent-to-google.patch:
-  - spoof User Agent when talking to Google servers;
-    this should make Youtube HTML5 work again
+  - add new packages for gtk3-based webkitgtk
   * debian/control, debian/rules:
   - enable building geolocation support
-  - enable building websockets support
 
  -- Gustavo Noronha Silva <kov at debian.org>  Wed, 11 Aug 2010 11:10:28 -0300
 
diff --git a/debian/patches/01_gir-version-1.0.patch b/debian/patches/01_gir-version-1.0.patch
deleted file mode 100644
index 142f762..0000000
--- a/debian/patches/01_gir-version-1.0.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/WebKit/gtk/JSCore-1.0.gir b/WebKit/gtk/JSCore-1.0.gir
-index 471b0c7..2c2f5f8 100644
---- a/WebKit/gtk/JSCore-1.0.gir
-+++ b/WebKit/gtk/JSCore-1.0.gir
-@@ -1,5 +1,5 @@
- <?xml version="1.0"?>
--<repository version="1.1"
-+<repository version="1.0"
-             xmlns="http://www.gtk.org/introspection/core/1.0"
-             xmlns:c="http://www.gtk.org/introspection/c/1.0">
-   <namespace name="JSCore" version="1.0" shared-library="webkitgtk-1.0">
-diff --git a/WebKit/gtk/JSCore.gir.in b/WebKit/gtk/JSCore.gir.in
-index e979c33..c43a687 100644
---- a/WebKit/gtk/JSCore.gir.in
-+++ b/WebKit/gtk/JSCore.gir.in
-@@ -1,5 +1,5 @@
- <?xml version="1.0"?>
--<repository version="1.1"
-+<repository version="1.0"
-             xmlns="http://www.gtk.org/introspection/core/1.0"
-             xmlns:c="http://www.gtk.org/introspection/c/1.0">
-   <namespace name="JSCore" version="@WEBKITGTK_API_VERSION@" shared-library="webkitgtk- at WEBKITGTK_API_VERSION@">
diff --git a/debian/patches/02_inspector_files_path.patch b/debian/patches/02_inspector_files_path.patch
deleted file mode 100644
index a8e41f4..0000000
--- a/debian/patches/02_inspector_files_path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
-index 616834b..5429b79 100644
---- a/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
-+++ b/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
-@@ -85,7 +85,7 @@ void InspectorClient::openInspectorFrontend(InspectorController* controller)
-         GOwnPtr<gchar> fullPath(g_strdup_printf("%s/WebCore/inspector/front-end/inspector.html", currentDirectory.get()));
-         inspectorURI.set(g_filename_to_uri(fullPath.get(), NULL, NULL));
-     } else
--        inspectorURI.set(g_filename_to_uri(DATA_DIR"/webkit-1.0/webinspector/inspector.html", NULL, NULL));
-+        inspectorURI.set(g_filename_to_uri(DATA_DIR"/webkitgtk-1.0/webinspector/inspector.html", NULL, NULL));
- 
-     webkit_web_view_load_uri(inspectorWebView, inspectorURI.get());
- 
diff --git a/debian/patches/04-spoof-user-agent-to-google.patch b/debian/patches/04-spoof-user-agent-to-google.patch
deleted file mode 100644
index 5b66207..0000000
--- a/debian/patches/04-spoof-user-agent-to-google.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-From 4a1d7a03e9b18481f4409e5761f580682b1e1e5b Mon Sep 17 00:00:00 2001
-From: Gustavo Noronha Silva <kov at debian.org>
-Date: Tue, 10 Aug 2010 19:59:21 -0300
-Subject: [PATCH] Spoof User-Agent when talking to Google sites
-
-Some Google sites do User-Agent sniffing and cripple the experience
-for browsers that are not in their white lists. This includes not
-delivering the nice fade-in effect for Google's main page, and HTML5
-videos on Youtube. This change makes WebKitGTK+ fake being Chrome
-through the User-Agent field whenever the "site specific quirks"
-setting is enabled.
----
- WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp |  125 +++++++++++++++++++-
- WebKit/gtk/webkit/webkitprivate.h                  |    4 +
- WebKit/gtk/webkit/webkitwebsettings.cpp            |   35 +++++-
- 3 files changed, 156 insertions(+), 8 deletions(-)
-
-diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
-index 340b789..c99edf8 100644
---- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
-+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
-@@ -47,6 +47,7 @@
- #include "MIMETypeRegistry.h"
- #include "MouseEvent.h"
- #include "NotImplemented.h"
-+#include "Page.h"
- #include "PlatformString.h"
- #include "PluginDatabase.h"
- #include "RenderPart.h"
-@@ -91,9 +92,131 @@ FrameLoaderClient::~FrameLoaderClient()
-         g_object_unref(m_policyDecision);
- }
- 
--String FrameLoaderClient::userAgent(const KURL&)
-+typedef HashSet<String> GoogleDomainsSet;
-+
-+static void initializeDomainsList(GoogleDomainsSet& googleDomains)
-+{
-+    // Google search domains, plus *.google.com.
-+    googleDomains.add("google.biz");
-+    googleDomains.add("google.com");
-+    googleDomains.add("google.net");
-+    googleDomains.add("google.org");
-+    googleDomains.add("google.ae");
-+    googleDomains.add("google.ag");
-+    googleDomains.add("google.am");
-+    googleDomains.add("google.at");
-+    googleDomains.add("google.az");
-+    googleDomains.add("google.be");
-+    googleDomains.add("google.bi");
-+    googleDomains.add("google.ca");
-+    googleDomains.add("google.cc");
-+    googleDomains.add("google.cd");
-+    googleDomains.add("google.cg");
-+    googleDomains.add("google.ch");
-+    googleDomains.add("google.cl");
-+    googleDomains.add("google.com.br");
-+    googleDomains.add("google.co.uk");
-+    googleDomains.add("google.co.jp");
-+    googleDomains.add("google.de");
-+    googleDomains.add("google.dj");
-+    googleDomains.add("google.dk");
-+    googleDomains.add("google.es");
-+    googleDomains.add("google.fi");
-+    googleDomains.add("google.fm");
-+    googleDomains.add("google.fr");
-+    googleDomains.add("google.gg");
-+    googleDomains.add("google.gl");
-+    googleDomains.add("google.gm");
-+    googleDomains.add("google.gs");
-+    googleDomains.add("google.hn");
-+    googleDomains.add("google.hu");
-+    googleDomains.add("google.ie");
-+    googleDomains.add("google.it");
-+    googleDomains.add("google.je");
-+    googleDomains.add("google.kz");
-+    googleDomains.add("google.li");
-+    googleDomains.add("google.lt");
-+    googleDomains.add("google.lu");
-+    googleDomains.add("google.lv");
-+    googleDomains.add("google.ma");
-+    googleDomains.add("google.ms");
-+    googleDomains.add("google.mu");
-+    googleDomains.add("google.mw");
-+    googleDomains.add("google.nl");
-+    googleDomains.add("google.no");
-+    googleDomains.add("google.nu");
-+    googleDomains.add("google.pl");
-+    googleDomains.add("google.pn");
-+    googleDomains.add("google.pt");
-+    googleDomains.add("google.ru");
-+    googleDomains.add("google.rw");
-+    googleDomains.add("google.sh");
-+    googleDomains.add("google.sk");
-+    googleDomains.add("google.sm");
-+    googleDomains.add("google.st");
-+    googleDomains.add("google.td");
-+    googleDomains.add("google.tk");
-+    googleDomains.add("google.tp");
-+    googleDomains.add("google.tv");
-+    googleDomains.add("google.us");
-+    googleDomains.add("google.uz");
-+    googleDomains.add("google.ws");
-+
-+    // Youtube-related domains.
-+    googleDomains.add("youtube.com");
-+    googleDomains.add("ytimg.com");
-+
-+    // GMail.
-+    googleDomains.add("gmail.com");
-+
-+    // Google static files domain.
-+    googleDomains.add("gstatic.com");
-+}
-+
-+static bool isGoogleDomain(String host)
-+{
-+    DEFINE_STATIC_LOCAL(HashSet<String>, googleDomains, ());
-+    DEFINE_STATIC_LOCAL(Vector<String>, googleNamespaces, ());
-+
-+    if (googleDomains.isEmpty()) {
-+        googleNamespaces.append(".google.");
-+        googleNamespaces.append(".gmail.");
-+        googleNamespaces.append(".youtube.");
-+        googleNamespaces.append(".gstatic.");
-+        googleNamespaces.append(".ytimg.");
-+
-+        initializeDomainsList(googleDomains);
-+    }
-+
-+    // First we try a full-match, for cases such as 'youtube.com' as opposed to
-+    // 'www.youtube.com'.
-+    if (googleDomains.contains(host))
-+        return true;
-+
-+    // Then we check the possibility of the URL being a subdomain of well-known google domains.
-+    for (unsigned int i = 0; i < googleNamespaces.size(); i++) {
-+        int position = host.find(googleNamespaces.at(i));
-+        if (position > 0) {
-+            if (googleDomains.contains(host.substring(position + 1)))
-+                return true;
-+            return false;
-+        }
-+    }
-+
-+    return false;
-+}
-+
-+String FrameLoaderClient::userAgent(const KURL& url)
- {
-     WebKitWebSettings* settings = webkit_web_view_get_settings(getViewFromFrame(m_frame));
-+
-+    gboolean useQuirks;
-+    g_object_get(settings, "enable-site-specific-quirks", &useQuirks, NULL);
-+
-+    // For Google domains, identify as Chrome, so they don't give us a broken experience.
-+    if (useQuirks && isGoogleDomain(url.host()))
-+        return chromeUserAgent();
-+
-     return String::fromUTF8(webkit_web_settings_get_user_agent(settings));
- }
- 
-diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h
-index 73f9fcc..e3271d3 100644
---- a/WebKit/gtk/webkit/webkitprivate.h
-+++ b/WebKit/gtk/webkit/webkitprivate.h
-@@ -57,6 +57,7 @@
- #include "IntPoint.h"
- #include "FrameLoaderClient.h"
- #include "Page.h"
-+#include "PlatformString.h"
- #include "ResourceHandle.h"
- #include "ResourceRequest.h"
- #include "ResourceResponse.h"
-@@ -199,6 +200,9 @@ extern "C" {
-     PassRefPtr<WebCore::Frame>
-     webkit_web_frame_init_with_web_view(WebKitWebView*, WebCore::HTMLFrameOwnerElement*);
- 
-+    WebCore::String
-+    chromeUserAgent();
-+
-     void
-     webkit_web_frame_core_frame_gone(WebKitWebFrame*);
- 
-diff --git a/WebKit/gtk/webkit/webkitwebsettings.cpp b/WebKit/gtk/webkit/webkitwebsettings.cpp
-index d61f3ff..2ad539d 100644
---- a/WebKit/gtk/webkit/webkitwebsettings.cpp
-+++ b/WebKit/gtk/webkit/webkitwebsettings.cpp
-@@ -163,10 +163,9 @@ enum {
- // Create a default user agent string
- // This is a liberal interpretation of http://www.mozilla.org/build/revised-user-agent-strings.html
- // See also http://developer.apple.com/internet/safari/faq.html#anchor2
--static String webkit_get_user_agent()
-+static String webkit_get_platform()
- {
--    gchar* platform;
--    gchar* osVersion;
-+    char* platform;
- 
- #if PLATFORM(X11)
-     platform = g_strdup("X11");
-@@ -180,6 +179,16 @@ static String webkit_get_user_agent()
-     platform = g_strdup("Unknown");
- #endif
- 
-+    DEFINE_STATIC_LOCAL(const String, uaPlatform, (String::fromUTF8(platform)));
-+    g_free(platform);
-+
-+    return uaPlatform;
-+}
-+
-+static String webkit_get_os_version()
-+{
-+    char* osVersion;
-+
-    // FIXME: platform/version detection can be shared.
- #if OS(DARWIN)
- 
-@@ -204,19 +213,31 @@ static String webkit_get_user_agent()
-     osVersion = g_strdup("Unknown");
- #endif
- 
-+    DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String::fromUTF8(osVersion)));
-+
-+    return uaOSVersion;
-+}
-+
-+static String webkit_get_user_agent()
-+{
-     // We mention Safari since many broken sites check for it (OmniWeb does this too)
-     // We re-use the WebKit version, though it doesn't seem to matter much in practice
- 
-     DEFINE_STATIC_LOCAL(const String, uaVersion, (String::format("%d.%d+", WEBKIT_USER_AGENT_MAJOR_VERSION, WEBKIT_USER_AGENT_MINOR_VERSION)));
-     DEFINE_STATIC_LOCAL(const String, staticUA, (String::format("Mozilla/5.0 (%s; U; %s; %s) AppleWebKit/%s (KHTML, like Gecko) Safari/%s",
--                                                                platform, osVersion, defaultLanguage().utf8().data(), uaVersion.utf8().data(), uaVersion.utf8().data())));
--
--    g_free(osVersion);
--    g_free(platform);
-+                                                                webkit_get_platform().utf8().data(), webkit_get_os_version().utf8().data(), defaultLanguage().utf8().data(), uaVersion.utf8().data(), uaVersion.utf8().data())));
- 
-     return staticUA;
- }
- 
-+String chromeUserAgent()
-+{
-+    DEFINE_STATIC_LOCAL(const String, uaChrome, (String::format("Mozilla/5.0 (%s; U; %s; en-US) AppleWebKit/534.0 (KHTML, like Gecko) Chrome/6.0.411.0 Safari/534.0",
-+                                                                webkit_get_platform().utf8().data(), webkit_get_os_version().utf8().data())));
-+
-+    return uaChrome;
-+}
-+
- static void webkit_web_settings_finalize(GObject* object);
- 
- static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
--- 
-1.7.1
-
diff --git a/debian/patches/series b/debian/patches/series
index 2713c93..e69de29 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +0,0 @@
-01_gir-version-1.0.patch
-02_inspector_files_path.patch
-04-spoof-user-agent-to-google.patch
diff --git a/debian/rules b/debian/rules
index 38c6525..c6eb2d1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -70,8 +70,7 @@ build-stamp:
 			--with-gtk=$${version} \
 			--enable-gtk-doc \
 			--enable-introspection \
-			--enable-geolocation \
-			--enable-websockets; \
+			--enable-geolocation; \
 		cd ..; \
 	done
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list