107 lines
3.1 KiB
C++
107 lines
3.1 KiB
C++
// For license of this file, see <project-root-folder>/LICENSE.md.
|
|
|
|
#include "network-web/adblock/adblockrequestinfo.h"
|
|
|
|
#include "definitions/definitions.h"
|
|
|
|
#if defined(NO_LITE)
|
|
AdblockRequestInfo::AdblockRequestInfo(const QWebEngineUrlRequestInfo& webengine_info) {
|
|
initialize(webengine_info);
|
|
}
|
|
#endif
|
|
|
|
AdblockRequestInfo::AdblockRequestInfo(const QUrl& url) {
|
|
initialize(url);
|
|
}
|
|
|
|
QString AdblockRequestInfo::resourceType() const {
|
|
return m_resourceType;
|
|
}
|
|
|
|
void AdblockRequestInfo::setResourceType(const QString& resource_type) {
|
|
m_resourceType = resource_type;
|
|
}
|
|
|
|
QUrl AdblockRequestInfo::requestUrl() const {
|
|
return m_requestUrl;
|
|
}
|
|
|
|
void AdblockRequestInfo::setRequestUrl(const QUrl& request_url) {
|
|
m_requestUrl = request_url;
|
|
}
|
|
|
|
QUrl AdblockRequestInfo::firstPartyUrl() const {
|
|
return m_firstPartyUrl;
|
|
}
|
|
|
|
void AdblockRequestInfo::setFirstPartyUrl(const QUrl& first_party_url) {
|
|
m_firstPartyUrl = first_party_url;
|
|
}
|
|
|
|
QByteArray AdblockRequestInfo::requestMethod() const {
|
|
return m_requestMethod;
|
|
}
|
|
|
|
void AdblockRequestInfo::setRequestMethod(const QByteArray& request_method) {
|
|
m_requestMethod = request_method;
|
|
}
|
|
|
|
#if defined(NO_LITE)
|
|
void AdblockRequestInfo::initialize(const QWebEngineUrlRequestInfo& webengine_info) {
|
|
setFirstPartyUrl(webengine_info.firstPartyUrl());
|
|
setRequestMethod(webengine_info.requestMethod());
|
|
setRequestUrl(webengine_info.requestUrl());
|
|
setResourceType(convertResourceType(webengine_info.resourceType()));
|
|
}
|
|
|
|
QString AdblockRequestInfo::convertResourceType(QWebEngineUrlRequestInfo::ResourceType rt) const {
|
|
switch (rt) {
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeStylesheet:
|
|
return QSL("stylesheet");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeScript:
|
|
return QSL("script");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeImage:
|
|
return QSL("image");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeFontResource:
|
|
return QSL("object");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeSubResource:
|
|
return QSL("object");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeObject:
|
|
return QSL("object");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeMedia:
|
|
return QSL("image");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeFavicon:
|
|
return QSL("image");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeXhr:
|
|
return QSL("xmlhttprequest");
|
|
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeSubFrame:
|
|
case QWebEngineUrlRequestInfo::ResourceType::ResourceTypeMainFrame:
|
|
return QSL("main_frame");
|
|
|
|
default:
|
|
return {};
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
void AdblockRequestInfo::initialize(const QUrl& url) {
|
|
setFirstPartyUrl(url);
|
|
setRequestMethod(QSL("GET").toLocal8Bit());
|
|
setRequestUrl(url);
|
|
|
|
#if defined(NO_LITE)
|
|
setResourceType(convertResourceType(QWebEngineUrlRequestInfo::ResourceType::ResourceTypeMainFrame));
|
|
#else
|
|
setResourceType(QSL("main_frame"));
|
|
#endif
|
|
}
|