File indexing completed on 2024-05-19 05:01:23
0001 /* 0002 This file is part of the KDE project. 0003 0004 SPDX-FileCopyrightText: 2021 Anthony Fieroni <bvbfan@abv.bg> 0005 0006 SPDX-License-Identifier: LGPL-2.1-or-later 0007 */ 0008 0009 #include "settings/webenginesettings.h" 0010 #include "webengineurlrequestinterceptor.h" 0011 #include "webenginepartcontrols.h" 0012 #include "navigationrecorder.h" 0013 0014 WebEngineUrlRequestInterceptor::WebEngineUrlRequestInterceptor(QObject* parent) : 0015 QWebEngineUrlRequestInterceptor(parent) 0016 { 0017 } 0018 0019 void WebEngineUrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info) 0020 { 0021 if (info.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeImage) { 0022 if (info.requestUrl().scheme() == QLatin1String("http") && info.firstPartyUrl().scheme() == QLatin1String("https")) { 0023 info.block(true); 0024 return; 0025 } 0026 info.block(WebEngineSettings::self()->isAdFiltered(info.requestUrl().url())); 0027 } 0028 if (info.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame) { 0029 WebEnginePartControls::self()->navigationRecorder()->recordRequestDetails(info); 0030 } 0031 }