1
0
forked from ports/contrib

midori: update for webkit 1.6.1

This commit is contained in:
Danny Rawlins 2011-10-08 22:58:38 +11:00
parent 92cc01eaae
commit 6f84533d80
4 changed files with 105 additions and 2 deletions

View File

@ -1 +1,3 @@
2f5b6f1eada320571ea0d3196ff81e10 midori-0.4.0-libjavascriptcoregtk.patch
293c026e1875145e0df9584e1ff2a70e midori-0.4.0-webkit-1.6.1-build.patch
14aa14ccabf3d003903f1584dab15d7a midori-0.4.0.tar.bz2

View File

@ -6,12 +6,17 @@
name=midori
version=0.4.0
release=1
source=(http://archive.xfce.org/src/apps/$name/${version%.*}/$name-$version.tar.bz2)
release=2
source=(http://archive.xfce.org/src/apps/$name/${version%.*}/$name-$version.tar.bz2
midori-0.4.0-webkit-1.6.1-build.patch
midori-0.4.0-libjavascriptcoregtk.patch)
build() {
cd $name-$version
local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) \{0,1\}.*/\1/' <<< $MAKEFLAGS)"
patch -p 1 -i $SRC/midori-0.4.0-webkit-1.6.1-build.patch
patch -p 1 -i $SRC/midori-0.4.0-libjavascriptcoregtk.patch
./configure --prefix=/usr $JOBS
make
make DESTDIR=$PKG install

View File

@ -0,0 +1,37 @@
From bd5a85fb9f21d74d0808d66f6af07e5f9f7cf615 Mon Sep 17 00:00:00 2001
From: Guido Berhoerster <gber@opensuse.org>
Date: Wed, 05 Oct 2011 08:01:05 +0000
Subject: Link explicitly against libjavascriptcoregtk
Fixes: https://bugs.launchpad.net/midori/+bug/855978
---
diff --git a/midori/wscript_build b/midori/wscript_build
index a69e08d..45b3486 100644
--- a/midori/wscript_build
+++ b/midori/wscript_build
@@ -7,7 +7,8 @@ import platform
progressive = True
libs = 'M UNIQUE LIBSOUP GMODULE GTHREAD LIBIDN GIO GTK SQLITE ' \
- 'LIBNOTIFY WEBKIT LIBXML X11 XSS WS2_32 OPENSSL HILDON HILDON_FM'
+ 'LIBNOTIFY WEBKIT JAVASCRIPTCOREGTK LIBXML X11 XSS WS2_32 OPENSSL HILDON' \
+ 'HILDON_FM'
if progressive or Options.commands['check']:
obj = bld.new_task_gen ('cc', 'staticlib')
diff --git a/wscript b/wscript
index 840c390..736ddfc 100644
--- a/wscript
+++ b/wscript
@@ -197,6 +197,9 @@ def configure (conf):
conf.check (lib='Xss', libpath='/usr/X11R6/lib', mandatory=False)
check_pkg ('gtk+-2.0', '2.10.0', var='GTK', args=args)
check_pkg ('webkit-1.0', '1.1.17', args=args)
+ webkit_version = conf.check_cfg (modversion='webkit-1.0').split ('.')
+ if int(webkit_version[0]) >= 1 and int(webkit_version[1]) >= 5 and int(webkit_version[2]) >= 1:
+ check_pkg ('javascriptcoregtk-1.0', '1.1.17', args=args)
check_pkg ('libsoup-2.4', '2.25.2')
conf.define ('HAVE_LIBSOUP_2_25_2', 1)
check_pkg ('libsoup-2.4', '2.27.90', False, var='LIBSOUP_2_27_90')
--
cgit

View File

@ -0,0 +1,59 @@
From 648d869e4ff69f121da97484a0fd553b005ca751 Mon Sep 17 00:00:00 2001
From: Christian Dywan <christian@twotoasts.de>
Date: Wed, 21 Sep 2011 21:50:51 +0000
Subject: Use DOM API to get selected text in WebKitGTK+ 1.5.1
Fixes: https://bugs.launchpad.net/midori/+bug/799603
---
diff --git a/midori/midori-view.c b/midori/midori-view.c
index 0d7a96e..e426e7f 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -39,9 +39,11 @@
#include <sys/utsname.h>
#endif
+#if !WEBKIT_CHECK_VERSION (1, 5, 1)
/* This is unstable API, so we need to declare it */
gchar*
webkit_web_view_get_selected_text (WebKitWebView* web_view);
+#endif
static void
midori_view_construct_web_view (MidoriView* view);
@@ -4167,10 +4169,33 @@ midori_view_get_link_uri (MidoriView* view)
gboolean
midori_view_has_selection (MidoriView* view)
{
+#if WEBKIT_CHECK_VERSION (1, 5, 1)
+ WebKitDOMDocument* doc;
+ WebKitDOMDOMWindow* window;
+ WebKitDOMDOMSelection* selection;
+ WebKitDOMRange* range;
+#endif
+
g_return_val_if_fail (MIDORI_IS_VIEW (view), FALSE);
+
+#if WEBKIT_CHECK_VERSION (1, 5, 1)
+ doc = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view->web_view));
+ window = webkit_dom_document_get_default_view (doc);
+ selection = webkit_dom_dom_window_get_selection (window);
+ if (selection == NULL)
+ return FALSE;
+
+ range = webkit_dom_dom_selection_get_range_at (selection, 0, NULL);
+ if (range == NULL)
+ return FALSE;
+
+ katze_assign (view->selected_text, webkit_dom_range_get_text (range));
+#else
katze_assign (view->selected_text, webkit_web_view_get_selected_text (
WEBKIT_WEB_VIEW (view->web_view)));
+#endif
+
if (view->selected_text && *view->selected_text)
return TRUE;
else
--
cgit