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
88
89
90
91
92
93
94
95
96
|
// 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
#ifndef QWEBENGINEURLREQUESTINFO_H
#define QWEBENGINEURLREQUESTINFO_H
#include <QtWebEngineCore/qtwebenginecoreglobal.h>
#include <QtCore/qurl.h>
#include <memory>
namespace QtWebEngineCore {
class ContentBrowserClientQt;
class InterceptedRequest;
} // namespace QtWebEngineCore
QT_BEGIN_NAMESPACE
class QWebEngineUrlRequestInfoPrivate;
class Q_WEBENGINECORE_EXPORT QWebEngineUrlRequestInfo
{
public:
enum ResourceType {
ResourceTypeMainFrame = 0, // top level page
ResourceTypeSubFrame, // frame or iframe
ResourceTypeStylesheet, // a CSS stylesheet
ResourceTypeScript, // an external script
ResourceTypeImage, // an image (jpg/gif/png/etc)
ResourceTypeFontResource, // a font
ResourceTypeSubResource, // an "other" subresource.
ResourceTypeObject, // an object (or embed) tag for a plugin,
// or a resource that a plugin requested.
ResourceTypeMedia, // a media resource.
ResourceTypeWorker, // the main resource of a dedicated worker.
ResourceTypeSharedWorker, // the main resource of a shared worker.
ResourceTypePrefetch, // an explicitly requested prefetch
ResourceTypeFavicon, // a favicon
ResourceTypeXhr, // a XMLHttpRequest
ResourceTypePing, // a ping request for <a ping>
ResourceTypeServiceWorker, // the main resource of a service worker.
ResourceTypeCspReport, // Content Security Policy (CSP) violation report
ResourceTypePluginResource, // A resource requested by a plugin
ResourceTypeNavigationPreloadMainFrame = 19, // A main-frame service worker navigation preload request
ResourceTypeNavigationPreloadSubFrame, // A sub-frame service worker navigation preload request
#ifndef Q_QDOC
ResourceTypeLast = ResourceTypeNavigationPreloadSubFrame,
#endif
ResourceTypeWebSocket = 254,
ResourceTypeUnknown = 255
};
enum NavigationType {
NavigationTypeLink,
NavigationTypeTyped,
NavigationTypeFormSubmitted,
NavigationTypeBackForward,
NavigationTypeReload,
NavigationTypeOther,
NavigationTypeRedirect,
};
ResourceType resourceType() const;
NavigationType navigationType() const;
QUrl requestUrl() const;
QUrl firstPartyUrl() const;
QUrl initiator() const;
QByteArray requestMethod() const;
bool changed() const;
void block(bool shouldBlock);
void redirect(const QUrl &url);
void setHttpHeader(const QByteArray &name, const QByteArray &value);
QHash<QByteArray, QByteArray> httpHeaders() const;
private:
friend class QtWebEngineCore::ContentBrowserClientQt;
friend class QtWebEngineCore::InterceptedRequest;
Q_DISABLE_COPY(QWebEngineUrlRequestInfo)
Q_DECLARE_PRIVATE(QWebEngineUrlRequestInfo)
void resetChanged();
QWebEngineUrlRequestInfo();
QWebEngineUrlRequestInfo(QWebEngineUrlRequestInfoPrivate *p);
QWebEngineUrlRequestInfo(QWebEngineUrlRequestInfo &&p);
QWebEngineUrlRequestInfo &operator=(QWebEngineUrlRequestInfo &&p);
~QWebEngineUrlRequestInfo();
std::unique_ptr<QWebEngineUrlRequestInfoPrivate> d_ptr;
};
QT_END_NAMESPACE
#endif // QWEBENGINEURLREQUESTINFO_H
|