Updating branch refs/heads/master
         to cbec9bcb7466b793103426bdb66c88c9fcdc911b (commit)
       from d7aafda6db9a39307ae9663202d95901e7895467 (commit)

commit cbec9bcb7466b793103426bdb66c88c9fcdc911b
Author: Christian Dywan <christ...@twotoasts.de>
Date:   Wed Apr 4 22:55:23 2012 +0200

    Include geolocation info in about:version

 midori/midori-view.c |   42 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/midori/midori-view.c b/midori/midori-view.c
index 5217605..65d53f2 100644
--- a/midori/midori-view.c
+++ b/midori/midori-view.c
@@ -3828,7 +3828,43 @@ list_netscape_plugins (JSContextRef js_context)
         return g_strdup ("");
 }
 
-static gchar*
+static const gchar*
+list_geolocation ()
+{
+    return
+    "<a href=\"http://dev.w3.org/geo/api/spec-source.html\"; id=\"method\"></a>"
+    "<span id=\"locationInfo\"><noscript>No Geolocation without 
Javascript</noscript></span>"
+    "<script>"
+    "function displayLocation (position) {"
+    "var geouri = 'geo:' + position.coords.latitude + ',' + 
position.coords.longitude + ',' + position.coords.altitude + ',u=' + 
position.coords.accuracy;"
+    "document.getElementById('locationInfo').innerHTML = '<a href=\"' + geouri 
+ '\">' + geouri + '</a><br><code>'"
+    "+ ' timestamp: ' + position.timestamp"
+    "+ ' latitude: ' + position.coords.latitude"
+    "+ ' longitude: ' + position.coords.longitude"
+    "+ ' altitude: ' + position.coords.altitude + '<br>'"
+    "+ ' accuracy: ' + position.coords.accuracy"
+    "+ ' altitudeAccuracy: ' + position.coords.altitudeAccuracy"
+    "+ ' heading: ' + position.coords.heading"
+    "+ ' speed: ' + position.coords.speed"
+    "+ '</code>'; }"
+    "function handleError (error) {"
+    "var errorMessage = '<b>' + ['Unknown error', 'Permission denied', 
'Position failed', 'Timed out'][error.code] + '</b>';"
+    "if (error.code == 3) document.getElementById('locationInfo').innerHTML += 
(' ' + errorMessage);"
+    "else document.getElementById('locationInfo').innerHTML = errorMessage; }"
+    "if (navigator.geolocation) {"
+    "var options = { enableHighAccuracy: true, timeout: 60000, maximumAge: 
\"Infinite\" };"
+    "  if (navigator.geolocation.watchPosition) {"
+    "    document.getElementById('method').innerHTML = 
'<code>geolocation.watchPosition</code>:';"
+    "    navigator.geolocation.watchPosition(displayLocation, handleError, 
options);"
+    "  } else {"
+    "    document.getElementById('method').innerHTML = 
'<code>geolocation.getCurrentPosition</code>:';"
+    "    navigator.geolocation.getCurrentPosition(displayLocation, 
handleError);"
+    "  }"
+    "} else"
+    "  document.getElementById('locationInfo').innerHTML = 'Geolocation 
unavailable';"
+    "</script>";
+}
+
 static gchar*
 list_video_formats (JSContextRef js_context)
 {
@@ -4155,7 +4191,7 @@ midori_view_set_uri (MidoriView*  view,
                     "<tr><td>Identification</td><td>%s</td></tr>"
                     "<tr><td>Video&nbsp;Formats</td><td>%s</td></tr>"
                     "</table>"
-                    "%s"
+                    "%s %s"
                     "</body></html>",
                     _("Version numbers in brackets show the version used at 
runtime."),
                     command_line,
@@ -4182,7 +4218,7 @@ midori_view_set_uri (MidoriView*  view,
                     "Sockets",
                     #endif
                     platform, sys_name, architecture ? architecture : "", 
ident,
-                    video_formats, netscape_plugins);
+                    video_formats, list_geolocation (), netscape_plugins);
                 g_free (command_line);
                 g_free (arguments);
                 g_free (ident);
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to