]> spindle.queued.net Git - midori/commitdiff
Add support for javascript: bookmarklets
authorChristian Dywan <christian@twotoasts.de>
Mon, 8 Dec 2008 23:02:38 +0000 (00:02 +0100)
committerChristian Dywan <christian@twotoasts.de>
Mon, 8 Dec 2008 23:02:38 +0000 (00:02 +0100)
midori/midori-view.c
midori/sokoke.c
tests/magic-uri.c

index 1e5bbbd36d69c2c1fdd915ac2b453cf43eef7e0a..8a89b137dd5175b31ff62856d515479f71ededa3 100644 (file)
@@ -1551,6 +1551,10 @@ midori_view_set_uri (MidoriView*  view,
                 return;
             }
         }
+        else if (g_str_has_prefix (uri, "javascript:"))
+        {
+            midori_view_execute_script (view, &uri[11], NULL);
+        }
         else
         {
             katze_assign (view->uri, g_strdup (uri));
index 970b54bd2e40b2da42c2a8bf77e941a833b7907c..305261ced9fcf72a9a8edd86eb079344ab79d1c5 100644 (file)
@@ -97,6 +97,9 @@ sokoke_magic_uri (const gchar* uri,
     g_return_val_if_fail (!search_engines ||
         katze_array_is_a (search_engines, KATZE_TYPE_ITEM), NULL);
 
+    /* Just return if it's a javascript: uri */
+    if (g_str_has_prefix (uri, "javascript:"))
+        return g_strdup (uri);
     /* Add file:// if we have a local path */
     if (g_path_is_absolute (uri))
         return g_strconcat ("file://", uri, NULL);
index 18bfa86eab06aada4dca2d234151b96ec492a805..3a8dbafa3ee4a9cbe139124fdd22e2fc6e1a758c 100644 (file)
@@ -83,6 +83,7 @@ main (int    argc,
     test_input ("verbose de.po", NULL);
     test_input ("g de.po verbose", NULL);
     test_input ("sm de.po verbose", SM "de.po verbose");
+    test_input ("javascript:alert(1)", "javascript:alert(1)");
 
     return 0;
 }