[Xfce4-commits] <midori:master> Iterate links and anchors for next/ previous labels

Christian Dywan noreply at xfce.org
Fri Jun 11 21:44:01 CEST 2010


Updating branch refs/heads/master
         to 61add83eeb8d2a8eda011768fb5823be8b59c533 (commit)
       from b747f00e26c5358b7a9f4fdfbecc569828abe439 (commit)

commit 61add83eeb8d2a8eda011768fb5823be8b59c533
Author: Christian Dywan <christian at twotoasts.de>
Date:   Tue Jun 8 22:27:57 2010 +0200

    Iterate links and anchors for next/ previous labels

 midori/midori-view.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/midori/midori-view.c b/midori/midori-view.c
index 20d1ad6..40352d9 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -4680,9 +4680,11 @@ midori_view_get_previous_page (MidoriView* view)
     web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view));
     js_context = webkit_web_frame_get_global_context (web_frame);
     katze_assign (uri, sokoke_js_script_eval (js_context,
-        "(function (l) {"
+        "(function (g) {"
         "var ind = ['prev','←','«','<'];"
         "var nind = ['next','→','»','>'];"
+        "for (h in g) {"
+        "l = g[h];"
         "for (i in l)"
         "if (l[i].rel && (l[i].rel == ind[0]))"
         "return l[i].href;"
@@ -4708,10 +4710,12 @@ midori_view_get_previous_page (MidoriView* view)
         "}"
         "for (j in cand)"
         "for (i in l)"
-        "if (l[i].href && (l[i].href.indexOf (cand[j]) == 0))"
+        "if (cand[j].length && l[i].href && (l[i].href.indexOf (cand[j]) == 0))"
         "return l[i].href;"
+        "}"
         "return 0;"
-        "}) (document.getElementsByTagName ('a'));", NULL));
+        "}) ([document.getElementsByTagName ('link'),"
+        "document.getElementsByTagName ('a')]);", NULL));
     return uri && uri[0] != '0' ? uri : NULL;
 }
 
@@ -4740,9 +4744,11 @@ midori_view_get_next_page (MidoriView* view)
     web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view));
     js_context = webkit_web_frame_get_global_context (web_frame);
     katze_assign (uri, sokoke_js_script_eval (js_context,
-        "(function (l) {"
+        "(function (g) {"
         "var ind = ['next','→','»','>'];"
         "var nind = ['prev','←','«','<'];"
+        "for (h in g) {"
+        "l = g[h];"
         "for (i in l)"
         "if (l[i].rel && (l[i].rel == ind[0]))"
         "return l[i].href;"
@@ -4768,10 +4774,12 @@ midori_view_get_next_page (MidoriView* view)
         "}"
         "for (j in cand)"
         "for (i in l)"
-        "if (l[i].href && (l[i].href.indexOf (cand[j]) == 0))"
+        "if (cand[j].length && l[i].href && (l[i].href.indexOf (cand[j]) == 0))"
         "return l[i].href;"
+        "}"
         "return 0;"
-        "}) (document.getElementsByTagName ('a'));", NULL));
+        "}) ([document.getElementsByTagName ('link'),"
+        "document.getElementsByTagName ('a')]);", NULL));
     return uri && uri[0] != '0' ? uri : NULL;
 }
 #if WEBKIT_CHECK_VERSION (1, 1, 5)



More information about the Xfce4-commits mailing list