summaryrefslogtreecommitdiffstats
path: root/src/webenginequick/api/qquickwebenginesingleton.cpp
blob: a51d2aca46868d0e6a85691ccc67a4c09de991ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#include "qquickwebengineprofile.h"
#include "qquickwebenginesettings_p.h"
#include "qquickwebenginesingleton_p.h"

#include <QtQml/qqmlcontext.h>
#include <QtQml/qqmlengine.h>

QT_BEGIN_NAMESPACE

/*!
    \qmltype WebEngine
    //! \instantiates QQuickWebEngineSingleton
    \inqmlmodule QtWebEngine
    \since QtWebEngine 1.1
    \brief Provides access to the default settings and profiles shared by all web engine views.

    The WebEngine singleton type provides access to the default profile and the default settings
    shared by all web engine views. It can be used to change settings globally, as illustrated by
    the following code snippet:

    \code
    Component.onCompleted: {
        WebEngine.settings.pluginsEnabled = true;
    }
    \endcode
*/

/*!
    \qmlproperty WebEngineSettings WebEngine::settings
    \readonly
    \since QtWebEngine 1.1

    Default settings for all web engine views.

    \sa WebEngineSettings
*/

QQuickWebEngineSettings *QQuickWebEngineSingleton::settings() const
{
    return defaultProfile()->settings();
}

/*!
    \qmlproperty WebEngineProfile WebEngine::defaultProfile
    \readonly
    \since QtWebEngine 1.1

    Default profile for all web engine views.

    \sa WebEngineProfile
*/
QQuickWebEngineProfile *QQuickWebEngineSingleton::defaultProfile() const
{
    auto profile = QQuickWebEngineProfile::defaultProfile();

    // MEMO first ever call to default profile will create one without context
    // it needs something to get qml engine from (WebEngine singleton is created in qml land)
    profile->ensureQmlContext(this);

    return profile;
}

/*!
    \qmlmethod WebEngineScript WebEngine::script
    //! \instantiates QWebEngineScript
    \since QtWebEngine 6.2

    Constructs WebEngineScript, which can be set up and inserted into user scripts' collection
    for \l{WebEngineView::userScripts}{WebEngineView.userScripts} or
    \l{WebEngineProfile::userScripts}{WebEngineProfile.userScripts}
    using \l{WebEngineScriptCollection}.

    \sa WebEngineScript WebEngineScriptCollection
*/

QWebEngineScript QQuickWebEngineSingleton::script() const
{
    return QWebEngineScript();
}

QT_END_NAMESPACE

#include "moc_qquickwebenginesingleton_p.cpp"