@@ -13,6 +13,7 @@ import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSBase
13import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef
13import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSObjectRef
14import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef
14import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSStringRef
15import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef
15import Graphics.UI.Gtk.WebKit.JavaScriptCore.JSValueRef
16+import Graphics.UI.Gtk.WebKit.JavaScriptCore.WebFrame
16import Graphics.UI.Gtk.WebKit.WebView
17import Graphics.UI.Gtk.WebKit.WebView
17import Graphics.UI.Gtk.WebKit.Types hiding (Event, Widget, unWidget)
18import Graphics.UI.Gtk.WebKit.Types hiding (Event, Widget, unWidget)
18import Graphics.UI.Gtk.WebKit.WebSettings
19import Graphics.UI.Gtk.WebKit.WebSettings
@@ -99,3 +100,19 @@ fromJSStringMaybe c t = do
99 peekCString ps
100 peekCString ps
100 return $ Just s
101 return $ Just s
103+getLocationHost :: WebView -> IO String
104+getLocationHost wv = do
105+ c <- webFrameGetGlobalContext =<< webViewGetMainFrame wv
106+ script <- jsstringcreatewithutf8cstring "location.host"
107+ lh <- jsevaluatescript c script nullPtr nullPtr 1 nullPtr
108+ lh' <- fromJSStringMaybe c lh
109+ return $ maybe "" id lh'
111+getLocationProtocol :: WebView -> IO String
112+getLocationProtocol wv = do
113+ c <- webFrameGetGlobalContext =<< webViewGetMainFrame wv
114+ script <- jsstringcreatewithutf8cstring "location.protocol"
115+ lp <- jsevaluatescript c script nullPtr nullPtr 1 nullPtr
116+ lp' <- fromJSStringMaybe c lp
117+ return $ maybe "" id lp'