on master help sign in
Make the base URLs more consistent.

- Base url for wkwebview is now index.html in the cwd - Base url for webkit2gtk specifies the file as index.html

commite2d2b9cef44066a4c3206da20afbe2bb249c76e1 authorTim Emiola <adetokunbo@users.noreply.github.com> dateTue 24 Apr 2018, 15:37 (8 years ago) parenta18550c
3 files changed+11−7
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+1−1 jsaddle-wkwebview/jsaddle-wkwebview.cabal+2 jsaddle-wkwebview/src/Language/Javascript/JSaddle/WKWebView/Internal.hs+8−6
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+1−1
@@ -148,7 +148,7 @@ run main = do
148148 void . onWebViewLoadChanged webView $ \case
149149 LoadEventFinished -> runInWebView main webView
150150 _ -> return ()
151− webViewLoadHtml webView "" . Just $ "file://" <> T.pack pwd <> "/"
151+ webViewLoadHtml webView "" . Just $ "file://" <> T.pack pwd <> "/index.html"
152152 installQuitHandler webView
153153 Gtk.main
154154
jsaddle-wkwebview/jsaddle-wkwebview.cabal+2
@@ -30,7 +30,9 @@ library
3030 aeson >=0.8.0.2 && <1.3,
3131 base <5,
3232 bytestring >=0.10.6.0 && <0.11,
33+ directory,
3334 jsaddle >= 0.9.4.0 && <0.10,
35+ text,
3436 data-default,
3537 containers
3638 default-language: Haskell2010
jsaddle-wkwebview/src/Language/Javascript/JSaddle/WKWebView/Internal.hs+8−6
@@ -15,6 +15,8 @@ import Data.ByteString (useAsCString, packCString)
1515import qualified Data.ByteString as BS (ByteString)
1616import Data.ByteString.Lazy (ByteString, toStrict, fromStrict)
1717import Data.Aeson (encode, decode)
18+import qualified Data.Text as T (pack)
19+import Data.Text.Encoding (encodeUtf8)
1820
1921import Foreign.C.String (CString)
2022import Foreign.Ptr (Ptr, nullPtr)
@@ -24,6 +26,8 @@ import Language.Javascript.JSaddle (Results, Batch, JSM)
2426import Language.Javascript.JSaddle.Run (runJavaScript)
2527import Language.Javascript.JSaddle.Run.Files (initState, runBatch, ghcjsHelpers)
2628
29+import System.Directory (getCurrentDirectory)
30+
2731newtype WKWebView = WKWebView (Ptr WKWebView)
2832newtype JSaddleHandler = JSaddleHandler (Ptr JSaddleHandler)
2933
@@ -42,9 +46,11 @@ foreign import ccall mainBundleResourcePathC :: IO CString
4246
4347-- | Run JSaddle in WKWebView
4448jsaddleMain :: JSM () -> WKWebView -> IO ()
45−jsaddleMain f webView =
49+jsaddleMain f webView = do
50+ pwd <- getCurrentDirectory
51+ let baseURL = encodeUtf8 $ "file://" <> T.pack pwd <> "/index.html"
4652 jsaddleMain' f webView $
47− useAsCString (toStrict indexHtmlBaseURL) $ \url ->
53+ useAsCString baseURL $ \url ->
4854 useAsCString (toStrict indexHtml) $ \html ->
4955 loadHTMLStringWithBaseURL webView html url
5056
@@ -125,10 +131,6 @@ jsaddleJs = ghcjsHelpers <> "\
125131 \})();\n\
126132 \"
127133
128−
129−indexHtmlBaseURL :: ByteString
130−indexHtmlBaseURL = "file:///tmp/index.html"
131−
132134indexHtml :: ByteString
133135indexHtml =
134136 "<!DOCTYPE html>\n\