blob: 1e3a160e62798ce8db7a2dc66012ddf7ef8ab5ef (
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) 2015 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
// Qt-Security score:significant reason:default
#ifndef QWEBVIEW_H
#define QWEBVIEW_H
#include <QtWebView/qwebview_global.h>
#include <QtWebView/qwebviewsettings.h>
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
#include <QtGui/qwindow.h>
#include <memory>
class tst_QWebView;
QT_BEGIN_NAMESPACE
class QWebViewPrivate;
class QWebViewLoadRequest;
class Q_WEBVIEW_EXPORT QWebView : public QWindow
{
Q_OBJECT
Q_PROPERTY(QString httpUserAgent READ httpUserAgent WRITE setHttpUserAgent NOTIFY
httpUserAgentChanged FINAL REVISION(1, 14))
Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged FINAL)
Q_PROPERTY(bool loading READ isLoading NOTIFY loadingChanged FINAL REVISION(1, 1))
Q_PROPERTY(int loadProgress READ loadProgress NOTIFY loadProgressChanged FINAL)
Q_PROPERTY(QString title READ title NOTIFY titleChanged FINAL)
Q_PROPERTY(bool canGoBack READ canGoBack NOTIFY loadingChanged FINAL)
Q_PROPERTY(bool canGoForward READ canGoForward NOTIFY loadingChanged FINAL)
Q_PROPERTY(QWebViewSettings *settings READ settings CONSTANT FINAL REVISION(6, 5))
public:
explicit QWebView(QScreen *screen = nullptr);
explicit QWebView(QWindow *parent);
~QWebView() override;
QString httpUserAgent() const;
void setHttpUserAgent(const QString &httpUserAgent);
QUrl url() const;
void setUrl(const QUrl &url);
bool canGoBack() const;
bool canGoForward() const;
QString title() const;
int loadProgress() const;
bool isLoading() const;
QWebViewSettings *settings();
Q_INVOKABLE void goBack();
Q_INVOKABLE void goForward();
Q_INVOKABLE void reload();
Q_INVOKABLE void stop();
Q_INVOKABLE void loadHtml(const QString &html, const QUrl &baseUrl = QUrl());
Q_INVOKABLE void setCookie(const QString &domain, const QString &name, const QString &value);
Q_INVOKABLE void deleteCookie(const QString &domain, const QString &name);
Q_INVOKABLE void deleteAllCookies();
void runJavaScript(const QString &script,
const std::function<void(const QVariant &)> &resultCallback = {});
Q_SIGNALS:
void titleChanged(QString title);
void urlChanged(QUrl url);
void loadingChanged(const QWebViewLoadRequest &loadRequest);
void loadProgressChanged(int loadProgress);
void httpUserAgentChanged(QString userAgent);
void cookieAdded(const QString &domain, const QString &name);
void cookieRemoved(const QString &domain, const QString &name);
private:
Q_DISABLE_COPY(QWebView)
friend class QQuickWebView;
friend class ::tst_QWebView;
std::unique_ptr<QWebViewPrivate> d;
};
QT_END_NAMESPACE
#endif // QWEBVIEW_H
|