# WebView QML Type

A webview that can be used to render web content in an application. More...

Import Statement: | import Morph.Web 0.1

- List of all members, including inherited members
- Obsolete members

## Properties

- alertDialog : component
- beforeUnloadDialog : component
- confirmDialog : component
- context : WebContext
- contextModel : QtObject
- contextualActions : ActionList
- filePicker : component
- fullscreen : bool
- icon : url
- incognito : bool
- loadProgress : int
- loading : bool
- navigationHistory : list
- promptDialog : component
- title : string
- url : url

## Methods

- void loadHtml(string html, url baseUrl)
- void reload()
- void stop()

## Detailed Description

Here is a very simple example of how to use a WebView to render a web page:

    import QtQuick 2.4
    import Morph.Web 0.1

    WebView {
        url: "http://ubuntu.com"
    }

The `WebView` component defaults to using a shared `WebContext` that is shared across all `WebView` instances in a given application.

See also SharedWebContext.

## Property Documentation

alertDialog : component

The QML component that will be instantiated to display a JavaScript alert dialog.

See also confirmDialog, promptDialog, and beforeUnloadDialog.

beforeUnloadDialog : component

The QML component that will be instantiated to display a JavaScript confirmation when the user initiates a navigation away from the current page, if the page has defined an `onBeforeUnload` handler.

See also alertDialog, confirmDialog, and promptDialog.

confirmDialog : component

The QML component that will be instantiated to display a JavaScript confirmation dialog.

See also alertDialog, promptDialog, and beforeUnloadDialog.

context : WebContext

The web context associated to this WebView. By default a shared context is used which should fit most use cases, do not override unless you really need a finer control over the context.

contextModel : QtObject

An object that holds the contextual data associated with the current context menu, as well as methods to interact with this data. User-defined contextual actions can use this data to process it when triggered.

It has the following properties:

- linkUrl (url): the full URI of the hyperlink, if any
- srcUrl (url): the full URI of the image/media, if any
- mediaType (int): the type of media (one of Oxide.WebView.MediaTypeNone, Oxide.WebView.MediaTypeImage, Oxide.WebView.MediaTypeCanvas, Oxide.WebView.MediaTypeAudio, Oxide.WebView.MediaTypeVideo)
- isEditable (bool): whether the current element is editable
- editFlags (int): for editable elements, an OR-combined list of flags that define the current editing capabilities (Oxide.WebView.UndoCapability, Oxide.WebView.RedoCapability, Oxide.WebView.CutCapability, Oxide.WebView.CopyCapability, Oxide.WebView.PasteCapability, Oxide.WebView.EraseCapability, Oxide.WebView.SelectAllCapability)

It has the following methods:

- saveLink(): initiates a download request for the resource pointed to by the hyperlink, if any
- saveMedia(): initiates a download request for the media (image, canvas, audio, video), if any

When there is no active context menu, `contextModel` is null.

See also contextualActions.

contextualActions : ActionList

A list of actions that the user will be presented with when invoking a context menu (by way of a right click on desktop, or a long press on a touch-enabled device, on an image or a hyperlink). By default the list is empty, and no menu is shown. User-defined actions can access the context model.

Example of user-defined actions:

    import Lomiri.Components 1.3
    import Morph.Web 0.1

    WebView {
        contextualActions: ActionList {
            Action {
                text: i18n.tr("Open link in browser")
                enabled: contextModel && contextModel.linkUrl.toString()
                onTriggered: Qt.openUrlExternally(contextModel.linkUrl)
            }
        }
    }

See also contextModel.

filePicker : component

The QML component that will be instantiated to let the user select files when the user clicks an `<input type="file">` element on the current page.

fullscreen : bool

Whether the current page requested fullscreen display.

icon : url

The URL of the favicon of the current page.

incognito : bool

Whether the WebView is being used in private browsing mode, where no data is persisted across sessions.

loadProgress : int

The load progress of the current page (as a integer value between 0 and 100).

See also loading.

loading : bool

Whether the current page is loading.

See also loadProgress, stop, and reload.

navigationHistory : list

The navigation history (back/forward entries) stored as a list model with a `currentIndex` property. Each entry exposes the URL and title of the corresponding page, as well as a timestamp of when it was visited.

promptDialog : component

The QML component that will be instantiated to display a JavaScript prompt dialog.

See also alertDialog, confirmDialog, and beforeUnloadDialog.

title : string

The title of the current page.

url : url

The URL of the current page.

## Method Documentation

void loadHtml(string html, url baseUrl)

Load HTML content from memory instead of loading it from a URL. The `baseUrl` argument is used to resolve relative URLs in the provided content.

void reload()

Reload the current page.

See also stop.

void stop()

Stop loading the current page. Does nothing if there is no page currently loading.

See also reload and loading.