@@ -57,9 +57,7 @@ import GHCJS.DOM.Node (appendChild, getOwnerDocument, getParentNode, getPrevious
5757import GHCJS.DOM.Types
5858 (liftJSM, askJSM, runJSM, JSM, MonadJSM(..),
5959 FocusEvent, IsElement, IsEvent, IsNode, KeyboardEvent, Node,
60− ToDOMString, TouchEvent, WheelEvent, castToHTMLInputElement,
61− castToHTMLSelectElement, castToHTMLTextAreaElement,
62− strictEqual)
60+ ToDOMString, TouchEvent, WheelEvent, strictEqual, uncheckedCastTo)
6361import qualified GHCJS.DOM.Types as DOM
6462import GHCJS.DOM.UIEvent
6563import qualified GHCJS.DOM.Window as Window
@@ -248,8 +246,8 @@ instance er ~ EventResult => Default (GhcjsEventSpec er) where
248246 def = GhcjsEventSpec
249247 { _ghcjsEventSpec_filters = mempty
250248 , _ghcjsEventSpec_handler = \(en, GhcjsDomEvent evt) -> do
251− Just t <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
252− e <- Element.castToElement t
249+ Just (t :: DOM.EventTarget) <- withIsEvent en $ Event.getTarget evt --TODO: Rework this; defaultDomEventHandler shouldn't need to take this as an argument
250+ let e = uncheckedCastTo DOM.Element t
253251 runReaderT (defaultDomEventHandler e en) evt
254252 }
255253
@@ -274,7 +272,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
274272 {-# INLINABLE inputElement #-}
275273 inputElement cfg = do
276274 ((e, _), domElement) <- makeElement "input" (cfg ^. inputElementConfig_elementConfig) $ return ()
277− domInputElement <- liftJSM $ castToHTMLInputElement domElement
275+ let domInputElement = uncheckedCastTo DOM.HTMLInputElement domElement
278276 Input.setValue domInputElement $ Just (cfg ^. inputElementConfig_initialValue)
279277 Just v0 <- Input.getValue domInputElement
280278 let getMyValue = fromMaybe "" <$> Input.getValue domInputElement
@@ -321,7 +319,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
321319 {-# INLINABLE textAreaElement #-}
322320 textAreaElement cfg = do --TODO
323321 ((e, _), domElement) <- makeElement "textarea" (cfg ^. textAreaElementConfig_elementConfig) $ return ()
324− domTextAreaElement <- liftJSM $ castToHTMLTextAreaElement domElement
322+ let domTextAreaElement = uncheckedCastTo DOM.HTMLTextAreaElement domElement
325323 TextArea.setValue domTextAreaElement $ Just (cfg ^. textAreaElementConfig_initialValue)
326324 Just v0 <- TextArea.getValue domTextAreaElement
327325 let getMyValue = fromMaybe "" <$> TextArea.getValue domTextAreaElement
@@ -344,7 +342,7 @@ instance SupportsImmediateDomBuilder t m => DomBuilder t (ImmediateDomBuilderT t
344342 {-# INLINABLE selectElement #-}
345343 selectElement cfg child = do
346344 ((e, result), domElement) <- makeElement "select" (cfg ^. selectElementConfig_elementConfig) child
347− domSelectElement <- liftJSM $ castToHTMLSelectElement domElement
345+ let domSelectElement = uncheckedCastTo DOM.HTMLSelectElement domElement
348346 Select.setValue domSelectElement $ Just (cfg ^. selectElementConfig_initialValue)
349347 Just v0 <- Select.getValue domSelectElement
350348 let getMyValue = fromMaybe "" <$> Select.getValue domSelectElement