-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Binding to the Webkit library.
--   
--   WebKit is a web content engine, derived from KHTML and KJS from KDE,
--   and used primarily in Apple's Safari browser. It is made to be
--   embedded in other applications, such as mail readers, or web browsers.
--   It is able to display content such as HTML, SVG, XML, and others. It
--   also supports DOM, XMLHttpRequest, XSLT, CSS, Javascript/ECMAscript
--   and more.
@package webkit
@version 0.12.3

-- | Object used to communicate with the application when downloading
module Graphics.UI.Gtk.WebKit.Download
data Download
class GObjectClass o => DownloadClass o
data DownloadError
DownloadErrorCancelledByUser :: DownloadError
DownloadErrorDestination :: DownloadError
DownloadErrorNetwork :: DownloadError
data DownloadStatus
DownloadStatusError :: DownloadStatus
DownloadStatusCreated :: DownloadStatus
DownloadStatusStarted :: DownloadStatus
DownloadStatusCancelled :: DownloadStatus
DownloadStatusFinished :: DownloadStatus

-- | Create a new Download instance for the given
--   NetworkRequest
--   
--   Object used to communicate with the application when downloading.
downloadNew :: NetworkRequestClass request => request -> IO Download

-- | Initiates the Download.
--   
--   Notice that you must have set the destination-uri property before
--   calling this function.
downloadStart :: DownloadClass self => self -> IO ()

-- | Cancels the Download.
downloadCancel :: DownloadClass self => self -> IO ()

-- | Retrieves the URI from Download which is being downloaded.
downloadGetUri :: DownloadClass self => self -> IO (Maybe String)

-- | Retrieves the NetworkRequest that backs the download process.
downloadGetNetworkRequest :: DownloadClass self => self -> IO NetworkRequest

-- | Retrieves the NetworkResponse object that backs the download
--   process.
--   
--   
--   
- Since 1.1.16
--   
downloadGetNetworkResponse :: DownloadClass self => self -> IO NetworkResponse

-- | Retrieves the filename that was suggested by the server, or the one
--   derived from the URI.
downloadGetSuggestedFilename :: DownloadClass self => self -> IO (Maybe String)

-- | Obtains the URI to which the downloaded file will be written.
--   
--   It is set by Application before call downloadStart
downloadGetDestinationUri :: DownloadClass self => self -> IO (Maybe String)

-- | Determines the current progress of the Download
downloadGetProgress :: DownloadClass self => self -> IO Double

-- | Return elapsed time for the Download in seconds. includeing any
--   fractional part.
--   
--   If the Download is finished, had an error or was cancelled,
--   this is the time between its start and the event.
downloadGetElapsedTime :: DownloadClass self => self -> IO Double

-- | Returns the excepted total size of the download.
--   
--   This is expected because the server may provide incorrect or missing
--   Content-Length.
--   
--   Notice that this may grow over time.
downloadGetTotalSize :: DownloadClass self => self -> IO Int

-- | Returns the current already downleaded size
downloadGetCurrentSize :: DownloadClass self => self -> IO Int

-- | Obtains the current status of the Download as
--   DownloadStatus
downloadGetStatus :: DownloadClass self => self -> IO DownloadStatus

-- | Defines the URI that should be used to save the downloaded file to.
downloadSetDestinationUri :: DownloadClass self => self -> String -> IO ()

-- | The length of the data already downloaded
--   
--   Default value: 0
--   
--   
--   
- Since 1.1.2
--   
currentSize :: DownloadClass self => ReadAttr self Int

-- | The URI of the save location for this download.
--   
--   Default value: ""
--   
--   
--   
- Since 1.1.2
--   
destinationUri :: DownloadClass self => Attr self (Maybe String)

-- | The NetworkRequest instance associated with the download.
--   
--   
--   
- Since 1.1.2
--   
networkRequest :: DownloadClass self => Attr self NetworkRequest

-- | The NetworkResponse instance associated with the download.
--   
--   
--   
- Since 1.1.16
--   
networkResponse :: DownloadClass self => Attr self NetworkResponse

-- | Determines the current progress of the download. Notice that, although
--   the progress changes are reported as soon as possible, the emission of
--   the notify signal for this property is throttled, for the benefit of
--   download managers. If you care about every update, use Download
--   : currentSize.
--   
--   Allowed values: [0,1]
--   
--   Default value: 1
--   
--   
--   
- Since 1.1.2
--   
progress :: DownloadClass self => ReadAttr self Double

-- | Determines the current status of the download.
--   
--   Default value: DownloadStatusCreated
--   
--   
--   
- Since 1.1.2
--   
status :: DownloadClass self => ReadAttr self DownloadStatus

-- | The file name suggested as default when saving
--   
--   Default value: ""
--   
--   
--   
- Since 1.1.2
--   
suggestedFilename :: DownloadClass self => ReadAttr self (Maybe String)

-- | The total size of the file
--   
--   Default value: 0
--   
--   
--   
- Since 1.1.2
--   
totalSize :: DownloadClass self => ReadAttr self Int

-- | Emitted when download is interrupted either by user action or by
--   network errors, errorDetail will take any value of
--   DownloadError.
--   
--   download: the object on which the signal is emitted
--   errorCode: the corresponding error code errorDetail:
--   detailed error code for the error, see DownloadError
--   reason: a string describing the error
--   
--   Since 1.1.2
downloadError :: DownloadClass self => Signal self (Int -> Int -> String -> IO Bool)
instance Enum DownloadError
instance Enum DownloadStatus

-- | Object used to communicate with the application when downloading
module Graphics.UI.Gtk.WebKit.GeolocationPolicyDecision
data GeolocationPolicyDecision
class GObjectClass o => GeolocationPolicyDecisionClass o

-- | Will send the allow decision to the policy implementer.
--   
--   
--   
- Since 1.1.23
--   
geolocationPolicyAllow :: GeolocationPolicyDecisionClass decision => decision -> IO ()

-- | Will send the deny decision to the policy implementer.
--   
--   
--   
- Since 1.1.23
--   
geolocationPolicyDeny :: GeolocationPolicyDecisionClass decision => decision -> IO ()

-- | Access to the WebKit Web Resource
module Graphics.UI.Gtk.WebKit.HitTestResult
data HitTestResult
class GObjectClass o => HitTestResultClass o
data HitTestResultContext
HitTestResultContextDocument :: HitTestResultContext
HitTestResultContextLink :: HitTestResultContext
HitTestResultContextImage :: HitTestResultContext
HitTestResultContextMedia :: HitTestResultContext
HitTestResultContextSelection :: HitTestResultContext
HitTestResultContextEditable :: HitTestResultContext
instance Enum HitTestResultContext

-- | The target of a navigation request
module Graphics.UI.Gtk.WebKit.NetworkRequest
data NetworkRequest
class GObjectClass o => NetworkRequestClass o

-- | Create a new NetworkRequest with the given uri.
--   
--   It is used whenever WebKit wants to provide information about a
--   request that will be sent, or has been sent.
networkRequestNew :: String -> IO NetworkRequest

-- | Set the URI of NetworkRequest.
networkRequestSetUri :: NetworkRequestClass self => self -> String -> IO ()

-- | Return the uri of NetworkRequest.
networkRequestGetUri :: NetworkRequestClass self => self -> IO (Maybe String)

-- | The response given to a network request
module Graphics.UI.Gtk.WebKit.NetworkResponse
data NetworkResponse
class GObjectClass o => NetworkResponseClass o

-- | Set the URI of NetworkResponse.
networkResponseSetUri :: NetworkResponseClass self => self -> String -> IO ()

-- | Return the uri of NetworkResponse.
networkResponseGetUri :: NetworkResponseClass self => self -> IO (Maybe String)

-- | Access to the WebKit Web SecurityOrigin
module Graphics.UI.Gtk.WebKit.SecurityOrigin
data SecurityOrigin
class GObjectClass o => SecurityOriginClass o

-- | Returns the frame's security origin.
securityOriginGetAllWebDatabases :: SecurityOriginClass self => self -> IO [WebDatabase]

-- | Returns the hostname for the security origin.
securityOriginGetHost :: SecurityOriginClass self => self -> IO String

-- | Returns the port for the security origin.
securityOriginGetPort :: SecurityOriginClass self => self -> IO Int

-- | Returns the protocol for the security origin.
securityOriginGetProtocol :: SecurityOriginClass self => self -> IO String

-- | Returns the quota for Web Database storage of the security origin in
--   bytes.
securityOriginGetWebDatabaseQuota :: SecurityOriginClass self => self -> IO Int

-- | Adjust the quota for Web Database storage of the security origin
securityOriginSetWebDatabaseQuota :: SecurityOriginClass self => self -> Int -> IO ()

-- | Returns the usage for Web Database storage of the security origin in
--   bytes.
securityOriginGetWebDatabaseUsage :: SecurityOriginClass self => self -> IO Int

-- | Access to the WebKit Web Resource
module Graphics.UI.Gtk.WebKit.SoupAuthDialog
data SoupAuthDialog
class GObjectClass o => SoupAuthDialogClass o

-- | The history of a WebView
module Graphics.UI.Gtk.WebKit.WebBackForwardList
class ContainerClass o => WebViewClass o
data WebBackForwardList
class GObjectClass o => WebBackForwardListClass o

-- | Create an WebBackForwardList with a controlling WebView.
webBackForwardListNewWithWebView :: WebViewClass webview => webview -> IO WebBackForwardList

-- | Steps forward in the back forward list.
webBackForwardListGoForward :: WebBackForwardListClass self => self -> IO ()

-- | Steps back in the back forward list.
webBackForwardListGoBack :: WebBackForwardListClass self => self -> IO ()

-- | Check if an history item in the back forward list.
webBackForwardListContainsItem :: (WebBackForwardListClass self, WebHistoryItemClass item) => self -> item -> IO Bool

-- | Go to the specified history item in the back forward list.
webBackForwardListGoToItem :: (WebBackForwardListClass self, WebHistoryItemClass item) => self -> item -> IO ()

-- | Return the history item that precedes the current history item.
webBackForwardListGetBackItem :: WebBackForwardListClass self => self -> IO (Maybe WebHistoryItem)

-- | Return the current history item of the back forward list
webBackForwardListGetCurrentItem :: WebBackForwardListClass self => self -> IO WebHistoryItem

-- | Return the item that succeeds the current item
webBackForwardListGetForwardItem :: WebBackForwardListClass self => self -> IO (Maybe WebHistoryItem)

-- | Return the history item at a given index relative to the current item.
webBackForwardListGetNthItem :: WebBackForwardListClass self => self -> Int -> IO WebHistoryItem

-- | Return the number of items that preced the current item.
webBackForwardListGetBackLength :: WebBackForwardListClass self => self -> IO Int

-- | Return the number of items that succeed the current item.
webBackForwardListGetForwardLength :: WebBackForwardListClass self => self -> IO Int

-- | Return the maximum limit of the back forward list.
webBackForwardListGetLimit :: WebBackForwardListClass self => self -> IO Int

-- | Set the maximum limit of the back forward list.
--   
--   if the back forward list exceeds its capacity, items will be removed
--   everytime a new item had been added.
webBackForwardListSetLimit :: WebBackForwardListClass self => self -> Int -> IO ()

-- | Add the item to the back forward list.
webBackForwardListAddItem :: (WebBackForwardListClass self, WebHistoryItemClass item) => self -> item -> IO ()

-- | Return a list of items that succeed the current item, limited by
--   limit.
webBackForwardListGetForwardListWithLimit :: WebBackForwardListClass self => self -> Int -> IO [WebHistoryItem]

-- | Return a list of items that preced the current item. limited by limit.
webBackForwardListGetBackListWithLimit :: WebBackForwardListClass self => self -> Int -> IO [WebHistoryItem]

-- | Access to the WebKit Web Database
module Graphics.UI.Gtk.WebKit.WebDatabase
data WebDatabase
class GObjectClass o => WebDatabaseClass o

-- | Returns the name of the WebDatabase as seen by the user.
webDatabaseGetDisplayName :: WebDatabaseClass self => self -> IO String

-- | Returns the expected size of the Database in bytes as defined by the
--   web author. The Web Database standard allows web authors to specify an
--   expected size of the database to optimize the user experience.
webDatabaseGetExpectedSize :: WebDatabaseClass self => self -> IO Int

-- | Returns the absolute filename to the WebKitWebDatabase file on disk.
webDatabaseGetFilename :: WebDatabaseClass self => self -> IO String

-- | Returns the canonical name of the WebDatabase.
webDatabaseGetName :: WebDatabaseClass self => self -> IO String

-- | Returns the security origin of the WebKitWebDatabase.
webDatabaseGetSecurityOrigin :: WebDatabaseClass self => self -> IO SecurityOrigin

-- | Returns the actual size of the WebDatabase space on disk in
--   bytes.
webDatabaseGetSize :: WebDatabaseClass self => self -> IO Int

-- | Removes the WebDatabase from its security origin and destroys
--   all data stored in the database.
webDatabaseRemove :: WebDatabaseClass self => self -> IO ()

-- | Note
--   
--   Function webkit_web_data_source_get_data haven't binding, no
--   idea how to handle GString
--   
--   Access to the WebKit Web DataSource
module Graphics.UI.Gtk.WebKit.WebDataSource
data WebDataSource
class GObjectClass o => WebDataSourceClass o

-- | Creates a new WebDataSource instance. The URL of the
--   WebDataSource will be set to about:blank.
webDataSourceNew :: IO WebDataSource

-- | Returns the raw data that represents the the frame's content. The data
--   will be incomplete until the data has finished loading. Returns
--   Nothing if the web frame hasn't loaded any data. Use
--   webkitWebDataSourceIsLoading to test if data source is in the
--   process of loading.
webDataSourceGetData :: WebDataSourceClass self => self -> IO (Maybe String)

-- | Returns the text encoding name as set in the WebView, or if
--   not, the text encoding of the response.
webDataSourceGetEncoding :: WebDataSourceClass self => self -> IO String

-- | Returns a reference to the original request that was used to load the
--   web content. The NetworkRequest returned by this method is the request
--   prior to the committed load state. See
--   webDataSourceGetRequest for getting the committed
--   request.
webDataSourceGetInitialRequest :: WebDataSourceClass self => self -> IO NetworkRequest

-- | Returns the main resource of the data_source
webDataSourceGetMainResource :: WebDataSourceClass self => self -> IO WebResource

-- | Returns a NetworkRequest that was used to create this
--   WebDataSource. The NetworkRequest returned by this method is
--   the request that was committed, and hence, different from the
--   request you get from the webDataSourceGetInitialRequest method.
webDataSourceGetRequest :: WebDataSourceClass self => self -> IO NetworkRequest

-- | Gives you a List of WebResource objects that compose the
--   WebView to which this WebDataSource is attached.
webDataSourceGetSubresources :: WebDataSourceClass self => self -> IO [WebResource]

-- | Return the unreachable URI of data_source. The dataSource
--   will have an unreachable URL if it was created using
--   WebFrame's webFrameLoadAlternateHtmlString method.
webDataSourceGetUnreachableUri :: WebDataSourceClass self => self -> IO String

-- | Returns the WebFrame that represents this data source
webDataSourceGetWebFrame :: WebDataSourceClass self => self -> IO WebFrame

-- | Determines whether the data source is in the process of loading its
--   content.
webDataSourceIsLoading :: WebDataSourceClass self => self -> IO Bool

-- | The content of a WebView
--   
--   Note: Functon webkit_web_frame_get_global_context can't
--   binding now, Because it need JSGlobalContextRef exist in
--   JavaScriptCore.
--   
--   Function webkit_web_frame_print_full can't binding now,
--   Because library GtkPrintOperation haven't binding.
module Graphics.UI.Gtk.WebKit.WebFrame
data WebFrame
class GObjectClass o => WebFrameClass o
data LoadStatus

-- | Create a new WebFrame instance with the given webview.
--   
--   A WebFrame contains the content of one URI.
webFrameNew :: WebViewClass webview => webview -> IO WebFrame

-- | Return the WebView that manages the given WebFrame.
webFrameGetWebView :: WebFrameClass self => self -> IO WebView

-- | Return the name of the given WebFrame.
webFrameGetName :: WebFrameClass self => self -> IO (Maybe String)

-- | Returns a WebKitNetworkResponse object representing the response that
--   was given to the request for the given frame, or Nothing if the
--   frame was not created by a load.
--   
--   
--   
- Since 1.1.18
--   
webFrameGetNetworkResponse :: WebFrameClass self => self -> IO (Maybe NetworkResponse)

-- | Return the title of the given WebFrame.
webFrameGetTitle :: WebFrameClass self => self -> IO (Maybe String)

-- | Return the URI of the given WebFrame.
webFrameGetUri :: WebFrameClass self => self -> IO (Maybe String)

-- | Return the WebFrame's parent frame if it has one, Otherwise
--   return Nothing.
webFrameGetParent :: WebFrameClass self => self -> IO (Maybe WebFrame)

-- | Determines the current status of the load.
--   
--   frame : a WebKitWebView
--   
--   
--   
- Since 1.1.7
--   
webFrameGetLoadStatus :: WebFrameClass self => self -> IO LoadStatus

-- | Request loading of the specified URI string.
webFrameLoadUri :: WebFrameClass self => self -> String -> IO ()

-- | Requests loading of the given content with the specified
--   mime_type, encoding and base_uri.
--   
--   If mime_type is Nothing, "text/html" is assumed.
--   
--   If encoding is Nothing, "UTF-8" is assumed.
webFrameLoadString :: WebFrameClass self => self -> String -> (Maybe String) -> (Maybe String) -> String -> IO ()

-- | Request loading of an alternate content for a URL that is unreachable.
--   
--   Using this method will preserve the back-forward list. The URI passed
--   in base_uri has to be an absolute URI.
webFrameLoadAlternateString :: WebFrameClass self => self -> String -> String -> String -> IO ()

-- | Connects to a given URI by initiating an asynchronous client request.
--   
--   Creates a provisional data source that will transition to a committed
--   data source once any data has been received. Use
--   webFrameStopLoading to stop the load. This function is
--   typically invoked on the main frame.
webFrameLoadRequest :: (WebFrameClass self, NetworkRequestClass requ) => self -> requ -> IO ()

-- | Stops and pending loads on the given data source and those of its
--   children.
webFrameStopLoading :: WebFrameClass self => self -> IO ()

-- | Reloads the initial request.
webFrameReload :: WebFrameClass self => self -> IO ()

-- | Return the WebFrame associated with the given name or
--   Nothing in case none if found
--   
--   For pre-defined names, return the given webframe if name is
webFrameFindFrame :: WebFrameClass self => self -> String -> IO (Maybe WebFrame)

-- | Returns the committed data source.
webFrameGetDataSource :: WebFrameClass self => self -> IO WebDataSource

-- | Return the policy of horizontal scrollbar.
webFrameGetHorizontalScrollbarPolicy :: WebFrameClass self => self -> IO PolicyType

-- | Return the policy of vertical scrollbar.
webFrameGetVerticalScrollbarPolicy :: WebFrameClass self => self -> IO PolicyType

-- | You use the webFrameLoadRequest method to initiate a request
--   that creates a provisional data source. The provisional data source
--   will transition to a committed data source once any data has been
--   received. Use webFrameGetDataSource to get the committed data
--   source.
webFrameGetProvisionalDataSource :: WebFrameClass self => self -> IO WebDataSource

-- | Returns the frame's security origin.
webFrameGetSecurityOrigin :: WebFrameClass self => self -> IO SecurityOrigin

-- | Prints the given WebFrame.
--   
--   by presenting a print dialog to the user.
webFramePrint :: WebFrameClass self => self -> IO ()
instance Enum LoadStatus

-- | One item of the WebBackForwardList and or global history
module Graphics.UI.Gtk.WebKit.WebHistoryItem
data WebHistoryItem
class GObjectClass o => WebHistoryItemClass o

-- | Create a new WebHistoryItem instance.
--   
--   A history item consists out of a title and a uri, it can be part of
--   the WebBackForwardList and the global history.
--   
--   The global history is used for coloring the links of visited sites.
--   WebHistoryItem constructed with webHistoryItemNew are
--   automatically added to the global history.
webHistoryItemNew :: IO WebHistoryItem

-- | Create a new WebHistoryItem instance with the given
--   uri and title.
--   
--   WebHistoryItem constructed with
--   webHistoryItemNewWithData are automatically added to the global
--   history.
webHistoryItemNewWithData :: String -> String -> IO WebHistoryItem

-- | The title of the WebHistoryItem
--   
--   Default value: Nothing
webHistoryItemTitle :: WebHistoryItemClass self => ReadAttr self (Maybe String)

-- | The alternate title of the history item.
--   
--   Default value: Nothing
webHistoryItemAlternateTitle :: WebHistoryItemClass self => Attr self (Maybe String)

-- | The URI of the history item.
--   
--   Default value: Nothing
webHistoryItemUri :: WebHistoryItemClass self => ReadAttr self (Maybe String)

-- | The original URI of the history item.
--   
--   Default value: Nothing
webHistoryItemOriginalUri :: WebHistoryItemClass self => ReadAttr self (Maybe String)

-- | The time at which the history item was last visited.
--   
--   Allowed values: >= 0
--   
--   Default value: 0
webHistoryItemLastVisitedTime :: WebHistoryItemClass self => ReadAttr self Double

-- | Return the title of WebHistoryItem.
webHistoryItemGetTitle :: WebHistoryItemClass self => self -> IO (Maybe String)

-- | Return the alternate title of WebHistoryItem.
webHistoryItemGetAlternateTitle :: WebHistoryItemClass self => self -> IO (Maybe String)

-- | Set an alternate title for WebHistoryItem.
webHistoryItemSetAlternateTitle :: WebHistoryItemClass self => self -> (Maybe String) -> IO ()

-- | Return the URI of WebHistoryItem.
webHistoryItemGetUri :: WebHistoryItemClass self => self -> IO (Maybe String)

-- | Return the original URI of WebHistoryItem.
webHistoryItemGetOriginalUri :: WebHistoryItemClass self => self -> IO (Maybe String)

-- | Return the last visited time of WebHistoryItem.
webHistoryItemGetLastVisitedTime :: WebHistoryItemClass self => self -> IO Double

-- | Makes a copy of the item for use with other WebView objects.
--   
--   
--   
- Since 1.1.18
--   
webHistoryItemCopy :: WebHistoryItemClass self => self -> IO WebHistoryItem

-- | Access to the WebKit Inspector
module Graphics.UI.Gtk.WebKit.WebInspector
data WebInspector
class GObjectClass o => WebInspectorClass o

-- | Obtains the URI that is currently being inspected
webInspectorGetInspectedUri :: WebInspectorClass self => self -> IO String

-- | Obtains the WebView that is used to render the
--   WebInspector.
--   
--   The WebView instance is created by the application, by handling
--   the inspect-web-view signal. This means that it may return
--   Nothing if the user hasn't inspected anything
webInspectorGetWebView :: WebInspectorClass self => self -> IO (Maybe WebView)

-- | Causes the Web Inspector to inspect the node that is located at the
--   given coordinates of the widget. The coordinates should be relative to
--   the WebKitWebView widget, not to the scrollable content, and may be
--   obtained from a Event directly.
--   
--   This means x, and y being zero doesn't guarantee you will hit the
--   left-most top corner of the content, since the contents may have been
--   scrolled.
--   
--   
--   
- Since 1.1.17
--   
webInspectorInspectCoordinates :: WebInspectorClass self => self -> Int -> Int -> IO ()

-- | Causes the Web Inspector to be shown.
--   
--   
--   
- Since 1.1.17
--   
webInspectorShow :: WebInspectorClass self => self -> IO ()

-- | Causes the Web Inspector to be closed.
--   
--   
--   
- Since 1.1.17
--   
webInspectorClose :: WebInspectorClass self => self -> IO ()

-- | The URI that is currently being inspected.
webInspectorInspectedUri :: WebInspectorClass self => ReadAttr self String

-- | This is enabling JavaScript profiling in the Inspector. This means
--   that Console.profiles will return the profiles.
webInspectorJSProfilingEnable :: WebInspectorClass self => Attr self Bool

-- | This is enabling Timeline profiling in the Inspector.
--   
--   Default value: False
--   
--   
--   
- Since 1.1.17
--   
webInspectorTimelineProfilingEnabled :: WebInspectorClass self => Attr self Bool

-- | The Web View that renders the Web Inspector itself.
webInspectorWebView :: WebInspectorClass self => ReadAttr self WebView

-- | Emitted when the inspector should appear in a separate window
--   
--   return True if the signal is handled
attachWindow :: WebInspectorClass self => Signal self (IO Bool)

-- | Emitted when the inspector should appear in a separate window.
--   
--   return True if the signal has been handled
detachWindow :: WebInspectorClass self => Signal self (IO Bool)

-- | Emitted when the inspector window should be closed.
--   
--   return True if the signal is handled.
closeWindow :: WebInspectorClass self => Signal self (IO Bool)

-- | Emitted when the inspector window should be displayed. Notice that the
--   window must have been created already by handling
--   inspectWebView.
--   
--   return True if the signal has been handled
showWindow :: WebInspectorClass self => Signal self (IO Bool)

-- | Emitted when the inspection is done. You should release your
--   references on the inspector at this time. The inspected WebView
--   may no longer exist when this signal is emitted.
finished :: WebInspectorClass self => Signal self (IO ())

-- | Emitted when the user activates the inspect context menu item
--   to inspect a web view. The application which is interested in the
--   inspector should create a window, or otherwise add the WebView
--   it creates to an existing window.
--   
--   You don't need to handle the reference count of the WebView
--   instance you create; the widget to which you add it will do that.
inspectWebView :: WebInspectorClass self => Signal self (WebView -> IO WebView)

-- | Access to the WebKit NavigationAction
module Graphics.UI.Gtk.WebKit.WebNavigationAction
data WebNavigationAction
class GObjectClass o => WebNavigationActionClass o
data NavigationReason
WebNavigationReasonLinkClicked :: NavigationReason
WebNavigationReasonFormSubmitted :: NavigationReason
WebNavigationReasonBackForward :: NavigationReason
WebNavigationReasonReload :: NavigationReason
WebNavigationReasonFormResubmitted :: NavigationReason
WebNavigationReasonOther :: NavigationReason

-- | Returns the DOM identifier for the mouse button used to click. DOM
--   button values are 0, 1 and 2 for left, middle and right buttons. If
--   the action was not initiated by a mouse click, returns -1.
webNavigationActionGetButton :: WebNavigationActionClass self => self -> IO Int

-- | Returns a bitmask with the the state of the modifier keys.
webNavigationActionGetModifierState :: WebNavigationActionClass self => self -> IO Int

-- | Returns the URI that was originally requested. This may differ from
--   the navigation target, for instance because of a redirect.
webNavigationActionGetOriginalUri :: WebNavigationActionClass self => self -> IO String

-- | Sets the URI that was originally requested. This may differ from the
--   navigation target, for instance because of a redirect.
webNavigationActionSetOriginalUri :: WebNavigationActionClass self => self -> String -> IO ()

-- | Returns the reason why WebKit is requesting a navigation.
webNavigationActionGetReason :: WebNavigationActionClass self => self -> IO NavigationReason

-- | Sets the reason why WebKit is requesting a navigation.
webNavigationActionSetReason :: WebNavigationActionClass self => self -> NavigationReason -> IO ()

-- | Returns the target frame of the action.
webNavigationActionGetTargetFrame :: WebNavigationActionClass self => self -> IO String
instance Enum NavigationReason

-- | Access to the WebKit PolicyDecision
module Graphics.UI.Gtk.WebKit.WebPolicyDecision
data WebPolicyDecision
class GObjectClass o => WebPolicyDecisionClass o

-- | Will send the DOWNLOAD decision to the policy implementer.
webPolicyDecisionDownload :: WebPolicyDecisionClass self => self -> IO ()

-- | Will send the IGNORE decision to the policy implementer.
webPolicyDecisionIgnore :: WebPolicyDecisionClass self => self -> IO ()

-- | Will send the USE decision to the policy implementer.
webPolicyDecisionUse :: WebPolicyDecisionClass self => self -> IO ()

-- | Note:
--   
--   Function webkit_web_resource_get_data haven't binding no idea
--   how to handle GString.
--   
--   Access to the WebKit Web Resource
module Graphics.UI.Gtk.WebKit.WebResource
data WebResource
class GObjectClass o => WebResourceClass o

-- | Returns a new WebKitWebResource. The encoding can be empty.
--   The frameName can be used if the resource represents contents
--   of an entire HTML frame, otherwise pass empty.
webResourceNew :: String -> Int -> String -> String -> String -> String -> IO WebResource

-- | Returns the data of the WebResource.
webResourceGetData :: WebResourceClass self => self -> IO (Maybe String)

-- | Get encoding.
webResourceGetEncoding :: WebResourceClass self => self -> IO (Maybe String)

-- | Get frame name.
webResourceGetFrameName :: WebResourceClass self => self -> IO (Maybe String)

-- | Get mime type.
webResourceGetMimeType :: WebResourceClass self => self -> IO (Maybe String)

-- | Get uri.
webResourceGetUri :: WebResourceClass self => self -> IO String

-- | Control the behaviour of a WebView
module Graphics.UI.Gtk.WebKit.WebSettings
data WebSettings
class GObjectClass o => WebSettingsClass o
data EditingBehavior

-- | Create a new WebSettings instance.
--   
--   A WebSettings can be applied to a WebView to control the
--   to be used text encoding, color, font size, printing mode,script
--   support, loading of images and various other things.
webSettingsNew :: IO WebSettings

-- | Copy an existing WebSettings instance.
webSettingsCopy :: WebSettingsClass self => self -> IO WebSettings

-- | Return the User-Agent string currently used.
webSettingsGetUserAgent :: WebSettingsClass self => self -> IO (Maybe String)

-- | The default Cursive font family used to display text
--   
--   Default value serif
webSettingsCursiveFontFamily :: WebSettingsClass self => Attr self String

-- | The default font family used to display text
--   
--   Default value: sans-serif
webSettingsDefaultFontFamily :: WebSettingsClass self => Attr self String

-- | The default Fantasy font family used to display text
webSettingsFantasyFontFamily :: WebSettingsClass self => Attr self String

-- | The default font family used to display monospace text.
--   
--   Default value: monospace
webSettingsMonospaceFontFamily :: WebSettingsClass self => Attr self String

-- | The default Sans Serif font family used to display text
--   
--   Default value sans-serif
webSettingsSansFontFamily :: WebSettingsClass self => Attr self String

-- | The default Serif font family used to display text
--   
--   Default value: serif
webSettingsSerifFontFamily :: WebSettingsClass self => Attr self String

-- | The default font size used to display text
--   
--   Default value: >=5
webSettingsDefaultFontSize :: WebSettingsClass self => Attr self Int

-- | The default font size used to display monospace text
--   
--   Allowed values: >= 5
--   
--   Default value: 10
webSettingsDefaultMonospaceFontSize :: WebSettingsClass self => Attr self Int

-- | The minimum font size used to display text.
--   
--   Allowed values: >=1
--   
--   Default value: 5
webSettingsMinimumFontSize :: WebSettingsClass self => Attr self Int

-- | The minimum logical font size used to display text
--   
--   Allowed values: >=1
--   
--   Default value: 5
webSettingsMinimumLogicalFontSize :: WebSettingsClass self => Attr self Int

-- | Load images automatically
--   
--   Default value: True
webSettingsAutoLoadImages :: WebSettingsClass self => Attr self Bool

-- | Automatically shrink standalone images to fit
--   
--   Default value: True
webSettingsAutoShrinkImages :: WebSettingsClass self => Attr self Bool

-- | The default encoding used to display text
--   
--   Default value iso-8859-1
webSettingsDefaultEncoding :: WebSettingsClass self => Attr self String

-- | This settings controls various editing behaviors
webSettingsEditingBehavior :: WebSettingsClass self => Attr self EditingBehavior

-- | Whether to enable caret browsing mode.
webSettingsEnableCaretBrowsing :: WebSettingsClass self => Attr self Bool

-- | Whether developer extensions should be enabled.
--   
--   This enables, for now, the WebInspector
webSettingsEnableDeveloperExtras :: WebSettingsClass self => Attr self Bool

-- | Whether to enable HTML5 client-side SQL database support.
webSettingsEnableHtml5Database :: WebSettingsClass self => Attr self Bool

-- | Whether to enable HTML5 localStorage support.
webSettingsEnableHtml5LocalStorage :: WebSettingsClass self => Attr self Bool

-- | Whether to enable HTML5 offline web application cache support.
webSettingsEnableOfflineWebApplicationCache :: WebSettingsClass self => Attr self Bool

-- | Enable embedded plugin objects.
webSettingsEnablePlugins :: WebSettingsClass self => Attr self Bool

-- | Whether to enable private browsing mode.
webSettingsEnablePrivateBrowsing :: WebSettingsClass self => Attr self Bool

-- | Enable embedded scripting languages
webSettingsEnableScripts :: WebSettingsClass self => Attr self Bool

-- | Whether to enable speel checking while typing.
webSettingsEnableSpellChecking :: WebSettingsClass self => Attr self Bool

-- | Whether to allow files loaded through file:
webSettingsEnableUniversalAccessFromFileUris :: WebSettingsClass self => Attr self Bool

-- | Whether to enable the XSS Auditor.
--   
--   This feature filters some kinds of reflective XSS attacks on
--   vulnerable web sites.
webSettingsEnableXssAuditor :: WebSettingsClass self => Attr self Bool

-- | Enables the site-specific compatibility workarounds.
--   
--   Default value: False
webSettingsEnableSiteSpecificQuirks :: WebSettingsClass self => Attr self Bool

-- | Whether to enable DOM paste. If set to True,
--   document.execCommand(Paste) will correctly execute and paste
--   content of the clipboard.
--   
--   Default value: False
--   
--   
--   
- Since 1.1.16
--   
webSettingsEnableDomPaste :: WebSettingsClass self => Attr self Bool

-- | Whether right-clicks should be handled automatically to create, and
--   display the context menu. Turning this off will make WebKitGTK+ not
--   emit the populate-popup signal. Notice that the default button press
--   event handler may still handle right clicks for other reasons, such as
--   in-page context menus, or right-clicks that are handled by the page
--   itself.
--   
--   Default value: True
--   
--   
--   
- Since 1.1.18
--   
webSettingsEnableDefaultContextMenu :: WebSettingsClass self => Attr self Bool

-- | Enable or disable the page cache. Disabling the page cache is
--   generally only useful for special circumstances like low-memory
--   scenarios or special purpose applications like static HTML viewers.
--   This setting only controls the Page Cache, this cache is different
--   than the disk-based or memory-based traditional resource caches, its
--   point is to make going back and forth between pages much faster. For
--   details about the different types of caches and their purposes see:
--   http:
--   
--   Default value: False
--   
--   
--   
- Since 1.1.18
--   
webSettingsEnablePageCache :: WebSettingsClass self => Attr self Bool

-- | Whether to enable the Spatial Navigation. This feature consists in the
--   ability to navigate between focusable elements in a Web page, such as
--   hyperlinks and form controls, by using Left, Right, Up and Down arrow
--   keys. For example, if an user presses the Right key, heuristics
--   determine whether there is an element he might be trying to reach
--   towards the right, and if there are multiple elements, which element
--   he probably wants.
--   
--   Default value: False
--   
--   
--   
- Since 1.1.23
--   
webSettingsEnableSpatialNavigation :: WebSettingsClass self => Attr self Bool

-- | Enforce a resolution of 96 DPI.
webSettingsEnforce96Dpi :: WebSettingsClass self => Attr self Bool

-- | Whether JavaScript can open popup windows automatically without user
--   intervention.
webSettingsJSCanOpenWindowAuto :: WebSettingsClass self => Attr self Bool

-- | Whether background images should be printed
--   
--   Default value: True
webSettingsPrintBackgrounds :: WebSettingsClass self => Attr self Bool

-- | Whether text areas are resizable
--   
--   Default value : True
webSettingsResizableTextAreas :: WebSettingsClass self => Attr self Bool

-- | The languages to be used for spell checking, separated by commas
--   
--   The locale string typically is in the form lang_COUNTRY, where lang is
--   an ISO-639 language code, and COUNTRY is an ISO-3166 country code. For
--   instance, sv_FI for Swedish as written in Finland or pt_BR for
--   Portuguese as written in Brazil.
--   
--   If no value is specified then the value returned by
--   gtk_get_default_language will be used.
--   
--   Default value: Nothing
webSettingsSpellCheckingLang :: WebSettingsClass self => Attr self (Maybe String)

-- | Whether the tab key cycles through elements on the page.
--   
--   If flag is True, pressing the tab key will focus the next
--   element in the webView. If flag is False, the
--   webView will interpret tab key presses as normal key presses.
--   If the selected element is editable, the tab key will cause the
--   insertion of a tab character.
--   
--   Default value: True
--   
--   
--   
- Since 1.1.17
--   
webSettingsTabKeyCyclesThroughElements :: WebSettingsClass self => Attr self Bool

-- | The User-Agent string used by WebKit
--   
--   This will return a default User-Agent string if a custom string wasn't
--   provided by the application. Setting this property to a ((void *)0)
--   value or an empty string will result in the User-Agent string being
--   reset to the default value.
--   
--   Default value: "Mozilla5.0 (X11; U; Linux x86_64; c)
--   AppleWebKit531.2+ (KHTML, like Gecko) Safari/531.2+"
webSettingsUserAgent :: WebSettingsClass self => Attr self String

-- | The URI of a stylesheet that is applied to every page.
--   
--   Default value: Nothing
webSettingsUserStylesheetUri :: WebSettingsClass self => Attr self (Maybe String)

-- | The value by which the zoom level is changed when zooming in or out
--   
--   Allowed values: >= 0
--   
--   Default value: 0.1
webSettingsZoomStep :: WebSettingsClass self => Attr self Float
instance Enum EditingBehavior

-- | Note:
--   
--   Signal `window-object-cleared` can't bidning now, because it need
--   JavaScriptCore that haven't binding.
--   
--   Signal `create-plugin-widget` can't binding now, no idea how to
--   binding GHaskellTable
--   
--   TODO:
--   
--   webViewGetHitTestResult
--   
--   The central class of the WebKit
module Graphics.UI.Gtk.WebKit.WebView
data WebView
class ContainerClass o => WebViewClass o
data NavigationResponse
NavigationResponseAccept :: NavigationResponse
NavigationResponseIgnore :: NavigationResponse
NavigationResponseDownload :: NavigationResponse
data TargetInfo
WebViewTargetInfoHtml :: TargetInfo
WebViewTargetInfoText :: TargetInfo
WebViewTargetInfoImage :: TargetInfo
WebViewTargetInfoUriList :: TargetInfo
WebViewTargetInfoNetscapeUrl :: TargetInfo
data LoadStatus
LoadProvisional :: LoadStatus
LoadCommitted :: LoadStatus
LoadFinished :: LoadStatus
LoadFirstVisuallyNonEmptyLayout :: LoadStatus
LoadFailed :: LoadStatus

-- | Create a new WebView widget.
--   
--   It is a Widget you can embed in a ScrolledWindow.
--   
--   You can load any URI into the WebView or any kind of data
--   string.
webViewNew :: IO WebView

-- | Requests loading of the specified URI string in a WebView
webViewLoadUri :: WebViewClass self => self -> String -> IO ()

-- | Loading the content string as html. The URI passed in
--   base_uri has to be an absolute URI.
webViewLoadHtmlString :: WebViewClass self => self -> String -> String -> IO ()

-- | Requests loading of the specified asynchronous client request.
--   
--   Creates a provisional data source that will transition to a committed
--   data source once any data has been received. use
--   webViewStopLoading to stop the load.
webViewLoadRequest :: (WebViewClass self, NetworkRequestClass request) => self -> request -> IO ()

-- | Requests loading of the given content with the specified
--   mime_type, encoding and base_uri.
--   
--   If mime_type is Nothing, text/html is
--   assumed.
--   
--   If encoding is Nothing, UTF-8 is assumed.
webViewLoadString :: WebViewClass self => self -> String -> (Maybe String) -> (Maybe String) -> String -> IO ()

-- | Stops and pending loads on the given data source.
webViewStopLoading :: WebViewClass self => self -> IO ()

-- | Reloads the WebView
webViewReload :: WebViewClass self => self -> IO ()

-- | Reloads the WebView without using any cached data.
webViewReloadBypassCache :: WebViewClass self => self -> IO ()

-- | Determine whether WebView has a previous history item.
webViewCanGoBack :: WebViewClass self => self -> IO Bool

-- | Determine whether WebView has a next history item.
webViewCanGoForward :: WebViewClass self => self -> IO Bool

-- | Loads the previous history item.
webViewGoBack :: WebViewClass self => self -> IO ()

-- | Loads the next history item.
webViewGoForward :: WebViewClass self => self -> IO ()

-- | Return the WebBackForwardList
webViewGetBackForwardList :: WebViewClass self => self -> IO WebBackForwardList

-- | Set the WebView to maintian a back or forward list of history
--   items.
webViewSetMaintainsBackForwardList :: WebViewClass self => self -> Bool -> IO ()

-- | Go to the specified WebHistoryItem
webViewGoToBackForwardItem :: (WebViewClass self, WebHistoryItemClass item) => self -> item -> IO Bool

-- | Determines whether WebView has a history item of
--   steps.
--   
--   Negative values represent steps backward while positive values
--   represent steps forward
webViewCanGoBackOrForward :: WebViewClass self => self -> Int -> IO Bool

-- | Loads the history item that is the number of steps away from
--   the current item.
--   
--   Negative values represent steps backward while positive values
--   represent steps forward.
webViewGoBackOrForward :: WebViewClass self => self -> Int -> IO ()

-- | Returns the zoom level of WebView
--   
--   i.e. the factor by which elements in the page are scaled with respect
--   to their original size.
webViewGetZoomLevel :: WebViewClass self => self -> IO Float

-- | Sets the zoom level of WebView.
webViewSetZoomLevel :: WebViewClass self => self -> Float -> IO ()

-- | Increases the zoom level of WebView.
webViewZoomIn :: WebViewClass self => self -> IO ()

-- | Decreases the zoom level of WebView.
webViewZoomOut :: WebViewClass self => self -> IO ()

-- | Returns whether the zoom level affects only text or all elements.
webViewGetFullContentZoom :: WebViewClass self => self -> IO Bool

-- | Sets whether the zoom level affects only text or all elements.
webViewSetFullContentZoom :: WebViewClass self => self -> Bool -> IO ()

-- | Determines whether can cuts the current selection inside
--   WebView to the clipboard
webViewCanCutClipboard :: WebViewClass self => self -> IO Bool

-- | Determines whether can copies the current selection inside
--   WebView to the clipboard
webViewCanCopyClipboard :: WebViewClass self => self -> IO Bool

-- | Determines whether can pastes the current contents of the clipboard to
--   the WebView
webViewCanPasteClipboard :: WebViewClass self => self -> IO Bool

-- | Cuts the current selection inside WebView to the clipboard.
webViewCutClipboard :: WebViewClass self => self -> IO ()

-- | Copies the current selection inside WebView to the clipboard.
webViewCopyClipboard :: WebViewClass self => self -> IO ()

-- | Pastes the current contents of the clipboard to the WebView
webViewPasteClipboard :: WebViewClass self => self -> IO ()

-- | Determines whether or not it is currently possible to redo the last
--   editing command in the view
webViewCanRedo :: WebViewClass self => self -> IO Bool

-- | Determines whether or not it is currently possible to undo the last
--   editing command in the view
webViewCanUndo :: WebViewClass self => self -> IO Bool

-- | Redoes the last editing command in the view, if possible.
webViewRedo :: WebViewClass self => self -> IO ()

-- | Undoes the last editing command in the view, if possible.
webViewUndo :: WebViewClass self => self -> IO ()

-- | Deletes the current selection inside the WebView
webViewDeleteSelection :: WebViewClass self => self -> IO ()

-- | Determines whether text was selected
webViewHasSelection :: WebViewClass self => self -> IO Bool

-- | Attempts to select everything inside the WebView
webViewSelectAll :: WebViewClass self => self -> IO ()

-- | Returns the default encoding of the WebView
webViewGetEncoding :: WebViewClass self => self -> IO (Maybe String)

-- | Sets the current WebView encoding, without modifying the
--   default one, and reloads the page
webViewSetCustomEncoding :: WebViewClass self => self -> (Maybe String) -> IO ()

-- | Returns the current encoding of WebView,not the default
--   encoding.
webViewGetCustomEncoding :: WebViewClass self => self -> IO (Maybe String)

-- | Returns whether WebView is in view source mode
webViewGetViewSourceMode :: WebViewClass self => self -> IO Bool

-- | Set whether the view should be in view source mode.
--   
--   Setting this mode to (!(0)) before loading a URI will display the
--   source of the web page in a nice and readable format.
webViewSetViewSourceMode :: WebViewClass self => self -> Bool -> IO ()

-- | Returns whether the WebView has a transparent background
webViewGetTransparent :: WebViewClass self => self -> IO Bool

-- | Sets whether the WebKitWebView has a transparent background.
--   
--   Pass False to have the WebView draw a solid background (the
--   default), otherwise pass True.
webViewSetTransparent :: WebViewClass self => self -> Bool -> IO ()

-- | This function returns the list of targets this WebView can
--   provide for clipboard copying and as DND source. The targets in the
--   list are added with values from the WebViewTargetInfo enum,
--   using targetListAdd and targetListAddTextTargets.
webViewGetCopyTargetList :: WebViewClass self => self -> IO (Maybe TargetList)

-- | This function returns the list of targets this WebView can
--   provide for clipboard pasteing and as DND source. The targets in the
--   list are added with values from the WebViewTargetInfo enum,
--   using targetListAdd and targetListAddTextTargets.
webViewGetPasteTargetList :: WebViewClass self => self -> IO (Maybe TargetList)

-- | Attempts to highlight all occurances of string inside WebView
webViewMarkTextMatches :: WebViewClass self => self -> String -> Bool -> Int -> IO Int

-- | Removes highlighting previously set by webViewMarkTextMarches
webViewUnMarkTextMatches :: WebViewClass self => self -> IO ()

-- | Highlights text matches previously marked by
--   webViewMarkTextMatches
webViewSetHighlightTextMatches :: WebViewClass self => self -> Bool -> IO ()

-- | Execute the script specified by script
webViewExecuteScript :: WebViewClass self => self -> String -> IO ()

-- | Returns whether or not a mimetype can be displayed using this
--   view.
webViewCanShowMimeType :: WebViewClass self => self -> String -> IO Bool

-- | Returns whether the user is allowed to edit the document.
webViewGetEditable :: WebViewClass self => self -> IO Bool

-- | Sets whether allows the user to edit its HTML document.
webViewSetEditable :: WebViewClass self => self -> Bool -> IO ()

-- | Obtains the WebInspector associated with the WebView
webViewGetInspector :: WebViewClass self => self -> IO WebInspector

-- | Determines the current progress of the load
webViewGetProgress :: WebViewClass self => self -> IO Double

-- | Looks for a specified string inside WebView
webViewSearchText :: WebViewClass self => self -> String -> Bool -> Bool -> Bool -> IO Bool

-- | Move the cursor in view as described by step and count.
webViewMoveCursor :: WebViewClass self => self -> MovementStep -> Int -> IO ()

-- | Return the main WebFrame of the given WebView.
webViewGetMainFrame :: WebViewClass self => self -> IO WebFrame

-- | Return the focused WebFrame of the given WebView.
webViewGetFocusedFrame :: WebViewClass self => self -> IO WebFrame

-- | Apply WebSettings to a given WebView
--   
--   !!NOTE!!, currently lack of useful APIs of WebSettings in
--   webkitgtk. If you want to set the encoding, font family or font size
--   of the WebView, please use related functions.
webViewSetWebSettings :: (WebViewClass self, WebSettingsClass settings) => self -> settings -> IO ()

-- | Return the WebSettings currently used by WebView.
webViewGetWebSettings :: WebViewClass self => self -> IO WebSettings

-- | Returns the instance of WebKitWebWindowFeatures held by the given
--   WebKitWebView.
webViewGetWindowFeatures :: WebViewClass self => self -> IO WebWindowFeatures

-- | Obtains the URI for the favicon for the given WebKitWebView, or
--   Nothing if there is none.
--   
--   
--   
- Since 1.1.18
--   
webViewGetIconUri :: WebViewClass self => self -> IO (Maybe String)

-- | Returns the WebView document title
webViewGetTitle :: WebViewClass self => self -> IO (Maybe String)

-- | Returns the current URI of the contents displayed by the
--   WebView
webViewGetUri :: WebViewClass self => self -> IO (Maybe String)

-- | Zoom level of the WebView instance
webViewZoomLevel :: WebViewClass self => Attr self Float

-- | Whether the full content is scaled when zooming
--   
--   Default value: False
webViewFullContentZoom :: WebViewClass self => Attr self Bool

-- | The default encoding of the WebView instance
--   
--   Default value: Nothing
webViewEncoding :: WebViewClass self => ReadAttr self (Maybe String)

-- | The custom encoding of the WebView instance
--   
--   Default value: Nothing
webViewCustomEncoding :: WebViewClass self => Attr self (Maybe String)

-- | Determines the current status of the load.
--   
--   Default value: LoadFinished
webViewLoadStatus :: WebViewClass self => ReadAttr self LoadStatus

-- | Determines the current progress of the load
--   
--   Default Value: 1
webViewProgress :: WebViewClass self => ReadAttr self Double

-- | Title of the WebView instance
webViewTitle :: WebViewClass self => ReadAttr self (Maybe String)

-- | The associated webInspector instance of the WebView
webViewInspector :: WebViewClass self => ReadAttr self WebInspector

-- | The associated webSettings of the WebView instance
webViewWebSettings :: WebViewClass self => Attr self WebSettings

-- | view source mode of the WebView instance
webViewViewSourceMode :: WebViewClass self => Attr self Bool

-- | transparent background of the WebView instance
webViewTransparent :: WebViewClass self => Attr self Bool

-- | Whether content of the WebView can be modified by the user
--   
--   Default value: False
webViewEditable :: WebViewClass self => Attr self Bool

-- | Returns the current URI of the contents displayed by the
--   web_view.
--   
--   Default value: Nothing
webViewUri :: WebViewClass self => ReadAttr self (Maybe String)

-- | The list of targets this web view supports for clipboard copying.
webViewCopyTargetList :: WebViewClass self => ReadAttr self (Maybe TargetList)

-- | The list of targets this web view supports for clipboard pasteing.
webViewPasteTargetList :: WebViewClass self => ReadAttr self (Maybe TargetList)

-- | An associated WebWindowFeatures instance.
webViewWindowFeatures :: WebViewClass self => Attr self WebWindowFeatures

-- | The URI for the favicon for the WebKitWebView.
--   
--   Default value: Nothing
--   
--   
--   
- Since 1.1.18
--   
webViewIconUri :: WebViewClass self => ReadAttr self String

-- | The IMMulticontext for the WebKitWebView.
--   
--   This is the input method context used for all text entry widgets
--   inside the WebKitWebView. It can be used to generate context menu
--   items for controlling the active input method.
--   
--   
--   
- Since 1.1.20
--   
webViewImContext :: WebViewClass self => ReadAttr self IMContext

-- | When a WebFrame begins to load, this signal is emitted
loadStarted :: WebViewClass self => Signal self (WebFrame -> IO ())

-- | When a WebFrame loaded the first data, this signal is emitted
loadCommitted :: WebViewClass self => Signal self (WebFrame -> IO ())

-- | When the global progress changed, this signal is emitted
--   
--   the global progress will be passed back to user function
progressChanged :: WebViewClass self => Signal self (Int -> IO ())

-- | When loading finished, this signal is emitted
loadFinished :: WebViewClass self => Signal self (WebFrame -> IO ())

-- | When An error occurred while loading.
--   
--   By default, if the signal is not handled, the WebView will display a
--   stock error page.
--   
--   You need to handle the signal if you want to provide your own error
--   page.
--   
--   The URI that triggered the error and the GError will be passed
--   back to user function.
loadError :: WebViewClass self => Signal self (WebFrame -> String -> GError -> IO Bool)

-- | When Document title changed, this signal is emitted.
--   
--   It can be used to set the Application Window title.
--   
--   webframe - which WebFrame changes the document title.
--   
--   title - current title string.
titleChanged :: WebViewClass self => Signal self (WebFrame -> String -> IO ())

-- | When the cursor is over a link, this signal is emitted.
--   
--   title - the link's title or Nothing in case of failure.
--   
--   uri - the URI the link points to or Nothing in case of
--   failure.
hoveringOverLink :: WebViewClass self => Signal self (Maybe String -> Maybe String -> IO ())
createWebView :: WebViewClass self => Signal self (WebFrame -> IO WebView)

-- | Emitted after new WebView instance had been created in
--   onCreateWebView user function when the new WebView
--   should be displayed to the user.
--   
--   All the information about how the window should look, including
--   size,position,whether the location, status and scroll bars should be
--   displayed, is ready set.
webViewReady :: WebViewClass self => Signal self (IO Bool)

-- | Emitted when closing a WebView is requested.
--   
--   This occurs when a call is made from JavaScript's window.close
--   function. The default signal handler does not do anything. It is the
--   owner's responsibility to hide or delete the WebView, if
--   necessary.
--   
--   User function should return True to stop the handlers from being
--   invoked for the event or False to propagate the event furter
closeWebView :: WebViewClass self => Signal self (IO Bool)

-- | A JavaScript console message was created.
consoleMessage :: WebViewClass self => Signal self (String -> String -> Int -> String -> IO Bool)

-- | The copyClipboard signal is a keybinding signal which gets
--   emitted to copy the selection to the clipboard.
--   
--   The default bindings for this signal are Ctrl-c and Ctrl-Insert.
copyClipboard :: WebViewClass self => Signal self (IO ())

-- | The cutClipboard signal is a keybinding signal which gets
--   emitted to cut the selection to the clipboard.
--   
--   The default bindings for this signal are Ctrl-x and Shift-Delete.
cutClipboard :: WebViewClass self => Signal self (IO ())

-- | The pasteClipboard signal is a keybinding signal which gets
--   emitted to paste the contents of the clipboard into the Web view.
--   
--   The default bindings for this signal are Ctrl-v and Shift-Insert.
pasteClipboard :: WebViewClass self => Signal self (IO ())

-- | When a context menu is about to be displayed this signal is emitted.
populatePopup :: WebViewClass self => Signal self (Menu -> IO ())

-- | Emitted when printing is requested by the frame, usually because of a
--   javascript call. When handling this signal you should call
--   webFramePrintFull or webFramePrint to do the actual
--   printing.
--   
--   The default handler will present a print dialog and carry a print
--   operation. Notice that this means that if you intend to ignore a print
--   request you must connect to this signal, and return True.
printRequested :: WebViewClass self => Signal self (WebFrame -> IO Bool)

-- | A JavaScript alert dialog was created.
scriptAlert :: WebViewClass self => Signal self (WebFrame -> String -> IO Bool)

-- | A JavaScript confirm dialog was created, providing Yes and No buttons.
scriptConfirm :: WebViewClass self => Signal self (WebFrame -> String -> IO Bool)

-- | A JavaScript prompt dialog was created, providing an entry to input
--   text.
scriptPrompt :: WebViewClass self => Signal self (WebFrame -> String -> String -> IO Bool)

-- | When status-bar text changed, this signal will emitted.
statusBarTextChanged :: WebViewClass self => Signal self (String -> IO ())

-- | The selectAll signal is a keybinding signal which gets emitted
--   to select the complete contents of the text view.
--   
--   The default bindings for this signal is Ctrl-a.
selectAll :: WebViewClass self => Signal self (IO ())

-- | When selection changed, this signal is emitted.
selectionChanged :: WebViewClass self => Signal self (IO ())

-- | When set scroll adjustments, this signal is emitted.
setScrollAdjustments :: WebViewClass self => Signal self (Adjustment -> Adjustment -> IO ())

-- | The databaseQuotaExceeded signal will be emitted when a Web
--   Database exceeds the quota of its security origin. This signal may be
--   used to increase the size of the quota before the originating
--   operation fails.
databaseQuotaExceeded :: WebViewClass self => Signal self (WebFrame -> WebDatabase -> IO ())

-- | When document loading finished, this signal is emitted
documentLoadFinished :: WebViewClass self => Signal self (WebFrame -> IO ())

-- | Emitted after A new Download is being requested.
--   
--   By default, if the signal is not handled, the download is cancelled.
--   
--   Notice that while handling this signal you must set the target URI
--   using downloadSetDestinationUri
--   
--   If you intend to handle downloads yourself, return False in user
--   function.
downloadRequested :: WebViewClass self => Signal self (Download -> IO Bool)

-- | Emitted after Icon loaded
iconLoaded :: WebViewClass self => Signal self (String -> IO ())

-- | The redo signal is a keybinding signal which gets emitted to
--   redo the last editing command.
--   
--   The default binding for this signal is Ctrl-Shift-z
redo :: WebViewClass self => Signal self (IO ())

-- | The undo signal is a keybinding signal which gets emitted to
--   undo the last editing command.
--   
--   The default binding for this signal is Ctrl-z
undo :: WebViewClass self => Signal self (IO ())

-- | Decide whether or not to display the given MIME type. If this signal
--   is not handled, the default behavior is to show the content of the
--   requested URI if WebKit can show this MIME type and the content
--   disposition is not a download; if WebKit is not able to show the MIME
--   type nothing happens.
--   
--   Notice that if you return True, meaning that you handled the signal,
--   you are expected to be aware of the Content-Disposition header.
--   A value of attachment usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call webPolicyDecisionIgnore,
--   webPolicyDecisionDownload, or webPolicyDecisionUse
--   on the webPolicyDecision object.
mimeTypePolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> NetworkRequest -> String -> WebPolicyDecision -> IO Bool)

-- | The moveCursor will be emitted to apply the cursor movement
--   described by its parameters to the view.
moveCursor :: WebViewClass self => Signal self (MovementStep -> Int -> IO Bool)

-- | Emitted when frame requests a navigation to another page. If this
--   signal is not handled, the default behavior is to allow the
--   navigation.
--   
--   Notice that if you return True, meaning that you handled the signal,
--   you are expected to be aware of the Content-Disposition header.
--   A value of attachment usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call webPolicyDecisionIgnore,
--   webPolicyDecisionDownload, or webPolicyDecisionUse
--   on the webPolicyDecision object.
navigationPolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> NetworkRequest -> WebNavigationAction -> WebPolicyDecision -> IO Bool)

-- | Emitted when frame requests opening a new window. With this signal the
--   browser can use the context of the request to decide about the new
--   window. If the request is not handled the default behavior is to allow
--   opening the new window to load the URI, which will cause a
--   createWebView signal emission where the browser handles the new
--   window action but without information of the context that caused the
--   navigation. The following navigationPolicyDecisionRequested
--   emissions will load the page after the creation of the new window just
--   with the information of this new navigation context, without any
--   information about the action that made this new window to be opened.
--   
--   Notice that if you return True, meaning that you handled the signal,
--   you are expected to be aware of the Content-Disposition header.
--   A value of attachment usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call webPolicyDecisionIgnore,
--   webPolicyDecisionDownload, or webPolicyDecisionUse
--   on the webPolicyDecision object.
newWindowPolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> NetworkRequest -> WebNavigationAction -> WebPolicyDecision -> IO Bool)

-- | Emitted when a request is about to be sent. You can modify the request
--   while handling this signal. You can set the URI in the
--   NetworkRequest object itself, and addremovereplace
--   headers using the SoupMessage object it carries, if it is present. See
--   networkRequestGetMessage. Setting the request URI to
--   about:blank will effectively cause the request to load nothing,
--   and can be used to disable the loading of specific resources.
--   
--   Notice that information about an eventual redirect is available in
--   response's SoupMessage, not in the SoupMessage carried by the request.
--   If response is ((void *)0), then this is not a redirected request.
--   
--   The WebResource object will be the same throughout all the
--   lifetime of the resource, but the contents may change from inbetween
--   signal emissions.
resourceRequestStarting :: WebViewClass self => Signal self (WebFrame -> WebResource -> Maybe NetworkRequest -> Maybe NetworkResponse -> IO ())

-- | When a frame wants to cancel geolocation permission it had requested
--   before.
--   
--   
--   
- Since 1.1.23
--   
geolocationPolicyDecisionCancelled :: WebViewClass self => Signal self (WebFrame -> IO ())

-- | When a frame wants to get its geolocation permission. The receiver
--   must reply with a boolean wether it handled or not the request. If the
--   request is not handled, default behaviour is to deny geolocation.
--   
--   
--   
- Since 1.1.23
--   
geolocationPolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> GeolocationPolicyDecision -> IO ())
instance Enum NavigationResponse
instance Enum TargetInfo
instance Enum LoadStatus

-- | Access to the WebKit Web WindowFeatures
module Graphics.UI.Gtk.WebKit.WebWindowFeatures
data WebWindowFeatures
class GObjectClass o => WebWindowFeaturesClass o

-- | Creates a new WebWindowFeatures instance with default values.
--   It must be manually attached to a WebView.
webWindowFeaturesNew :: IO WebWindowFeatures

-- | Decides if a WebWindowFeatures instance equals another, as in
--   has the same values.
webWindowFeaturesEqual :: (WebWindowFeaturesClass winA, WebWindowFeaturesClass winB) => winA -> winB -> IO Bool

-- | Controls whether window will be displayed fullscreen.
webWindowFeaturesFullscreen :: WebWindowFeaturesClass self => Attr self Bool

-- | The height of the window on the screen.
webWindowFeaturesHeight :: WebWindowFeaturesClass self => Attr self Int

-- | The width of the window on the screen.
webWindowFeaturesWidth :: WebWindowFeaturesClass self => Attr self Int

-- | The starting x position of the window on the screen.
webWindowFeaturesX :: WebWindowFeaturesClass self => Attr self Int

-- | The starting y position of the window on the screen.
webWindowFeaturesY :: WebWindowFeaturesClass self => Attr self Int

-- | Controls whether the locationbar should be visible for the window.
webWindowFeaturesLocationbarVisible :: WebWindowFeaturesClass self => Attr self Bool

-- | Controls whether the menubar should be visible for the window.
webWindowFeaturesMenubarVisible :: WebWindowFeaturesClass self => Attr self Bool

-- | Controls whether the scrollbar should be visible for the window.
webWindowFeaturesScrollbarVisible :: WebWindowFeaturesClass self => Attr self Bool

-- | Controls whether the statusbar should be visible for the window.
webWindowFeaturesStatusbarVisible :: WebWindowFeaturesClass self => Attr self Bool

-- | Controls whether the toolbar should be visible for the window.
webWindowFeaturesToolbarVisible :: WebWindowFeaturesClass self => Attr self Bool

-- | Object used to communicate with the application when downloading
module Graphics.UI.Gtk.WebKit.CacheModel
data CacheModel
CacheModelDefault :: CacheModel
CacheModelDocumentViewer :: CacheModel
CacheModelWebBrowser :: CacheModel
CacheModelDocumentBrowser :: CacheModel

-- | Returns the current cache model. For more information about this value
--   check the documentation of the function setCacheModel.
--   
--   
--   
- Since 1.1.18
--   
getCacheModel :: IO CacheModel

-- | Specifies a usage model for WebViews, which WebKit will use to
--   determine its caching behavior. All web views follow the cache model.
--   This cache model determines the RAM and disk space to use for caching
--   previously viewed content .
--   
--   Research indicates that users tend to browse within clusters of
--   documents that hold resources in common, and to revisit previously
--   visited documents. WebKit and the frameworks below it include built-in
--   caches that take advantage of these patterns, substantially improving
--   document load speed in browsing situations. The WebKit cache model
--   controls the behaviors of all of these caches, including various
--   WebCore caches.
--   
--   Browsers can improve document load speed substantially by specifying
--   WebkitCacheModelWebBrowser. Applications without a browsing interface
--   can reduce memory usage substantially by specifying
--   WebkitCacheModelDocumentViewer. Default value is
--   WebkitCacheModelWebBrowser.
--   
--   
--   
- Since 1.1.18
--   
setCacheModel :: CacheModel -> IO ()
instance Enum CacheModel
