[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