on master help sign in
4 files changed+14−9
since splitsnapshots
unifiedsplit
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+9−3 jsaddle/jsaddle.cabal+1−1 jsaddle/src/Language/Javascript/JSaddle/Object.hs+3−4 jsaddle/src/Language/Javascript/JSaddle/Run/Files.hs+1−1
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+9−3
@@ -82,6 +82,12 @@ import Language.Javascript.JSaddle (JSM, Results, Batch)
8282import Language.Javascript.JSaddle.Run (runJavaScript)
8383import Language.Javascript.JSaddle.Run.Files (initState, runBatch, ghcjsHelpers)
8484
85+noAdjustment :: Maybe Adjustment
86+noAdjustment = Nothing
87+
88+noCancellable :: Maybe Cancellable
89+noCancellable = Nothing
90+
8591quitWebView :: WebView -> IO ()
8692quitWebView wv = postGUIAsync $ do w <- widgetGetToplevel wv --TODO: Shouldn't this be postGUISync?
8793 widgetDestroy w
@@ -104,7 +110,7 @@ run main = do
104110 _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
105111 windowSetDefaultSize window 900 600
106112 windowSetPosition window WindowPositionCenter
107− scrollWin <- scrolledWindowNew (Nothing :: Maybe Adjustment) (Nothing :: Maybe Adjustment)
113+ scrollWin <- scrolledWindowNew noAdjustment noAdjustment
108114 contentManager <- userContentManagerNew
109115 webView <- webViewNewWithUserContentManager contentManager
110116 settings <- webViewGetSettings webView
@@ -128,11 +134,11 @@ run main = do
128134runInWebView :: JSM () -> WebView -> IO ()
129135runInWebView f webView = do
130136 (processResults, syncResults, start) <- runJavaScript (\batch -> postGUIAsync $
131− webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") (Nothing :: Maybe Cancellable) Nothing)
137+ webViewRunJavascript webView (decodeUtf8 . toStrict $ "runJSaddleBatch(" <> encode batch <> ");") noCancellable Nothing)
132138 f
133139
134140 addJSaddleHandler webView processResults syncResults
135− webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) (Nothing :: Maybe Cancellable) . Just $
141+ webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) noCancellable . Just $
136142 \_obj _asyncResult ->
137143 void $ forkIO start
138144
jsaddle/jsaddle.cabal+1−1
@@ -10,7 +10,7 @@ description:
1010 This package provides an EDSL for calling JavaScript that
1111 can be used both from GHCJS and GHC. When using GHC
1212 the application is run using Warp and WebSockets to
13− drive a small JavaScipt helper.
13+ drive a small JavaScript helper.
1414category: Web, Javascript
1515author: Hamish Mackenzie
1616
jsaddle/src/Language/Javascript/JSaddle/Object.hs+3−4
@@ -526,12 +526,11 @@ array args = do
526526 Object . coerce <$> fromListIO rargs
527527
528528-- | JavaScript's global object
529−global :: Object
530529#ifdef ghcjs_HOST_OS
531−global = js_window
532−foreign import javascript unsafe "$r = window"
533− js_window :: Object
530+foreign import javascript unsafe "$r = globalThis"
531+ global :: Object
534532#else
533+global :: Object
535534global = Object . JSVal . unsafePerformIO $ newIORef 4
536535#endif
537536
jsaddle/src/Language/Javascript/JSaddle/Run/Files.hs+1−1
@@ -41,7 +41,7 @@ initState = "\
4141 \ jsaddle_values.set(1, undefined);\n\
4242 \ jsaddle_values.set(2, false);\n\
4343 \ jsaddle_values.set(3, true);\n\
44− \ jsaddle_values.set(4, window);\n\
44+ \ jsaddle_values.set(4, globalThis);\n\
4545 \ var jsaddle_index = 100;\n\
4646 \ var expectedBatch = 1;\n\
4747 \ var lastResults = [0, {\"tag\": \"Success\", \"contents\": [[], []]}];\n\