diff options
author | root <root@rshg054.dnsready.net> | 2011-10-04 23:14:30 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-10-04 23:14:30 +0000 |
commit | 3567a49f79d2dbf828b723ab54982fa6c7ea1c80 (patch) | |
tree | 15fc309d3681df4da7a56189050fd5aa16fa9794 /extra/midori/webkit_search.diff | |
parent | 57d05f7209f022aa99a8850aafbeec4cb85c3b5b (diff) |
Tue Oct 4 23:14:30 UTC 2011
Diffstat (limited to 'extra/midori/webkit_search.diff')
-rw-r--r-- | extra/midori/webkit_search.diff | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/extra/midori/webkit_search.diff b/extra/midori/webkit_search.diff new file mode 100644 index 000000000..620cdc96f --- /dev/null +++ b/extra/midori/webkit_search.diff @@ -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 |