summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Perier <mrpouet@gentoo.org>2010-01-02 20:33:54 +0000
committerRomain Perier <mrpouet@gentoo.org>2010-01-02 20:33:54 +0000
commit3df66496b4a4bc324d71c05d587e06fc73c41707 (patch)
tree1c9b2a7dec7b9e0b16b7fb2ef680c25927918d3d /www-client/epiphany-extensions
parentVersion bump. (diff)
downloadgentoo-2-3df66496b4a4bc324d71c05d587e06fc73c41707.tar.gz
gentoo-2-3df66496b4a4bc324d71c05d587e06fc73c41707.tar.bz2
gentoo-2-3df66496b4a4bc324d71c05d587e06fc73c41707.zip
Fix auto-scroller broken with middle click, per bug #294712. Patch imported from upstream bug #589560.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'www-client/epiphany-extensions')
-rw-r--r--www-client/epiphany-extensions/ChangeLog12
-rw-r--r--www-client/epiphany-extensions/epiphany-extensions-2.28.1-r1.ebuild75
-rw-r--r--www-client/epiphany-extensions/files/epiphany-extensions-2.28.1-auto-scroller-broken.patch115
3 files changed, 200 insertions, 2 deletions
diff --git a/www-client/epiphany-extensions/ChangeLog b/www-client/epiphany-extensions/ChangeLog
index dacec4cb707d..b09d4118d45f 100644
--- a/www-client/epiphany-extensions/ChangeLog
+++ b/www-client/epiphany-extensions/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for www-client/epiphany-extensions
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany-extensions/ChangeLog,v 1.117 2009/10/29 21:40:50 eva Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany-extensions/ChangeLog,v 1.118 2010/01/02 20:33:54 mrpouet Exp $
+
+*epiphany-extensions-2.28.1-r1 (02 Jan 2010)
+
+ 02 Jan 2010; Romain Perier <mrpouet@gentoo.org>
+ +epiphany-extensions-2.28.1-r1.ebuild,
+ +files/epiphany-extensions-2.28.1-auto-scroller-broken.patch:
+ Fix auto-scroller broken with middle click, per bug #294712. Patch
+ imported from upstream bug #589560.
*epiphany-extensions-2.28.1 (29 Oct 2009)
diff --git a/www-client/epiphany-extensions/epiphany-extensions-2.28.1-r1.ebuild b/www-client/epiphany-extensions/epiphany-extensions-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..fe9c6a8f0608
--- /dev/null
+++ b/www-client/epiphany-extensions/epiphany-extensions-2.28.1-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany-extensions/epiphany-extensions-2.28.1-r1.ebuild,v 1.1 2010/01/02 20:33:54 mrpouet Exp $
+
+EAPI="2"
+
+inherit gnome2 eutils versionator
+
+MY_MAJORV=$(get_version_component_range 1-2)
+
+DESCRIPTION="Extensions for the Epiphany web browser"
+HOMEPAGE="http://www.gnome.org/projects/epiphany/extensions.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus examples pcre"
+
+RDEPEND=">=www-client/epiphany-${MY_MAJORV}
+ app-text/opensp
+ >=dev-libs/glib-2.15.5
+ >=gnome-base/gconf-2.0
+ >=dev-libs/libxml2-2.6
+ >=x11-libs/gtk+-2.12.0
+ >=gnome-base/libglade-2
+ >=net-libs/webkit-gtk-1.1
+
+ dbus? ( >=dev-libs/dbus-glib-0.34 )
+ pcre? ( >=dev-libs/libpcre-3.9-r2 )"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40
+ >=dev-util/pkgconfig-0.20
+ >=app-text/gnome-doc-utils-0.3.2"
+# eautoreconf dependencies:
+# gnome-base/gnome-common
+
+DOCS="AUTHORS ChangeLog HACKING NEWS README"
+
+# FIXME: Open security issues:
+# FIXME: - adblock ( https://bugzilla.gnome.org/show_bug.cgi?id=595255 )
+# FIXME: broken extensions:
+# FIXME: - gestures ( https://bugzilla.gnome.org/show_bug.cgi?id=563099 )
+# FIXME: - session-saver ( https://bugzilla.gnome.org/show_bug.cgi?id=316245 )
+# FIXME: - sidebar: hangs ( https://bugzilla.gnome.org/show_bug.cgi?id=594481 )
+
+pkg_setup() {
+ local extensions=""
+
+ extensions="actions auto-reload auto-scroller certificates \
+ error-viewer extensions-manager-ui \
+ java-console livehttpheaders page-info permissions \
+ push-scroller select-stylesheet \
+ smart-bookmarks soup-fly tab-groups tab-states"
+ use dbus && extensions="${extensions} rss"
+
+ use pcre && extensions="${extensions} greasemonkey"
+
+ use examples && extensions="${extensions} sample"
+
+ G2CONF="${G2CONF}
+ --disable-maintainer-mode
+ --with-extensions=$(echo "${extensions}" | sed -e 's/[[:space:]]\+/,/g')"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+ # auto-scroller is broken and makes middle click be unable to open links in new tabs,
+ # bug 294712
+ epatch "${FILESDIR}/${P}-auto-scroller-broken.patch"
+}
+
+src_install() {
+ gnome2_src_install
+ find "${D}" -name "*.la" -delete || die "remove of la files failed"
+}
diff --git a/www-client/epiphany-extensions/files/epiphany-extensions-2.28.1-auto-scroller-broken.patch b/www-client/epiphany-extensions/files/epiphany-extensions-2.28.1-auto-scroller-broken.patch
new file mode 100644
index 000000000000..bc048d5fcabd
--- /dev/null
+++ b/www-client/epiphany-extensions/files/epiphany-extensions-2.28.1-auto-scroller-broken.patch
@@ -0,0 +1,115 @@
+From c3584c630ac8ec80288f56bdb3ecc350b533d07e Mon Sep 17 00:00:00 2001
+From: Xan Lopez <xan@gnome.org>
+Date: Tue, 22 Sep 2009 10:43:09 +0000
+Subject: Fix auto-scroller extension to use the new WebKitHitTestResult stuff
+
+Upstream Bug #589560,#600140
+Dowstream Bug #294712
+
+---
+diff --git a/extensions/auto-scroller/ephy-auto-scroller-extension.c b/extensions/auto-scroller/ephy-auto-scroller-extension.c
+index 188cc44..f6c54fa 100644
+--- a/extensions/auto-scroller/ephy-auto-scroller-extension.c
++++ b/extensions/auto-scroller/ephy-auto-scroller-extension.c
+@@ -55,21 +55,23 @@ ensure_auto_scroller (EphyWindow *window)
+ return scroller;
+ }
+
+-#if 0
+ static gboolean
+-dom_mouse_down_cb (EphyEmbed *embed,
+- EphyEmbedEvent *event,
++dom_mouse_down_cb (EphyWebView *view,
++ GdkEventButton *event,
+ EphyWindow *window)
+ {
+ EphyAutoScroller *scroller;
+- EphyEmbedEventContext context;
++ guint context;
+ guint button, x, y;
++ WebKitHitTestResult *hit_test;
+
+- button = ephy_embed_event_get_button (event);
+- context = ephy_embed_event_get_context (event);
++ button = event->button;
++ hit_test = webkit_web_view_get_hit_test_result (WEBKIT_WEB_VIEW (view), event);
++ g_object_get (hit_test, "context", &context, NULL);
++ g_object_unref (hit_test);
+
+- if (button != 2 || (context & EPHY_EMBED_CONTEXT_INPUT) ||
+- (context & EPHY_EMBED_CONTEXT_LINK))
++ if (button != 2 || (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE) ||
++ (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK))
+ {
+ return FALSE;
+ }
+@@ -77,31 +79,9 @@ dom_mouse_down_cb (EphyEmbed *embed,
+ scroller = ensure_auto_scroller (window);
+ g_return_val_if_fail (scroller != NULL, FALSE);
+
+- ephy_embed_event_get_coords (event, &x, &y);
+- ephy_auto_scroller_start (scroller, embed, x, y);
+-
+- return TRUE;
+-}
+-#endif
+-
+-static gboolean
+-button_press_cb (GtkWidget *widget,
+- GdkEventButton *event,
+- EphyWindow *window)
+-{
+- EphyAutoScroller *scroller;
+- EphyEmbed *embed = (EphyEmbed*) gtk_widget_get_parent (widget);
+-
+- // FIXME: This will swallow middle clicks on inputs and links.
+- if (event->button != 2)
+- {
+- return FALSE;
+- }
+-
+- scroller = ensure_auto_scroller (window);
+- g_return_val_if_fail (scroller != NULL, FALSE);
+-
+- ephy_auto_scroller_start (scroller, embed, event->x_root, event->y_root);
++ x = (guint)event->x_root;
++ y = (guint)event->y_root;
++ ephy_auto_scroller_start (scroller, EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW (view), x, y);
+
+ return TRUE;
+ }
+@@ -123,14 +103,9 @@ impl_attach_tab (EphyExtension *ext,
+
+ g_return_if_fail (embed != NULL);
+
+-#if 0
+- g_signal_connect_object (embed, "ge-dom-mouse-down",
+- G_CALLBACK (dom_mouse_down_cb), window, 0);
+-#endif
+-
+ web_view = EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed);
+- g_signal_connect_object (web_view, "button_press_event",
+- G_CALLBACK (button_press_cb), window, 0);
++ g_signal_connect_object (web_view, "button-press-event",
++ G_CALLBACK (dom_mouse_down_cb), window, 0);
+ }
+
+ static void
+@@ -143,14 +118,9 @@ impl_detach_tab (EphyExtension *ext,
+
+ g_return_if_fail (embed != NULL);
+
+-#if 0
+- g_signal_handlers_disconnect_by_func
+- (embed, G_CALLBACK (dom_mouse_down_cb), window);
+-#endif
+-
+ web_view = EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed);
+ g_signal_handlers_disconnect_by_func
+- (web_view, G_CALLBACK (button_press_cb), window);
++ (web_view, G_CALLBACK (dom_mouse_down_cb), window);
+ }
+
+ static void
+--
+cgit v0.8.3.1