packages feed

ghcjs-dom 0.0.10 → 0.1.0.0

raw patch · 4 files changed

+50/−17 lines, 4 filesdep +textdep ~glibdep ~gtkdep ~gtk3

Dependencies added: text

Dependency ranges changed: glib, gtk, gtk3, webkit, webkitgtk3

Files

ghcjs-dom.cabal view
@@ -1,5 +1,5 @@ name: ghcjs-dom-version: 0.0.10+version: 0.1.0.0 cabal-version: >=1.10 build-type: Simple license: MIT@@ -37,7 +37,10 @@     Default: True  library-    build-depends: base <5, mtl -any+    build-depends: base <5,+                   mtl -any,+                   text >= 1.1.1.3 && < 1.2+     default-language: Haskell2010     exposed-modules:           GHCJS.DOM@@ -189,11 +192,12 @@ --    if !impl(ghcjs) || flag(webkit)     if !flag(ghcjs) || flag(webkit)         cpp-options: -DUSE_WEBKIT-        build-depends:  glib >=0.12.3.1 && <0.13, transformers >=0.3.0.0 && <0.5+        build-depends: glib >=0.13.0.0 && <0.14,+                       transformers >=0.3.0.0 && <0.5         if flag(gtk3)-            build-depends: gtk3 >=0.12.4 && <0.13, webkitgtk3 >=0.12.6.0 && <0.13+            build-depends: gtk3 >=0.13.0.0 && <0.14, webkitgtk3 >=0.13.0.0 && <0.14         else-            build-depends: gtk >=0.12.4 && <0.13, webkit >=0.12.6.0 && <0.13+            build-depends: gtk >=0.13.0.0 && <0.14, webkit >=0.13.0.0 && <0.14         c-sources:      cbits/ghcjs_stubs.c      hs-source-dirs: src
src/GHCJS/DOM.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, ForeignFunctionInterface #-}+{-# LANGUAGE CPP, ForeignFunctionInterface, OverloadedStrings #-} #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT) {-# LANGUAGE JavaScriptFFI #-} #endif@@ -12,6 +12,8 @@ , postGUIAsync ) where +import qualified Data.Text as T+import Data.Monoid ((<>)) #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT) import GHCJS.Types (JSRef(..)) import Control.Applicative ((<$>))@@ -88,7 +90,7 @@ runWebGUI :: (WebView -> IO ()) -> IO () runWebGUI = runWebGUI' "GHCJS" -runWebGUI' :: String -> (WebView -> IO ()) -> IO ()+runWebGUI' :: T.Text -> (WebView -> IO ()) -> IO () runWebGUI' userAgentKey main = do   -- Are we in a java script inside some kind of browser   mbWindow <- currentWindow@@ -97,11 +99,11 @@       -- Check if we are running in javascript inside the the native version       Just n <- domWindowGetNavigator window       agent <- navigatorGetUserAgent n-      unless ((" " ++ userAgentKey) `isSuffixOf` agent) $ main (castToWebView window)+      unless ((" " <> userAgentKey) `T.isSuffixOf` agent) $ main (castToWebView window)     Nothing -> do       makeDefaultWebView userAgentKey main -makeDefaultWebView :: String -> (WebView -> IO ()) -> IO ()+makeDefaultWebView :: T.Text -> (WebView -> IO ()) -> IO () #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT) makeDefaultWebView _ _ = error "Unsupported makeDefaultWebView" #else@@ -115,7 +117,7 @@   webView <- webViewNew   settings <- webViewGetWebSettings webView   userAgent <- settings `get` webSettingsUserAgent-  settings `set` [webSettingsUserAgent := userAgent ++ " " ++ userAgentKey]+  settings `set` [webSettingsUserAgent := userAgent <> " " <> userAgentKey]   webViewSetWebSettings webView settings   window `containerAdd` scrollWin   scrollWin `containerAdd` webView@@ -125,7 +127,7 @@     main webView   args <- getArgs   case args of-    uri:_ -> webViewLoadUri webView uri+    uri:_ -> webViewLoadUri webView (T.pack uri)     []    -> do       main webView   mainGUI
src/GHCJS/DOM/EventM.hs view
@@ -259,6 +259,6 @@ mouseToElement :: IsMouseEvent e => EventM e t (Maybe Node) mouseToElement = event >>= (liftIO . mouseEventGetToElement) -connect :: (GObjectClass t, IsEvent e) => String -> t -> EventM e t () -> IO (IO ())+connect :: (GObjectClass t, IsEvent e, ToDOMString string) => string -> t -> EventM e t () -> IO (IO ()) connect eventName target callback =   eventTargetAddEventListener target eventName False $ curry (runReaderT callback)
src/GHCJS/DOM/Types.hs view
@@ -1,12 +1,14 @@+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE CPP #-} #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)-{-# LANGUAGE JavaScriptFFI, ForeignFunctionInterface #-}+{-# LANGUAGE JavaScriptFFI, ForeignFunctionInterface, ConstraintKinds #-} #else {-# LANGUAGE ConstraintKinds #-} #endif module GHCJS.DOM.Types ( #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)-    maybeJSNull, propagateGError, GType(..)+    maybeJSNull, propagateGError, GType(..), DOMString(..), ToDOMString(..), FromDOMString(..)   , GObject(..), GObjectClass, toGObject, unGObject, castToGObject, gTypeGObject, unsafeCastGObject  -- AUTO GENERATION STARTS HERE@@ -143,7 +145,7 @@   , XPathResult(XPathResult), unXPathResult, IsXPathResult, toXPathResult, castToXPathResult, gTypeXPathResult -- AUTO GENERATION ENDS HERE #else-    propagateGError, GType(..)+    propagateGError, GType(..), DOMString(..), ToDOMString(..), FromDOMString(..)   , module Graphics.UI.Gtk.WebKit.Types   , IsDOMAttr   , IsBlob@@ -273,12 +275,18 @@ #endif   ) where - #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)-import GHCJS.Types (JSRef(..), castRef, isNull)+import GHCJS.Types (JSRef(..), castRef, nullRef, isNull, JSString(..))+import GHCJS.Foreign (ToJSString(..), FromJSString(..)) #else+import Control.Applicative ((<$>))+import qualified Data.Text as T (Text)+import Data.Maybe (isNothing)+import Foreign.C (CString) import Graphics.UI.Gtk.WebKit.Types import System.Glib (propagateGError, GType(..))+import System.Glib.UTFString+       (readUTFString, GlibString(..)) #endif  #if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)@@ -335,6 +343,25 @@ gTypeGObject' = error "gTypeGObject': only available in JavaScript" #endif gTypeGObject = GType gTypeGObject'++#ifdef ghcjs_HOST_OS+-- | Fastest string type to use when you just+--   want to take a string from the DOM then+--   give it back as is.+type DOMString = JSString++type ToDOMString s = ToJSString s+type FromDOMString s = FromJSString s+#endif++#else+-- | Fastest string type to use when you just+--   want to take a string from the DOM then+--   give it back as is.+type DOMString = T.Text++type ToDOMString s = GlibString s+type FromDOMString s = GlibString s #endif  -- AUTO GENERATION STARTS HERE