aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--embed/ephy-embed-utils.c1
-rw-r--r--embed/ephy-web-view.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/embed/ephy-embed-utils.c b/embed/ephy-embed-utils.c
index 0405de744..d937d2e4b 100644
--- a/embed/ephy-embed-utils.c
+++ b/embed/ephy-embed-utils.c
@@ -91,6 +91,7 @@ ephy_embed_utils_address_has_web_scheme (const char *address)
g_str_has_prefix (address, "file:") ||
g_str_has_prefix (address, "data:") ||
g_str_has_prefix (address, "about:") ||
+ g_str_has_prefix (address, "javascript:") ||
g_str_has_prefix (address, "gopher:"));
return has_web_scheme;
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index acf3e5f0b..0d3be0d8f 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -1118,7 +1118,10 @@ ephy_web_view_load_url (EphyWebView *view,
} else
effective_url = ephy_embed_utils_normalize_address (url);
- webkit_web_view_open (WEBKIT_WEB_VIEW (view), effective_url);
+ if (g_str_has_prefix (effective_url, "javascript:"))
+ webkit_web_view_execute_script (WEBKIT_WEB_VIEW (view), effective_url);
+ else
+ webkit_web_view_open (WEBKIT_WEB_VIEW (view), effective_url);
if (soup_uri)
soup_uri_free (soup_uri);