on master help sign in
jsaddle-webkit2gtk/src/Language/Javascript/JSaddle/WebKitGTK.hs+9−3
since splitsnapshots
unifiedsplit
@@ -82,6 +82,12 @@ import Language.Javascript.JSaddle (JSM, Results, Batch)
82import Language.Javascript.JSaddle.Run (runJavaScript)
82import Language.Javascript.JSaddle.Run (runJavaScript)
83import Language.Javascript.JSaddle.Run.Files (initState, runBatch, ghcjsHelpers)
83import Language.Javascript.JSaddle.Run.Files (initState, runBatch, ghcjsHelpers)
84
84
85+noAdjustment :: Maybe Adjustment
86+noAdjustment = Nothing
87+
88+noCancellable :: Maybe Cancellable
89+noCancellable = Nothing
90+
85quitWebView :: WebView -> IO ()
91quitWebView :: WebView -> IO ()
86quitWebView wv = postGUIAsync $ do w <- widgetGetToplevel wv --TODO: Shouldn't this be postGUISync?
92quitWebView wv = postGUIAsync $ do w <- widgetGetToplevel wv --TODO: Shouldn't this be postGUISync?
87 widgetDestroy w
93 widgetDestroy w
@@ -104,7 +110,7 @@ run main = do
104 _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
110 _ <- timeoutAdd PRIORITY_HIGH 10 (yield >> return True)
105 windowSetDefaultSize window 900 600
111 windowSetDefaultSize window 900 600
106 windowSetPosition window WindowPositionCenter
112 windowSetPosition window WindowPositionCenter
107− scrollWin <- scrolledWindowNew (Nothing :: Maybe Adjustment) (Nothing :: Maybe Adjustment)
113+ scrollWin <- scrolledWindowNew noAdjustment noAdjustment
108 contentManager <- userContentManagerNew
114 contentManager <- userContentManagerNew
109 webView <- webViewNewWithUserContentManager contentManager
115 webView <- webViewNewWithUserContentManager contentManager
110 settings <- webViewGetSettings webView
116 settings <- webViewGetSettings webView
@@ -128,11 +134,11 @@ run main = do
128runInWebView :: JSM () -> WebView -> IO ()
134runInWebView :: JSM () -> WebView -> IO ()
129runInWebView f webView = do
135runInWebView f webView = do
130 (processResults, syncResults, start) <- runJavaScript (\batch -> postGUIAsync $
136 (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)
132 f
138 f
133
139
134 addJSaddleHandler webView processResults syncResults
140 addJSaddleHandler webView processResults syncResults
135− webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) (Nothing :: Maybe Cancellable) . Just $
141+ webViewRunJavascript webView (decodeUtf8 $ toStrict jsaddleJs) noCancellable . Just $
136 \_obj _asyncResult ->
142 \_obj _asyncResult ->
137 void $ forkIO start
143 void $ forkIO start
138
144
jsaddle/jsaddle.cabal+1−1
@@ -10,7 +10,7 @@ description:
10 This package provides an EDSL for calling JavaScript that
10 This package provides an EDSL for calling JavaScript that
11 can be used both from GHCJS and GHC. When using GHC
11 can be used both from GHCJS and GHC. When using GHC
12 the application is run using Warp and WebSockets to
12 the application is run using Warp and WebSockets to
13− drive a small JavaScipt helper.
13+ drive a small JavaScript helper.
14category: Web, Javascript
14category: Web, Javascript
15author: Hamish Mackenzie
15author: Hamish Mackenzie
16
16
jsaddle/src/Language/Javascript/JSaddle/Object.hs+3−4
@@ -526,12 +526,11 @@ array args = do
526 Object . coerce <$> fromListIO rargs
526 Object . coerce <$> fromListIO rargs
527
527
528-- | JavaScript's global object
528-- | JavaScript's global object
529−global :: Object
530#ifdef ghcjs_HOST_OS
529#ifdef ghcjs_HOST_OS
531−global = js_window
532−foreign import javascript unsafe "$r = window"
530+foreign import javascript unsafe "$r = globalThis"
533− js_window :: Object
531+ global :: Object
534#else
532#else
533+global :: Object
535global = Object . JSVal . unsafePerformIO $ newIORef 4
534global = Object . JSVal . unsafePerformIO $ newIORef 4
536#endif
535#endif
537
536
jsaddle/src/Language/Javascript/JSaddle/Run/Files.hs+1−1
@@ -41,7 +41,7 @@ initState = "\
41 \ jsaddle_values.set(1, undefined);\n\
41 \ jsaddle_values.set(1, undefined);\n\
42 \ jsaddle_values.set(2, false);\n\
42 \ jsaddle_values.set(2, false);\n\
43 \ jsaddle_values.set(3, true);\n\
43 \ jsaddle_values.set(3, true);\n\
44− \ jsaddle_values.set(4, window);\n\
44+ \ jsaddle_values.set(4, globalThis);\n\
45 \ var jsaddle_index = 100;\n\
45 \ var jsaddle_index = 100;\n\
46 \ var expectedBatch = 1;\n\
46 \ var expectedBatch = 1;\n\
47 \ var lastResults = [0, {\"tag\": \"Success\", \"contents\": [[], []]}];\n\
47 \ var lastResults = [0, {\"tag\": \"Success\", \"contents\": [[], []]}];\n\