import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable QtWebEngine.testsupport 1.0'

Module {
    dependencies: ["QtQuick 2.0"]
    Component { name: "QPlatformInputContext"; prototype: "QObject" }
    Component {
        name: "QQuickWebEngineErrorPage"
        prototype: "QObject"
        exports: ["QtWebEngine.testsupport/WebEngineErrorPage 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Signal {
            name: "loadingChanged"
            Parameter { name: "loadRequest"; type: "QQuickWebEngineLoadRequest"; isPointer: true }
        }
    }
    Component {
        name: "QQuickWebEngineTestEvent"
        prototype: "QObject"
        exports: ["QtWebEngine.testsupport/WebEngineTestEvent 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Method {
            name: "mouseMultiClick"
            type: "bool"
            Parameter { name: "item"; type: "QObject"; isPointer: true }
            Parameter { name: "x"; type: "double" }
            Parameter { name: "y"; type: "double" }
            Parameter { name: "clickCount"; type: "int" }
        }
    }
    Component {
        name: "QQuickWebEngineTestInputContext"
        prototype: "QPlatformInputContext"
        exports: ["QtWebEngine.testsupport/TestInputContext 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Method { name: "create" }
        Method { name: "release" }
    }
    Component {
        name: "QQuickWebEngineTestSupport"
        prototype: "QObject"
        exports: ["QtWebEngine.testsupport/WebEngineTestSupport 1.0"]
        exportMetaObjectRevisions: [0]
        Property {
            name: "errorPage"
            type: "QQuickWebEngineErrorPage"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "testInputContext"
            type: "QQuickWebEngineTestInputContext"
            isReadonly: true
            isPointer: true
        }
        Property {
            name: "testEvent"
            type: "QQuickWebEngineTestEvent"
            isReadonly: true
            isPointer: true
        }
        Signal { name: "windowCloseRejected" }
        Signal { name: "loadVisuallyCommitted" }
    }
}
