-- 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 <a>Download</a> instance for the given
--   <a>NetworkRequest</a>
--   
--   Object used to communicate with the application when downloading.
downloadNew :: NetworkRequestClass request => request -> IO Download

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

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

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

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

-- | Retrieves the <a>NetworkResponse</a> object that backs the download
--   process.
--   
--   <ul>
--   <li>Since 1.1.16</li>
--   </ul>
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 <a>downloadStart</a>
downloadGetDestinationUri :: DownloadClass self => self -> IO (Maybe String)

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

-- | Return elapsed time for the <a>Download</a> in seconds. includeing any
--   fractional part.
--   
--   If the <a>Download</a> 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 <a>Download</a> as
--   <a>DownloadStatus</a>
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
--   
--   <ul>
--   <li>Since 1.1.2</li>
--   </ul>
currentSize :: DownloadClass self => ReadAttr self Int

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

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

-- | The NetworkResponse instance associated with the download.
--   
--   <ul>
--   <li>Since 1.1.16</li>
--   </ul>
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 <a>Download</a>
--   : currentSize.
--   
--   Allowed values: [0,1]
--   
--   Default value: 1
--   
--   <ul>
--   <li>Since 1.1.2</li>
--   </ul>
progress :: DownloadClass self => ReadAttr self Double

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

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

-- | The total size of the file
--   
--   Default value: 0
--   
--   <ul>
--   <li>Since 1.1.2</li>
--   </ul>
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
--   <a>DownloadError</a>.
--   
--   <tt>download</tt>: the object on which the signal is emitted
--   <tt>errorCode</tt>: the corresponding error code <tt>errorDetail</tt>:
--   detailed error code for the error, see <a>DownloadError</a>
--   <tt>reason</tt>: 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.
--   
--   <ul>
--   <li>Since 1.1.23</li>
--   </ul>
geolocationPolicyAllow :: GeolocationPolicyDecisionClass decision => decision -> IO ()

-- | Will send the deny decision to the policy implementer.
--   
--   <ul>
--   <li>Since 1.1.23</li>
--   </ul>
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 <tt>uri</tt>.
--   
--   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 <a>NetworkRequest</a>.
networkRequestSetUri :: NetworkRequestClass self => self -> String -> IO ()

-- | Return the uri of <a>NetworkRequest</a>.
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 <a>NetworkResponse</a>.
networkResponseSetUri :: NetworkResponseClass self => self -> String -> IO ()

-- | Return the uri of <a>NetworkResponse</a>.
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 <a>WebView</a>
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
--   <tt>limit</tt>.
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 <a>WebDatabase</a> 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 <a>WebDatabase</a>.
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 <a>WebDatabase</a> space on disk in
--   bytes.
webDatabaseGetSize :: WebDatabaseClass self => self -> IO Int

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


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

-- | Creates a new <a>WebDataSource</a> instance. The URL of the
--   <a>WebDataSource</a> will be set to <a>about:blank</a>.
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
--   <a>Nothing</a> if the web frame hasn't loaded any data. Use
--   <tt>webkitWebDataSourceIsLoading</tt> 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 <a>WebView</a>, 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 <a>committed</a> load state. See
--   <a>webDataSourceGetRequest</a> for getting the <a>committed</a>
--   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
--   <a>WebDataSource</a>. The NetworkRequest returned by this method is
--   the request that was <a>committed</a>, and hence, different from the
--   request you get from the <a>webDataSourceGetInitialRequest</a> method.
webDataSourceGetRequest :: WebDataSourceClass self => self -> IO NetworkRequest

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

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

-- | Returns the <a>WebFrame</a> 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 <a>WebView</a>
--   
--   Note: Functon <tt>webkit_web_frame_get_global_context</tt> can't
--   binding now, Because it need <tt>JSGlobalContextRef</tt> exist in
--   JavaScriptCore.
--   
--   Function <tt>webkit_web_frame_print_full</tt> can't binding now,
--   Because library <tt>GtkPrintOperation</tt> haven't binding.
module Graphics.UI.Gtk.WebKit.WebFrame
data WebFrame
class GObjectClass o => WebFrameClass o
data LoadStatus

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

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

-- | Return the name of the given <a>WebFrame</a>.
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 <a>Nothing</a> if the
--   frame was not created by a load.
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
webFrameGetNetworkResponse :: WebFrameClass self => self -> IO (Maybe NetworkResponse)

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

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

-- | Return the <tt>WebFrame'</tt>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
--   
--   <ul>
--   <li>Since 1.1.7</li>
--   </ul>
webFrameGetLoadStatus :: WebFrameClass self => self -> IO LoadStatus

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

-- | Requests loading of the given <tt>content</tt> with the specified
--   <tt>mime_type</tt>, <tt>encoding</tt> and <tt>base_uri</tt>.
--   
--   If <tt>mime_type</tt> is <tt>Nothing</tt>, "text/html" is assumed.
--   
--   If <tt>encoding</tt> is <tt>Nothing</tt>, "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 <tt>base_uri</tt> 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
--   <a>webFrameStopLoading</a> 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 <a>WebFrame</a> associated with the given name or
--   <tt>Nothing</tt> 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 <a>webFrameLoadRequest</a> 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 <a>webFrameGetDataSource</a> 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 <a>WebFrame</a>.
--   
--   by presenting a print dialog to the user.
webFramePrint :: WebFrameClass self => self -> IO ()
instance Enum LoadStatus


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

-- | Create a new <a>WebHistoryItem</a> 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.
--   <a>WebHistoryItem</a> constructed with <a>webHistoryItemNew</a> are
--   automatically added to the global history.
webHistoryItemNew :: IO WebHistoryItem

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

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

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

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

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

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

-- | Return the title of <a>WebHistoryItem</a>.
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.
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
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 <a>WebView</a> that is used to render the
--   <a>WebInspector</a>.
--   
--   The <a>WebView</a> instance is created by the application, by handling
--   the <a>inspect-web-view</a> signal. This means that it may return
--   <tt>Nothing</tt> 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 <a>Event</a> 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.
--   
--   <ul>
--   <li>Since 1.1.17</li>
--   </ul>
webInspectorInspectCoordinates :: WebInspectorClass self => self -> Int -> Int -> IO ()

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

-- | Causes the Web Inspector to be closed.
--   
--   <ul>
--   <li>Since 1.1.17</li>
--   </ul>
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: <a>False</a>
--   
--   <ul>
--   <li>Since 1.1.17</li>
--   </ul>
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
--   <a>inspectWebView</a>.
--   
--   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 <a>WebView</a>
--   may no longer exist when this signal is emitted.
finished :: WebInspectorClass self => Signal self (IO ())

-- | Emitted when the user activates the <tt>inspect</tt> context menu item
--   to inspect a web view. The application which is interested in the
--   inspector should create a window, or otherwise add the <a>WebView</a>
--   it creates to an existing window.
--   
--   You don't need to handle the reference count of the <a>WebView</a>
--   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 <a>webkit_web_resource_get_data</a> haven't binding no idea
--   how to handle <a>GString</a>.
--   
--   Access to the WebKit Web Resource
module Graphics.UI.Gtk.WebKit.WebResource
data WebResource
class GObjectClass o => WebResourceClass o

-- | Returns a new WebKitWebResource. The <tt>encoding</tt> can be empty.
--   The <tt>frameName</tt> 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 <a>WebView</a>
module Graphics.UI.Gtk.WebKit.WebSettings
data WebSettings
class GObjectClass o => WebSettingsClass o
data EditingBehavior

-- | Create a new <a>WebSettings</a> instance.
--   
--   A <a>WebSettings</a> can be applied to a <a>WebView</a> 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 <a>WebSettings</a> 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 <a>serif</a>
webSettingsCursiveFontFamily :: WebSettingsClass self => Attr self String

-- | The default font family used to display text
--   
--   Default value: <a>sans-serif</a>
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: <a>monospace</a>
webSettingsMonospaceFontFamily :: WebSettingsClass self => Attr self String

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

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

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

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

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

-- | The minimum logical font size used to display text
--   
--   Allowed values: &gt;=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 <a>iso-8859-1</a>
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 <a>WebInspector</a>
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 <a>True</a>,
--   document.execCommand(<a>Paste</a>) will correctly execute and paste
--   content of the clipboard.
--   
--   Default value: <a>False</a>
--   
--   <ul>
--   <li>Since 1.1.16</li>
--   </ul>
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: <a>True</a>
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
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: <a>False</a>
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
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: <a>False</a>
--   
--   <ul>
--   <li>Since 1.1.23</li>
--   </ul>
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: <tt>Nothing</tt>
webSettingsSpellCheckingLang :: WebSettingsClass self => Attr self (Maybe String)

-- | Whether the tab key cycles through elements on the page.
--   
--   If flag is <a>True</a>, pressing the tab key will focus the next
--   element in the <tt>webView</tt>. If flag is <a>False</a>, the
--   <tt>webView</tt> 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: <a>True</a>
--   
--   <ul>
--   <li>Since 1.1.17</li>
--   </ul>
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: "Mozilla<i>5.0 (X11; U; Linux x86_64; c)
--   AppleWebKit</i>531.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: <tt>Nothing</tt>
webSettingsUserStylesheetUri :: WebSettingsClass self => Attr self (Maybe String)

-- | The value by which the zoom level is changed when zooming in or out
--   
--   Allowed values: &gt;= 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 <tt>GHaskellTable</tt>
--   
--   TODO:
--   
--   <tt>webViewGetHitTestResult</tt>
--   
--   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 <a>WebView</a> widget.
--   
--   It is a <a>Widget</a> you can embed in a <a>ScrolledWindow</a>.
--   
--   You can load any URI into the <a>WebView</a> or any kind of data
--   string.
webViewNew :: IO WebView

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

-- | Loading the <tt>content</tt> 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
--   <a>webViewStopLoading</a> to stop the load.
webViewLoadRequest :: (WebViewClass self, NetworkRequestClass request) => self -> request -> IO ()

-- | Requests loading of the given <tt>content</tt> with the specified
--   <tt>mime_type</tt>, <tt>encoding</tt> and <tt>base_uri</tt>.
--   
--   If <tt>mime_type</tt> is <tt>Nothing</tt>, <a>text/html</a> is
--   assumed.
--   
--   If <tt>encoding</tt> is <tt>Nothing</tt>, <a>UTF-8</a> 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 <a>WebView</a>
webViewReload :: WebViewClass self => self -> IO ()

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

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

-- | Determine whether <a>WebView</a> 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 <a>WebBackForwardList</a>
webViewGetBackForwardList :: WebViewClass self => self -> IO WebBackForwardList

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

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

-- | Determines whether <a>WebView</a> has a history item of
--   <tt>steps</tt>.
--   
--   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 <tt>steps</tt> 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 <a>WebView</a>
--   
--   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 <a>WebView</a>.
webViewSetZoomLevel :: WebViewClass self => self -> Float -> IO ()

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

-- | Decreases the zoom level of <a>WebView</a>.
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
--   <a>WebView</a> to the clipboard
webViewCanCutClipboard :: WebViewClass self => self -> IO Bool

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

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

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

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

-- | Pastes the current contents of the clipboard to the <a>WebView</a>
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 <a>WebView</a>
webViewDeleteSelection :: WebViewClass self => self -> IO ()

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

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

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

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

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

-- | Returns whether <a>WebView</a> 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 <a>WebView</a> has a transparent background
webViewGetTransparent :: WebViewClass self => self -> IO Bool

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

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

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

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

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

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

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

-- | Returns whether or not a <tt>mimetype</tt> 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 <a>WebInspector</a> associated with the <a>WebView</a>
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 <a>WebView</a>
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 <a>WebFrame</a> of the given <a>WebView</a>.
webViewGetMainFrame :: WebViewClass self => self -> IO WebFrame

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

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

-- | Return the <a>WebSettings</a> currently used by <a>WebView</a>.
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
--   <a>Nothing</a> if there is none.
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
webViewGetIconUri :: WebViewClass self => self -> IO (Maybe String)

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

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

-- | Zoom level of the <a>WebView</a> 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 <a>WebView</a> instance
--   
--   Default value: <tt>Nothing</tt>
webViewEncoding :: WebViewClass self => ReadAttr self (Maybe String)

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

-- | Determines the current status of the load.
--   
--   Default value: <tt>LoadFinished</tt>
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 <a>WebView</a> instance
webViewTitle :: WebViewClass self => ReadAttr self (Maybe String)

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

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

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

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

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

-- | Returns the current URI of the contents displayed by the
--   <tt>web_view</tt>.
--   
--   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 <a>WebWindowFeatures</a> instance.
webViewWindowFeatures :: WebViewClass self => Attr self WebWindowFeatures

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

-- | The <a>IMMulticontext</a> 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.
--   
--   <ul>
--   <li>Since 1.1.20</li>
--   </ul>
webViewImContext :: WebViewClass self => ReadAttr self IMContext

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

-- | When a <a>WebFrame</a> 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 <a>GError</a> 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 <a>Window</a> title.
--   
--   webframe - which <a>WebFrame</a> 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 <tt>Nothing</tt> in case of failure.
--   
--   uri - the URI the link points to or <tt>Nothing</tt> 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 <a>WebView</a> instance had been created in
--   <tt>onCreateWebView</tt> user function when the new <a>WebView</a>
--   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 <a>WebView</a>, 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 <a>copyClipboard</a> 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 <a>cutClipboard</a> 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 <a>pasteClipboard</a> 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
--   <tt>webFramePrintFull</tt> or <tt>webFramePrint</tt> 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 <a>selectAll</a> 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 <a>databaseQuotaExceeded</a> 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 <a>Download</a> 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 <tt>downloadSetDestinationUri</tt>
--   
--   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 <a>redo</a> 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 <a>undo</a> 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 <a>Content-Disposition</a> header.
--   A value of <a>attachment</a> usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call <tt>webPolicyDecisionIgnore</tt>,
--   <tt>webPolicyDecisionDownload</tt>, or <tt>webPolicyDecisionUse</tt>
--   on the <tt>webPolicyDecision</tt> object.
mimeTypePolicyDecisionRequested :: WebViewClass self => Signal self (WebFrame -> NetworkRequest -> String -> WebPolicyDecision -> IO Bool)

-- | The <a>moveCursor</a> 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 <a>Content-Disposition</a> header.
--   A value of <a>attachment</a> usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call <tt>webPolicyDecisionIgnore</tt>,
--   <tt>webPolicyDecisionDownload</tt>, or <tt>webPolicyDecisionUse</tt>
--   on the <tt>webPolicyDecision</tt> 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
--   <a>createWebView</a> signal emission where the browser handles the new
--   window action but without information of the context that caused the
--   navigation. The following <a>navigationPolicyDecisionRequested</a>
--   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 <a>Content-Disposition</a> header.
--   A value of <a>attachment</a> usually indicates a download regardless
--   of the MIME type, see also soupMessageHeadersGetContentDisposition'
--   And you must call <tt>webPolicyDecisionIgnore</tt>,
--   <tt>webPolicyDecisionDownload</tt>, or <tt>webPolicyDecisionUse</tt>
--   on the <tt>webPolicyDecision</tt> 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
--   <a>NetworkRequest</a> object itself, and add<i>remove</i>replace
--   headers using the SoupMessage object it carries, if it is present. See
--   <tt>networkRequestGetMessage</tt>. Setting the request URI to
--   <a>about:blank</a> 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 <a>WebResource</a> 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.
--   
--   <ul>
--   <li>Since 1.1.23</li>
--   </ul>
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.
--   
--   <ul>
--   <li>Since 1.1.23</li>
--   </ul>
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 <a>WebWindowFeatures</a> instance with default values.
--   It must be manually attached to a WebView.
webWindowFeaturesNew :: IO WebWindowFeatures

-- | Decides if a <a>WebWindowFeatures</a> 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 <a>setCacheModel</a>.
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
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.
--   
--   <ul>
--   <li>Since 1.1.18</li>
--   </ul>
setCacheModel :: CacheModel -> IO ()
instance Enum CacheModel
