diff --git a/src/core/api/qwebengineurlrequestjob.h b/src/core/api/qwebengineurlrequestjob.h index 098d46c93c52d80aab1d8e96eb0673bd31380874..76e9b2c390a19f5a278617ad8ac6043d4665fb2d 100644 --- a/src/core/api/qwebengineurlrequestjob.h +++ b/src/core/api/qwebengineurlrequestjob.h @@ -55,6 +55,7 @@ #include <QtCore/qurl.h> namespace QtWebEngineCore { +class URLRequestCustomJob; class URLRequestCustomJobDelegate; } // namespace @@ -86,7 +87,7 @@ public: private: QWebEngineUrlRequestJob(QtWebEngineCore::URLRequestCustomJobDelegate *); - friend class QWebEngineUrlSchemeHandlerPrivate; + friend class QtWebEngineCore::URLRequestCustomJob; QtWebEngineCore::URLRequestCustomJobDelegate* d_ptr; }; diff --git a/src/core/api/qwebengineurlschemehandler.cpp b/src/core/api/qwebengineurlschemehandler.cpp index e14da6fb5cc9ad175f67742af76e0bfd20c7b81f..b2994847bc38024f5d237b33de3558a308413881 100644 --- a/src/core/api/qwebengineurlschemehandler.cpp +++ b/src/core/api/qwebengineurlschemehandler.cpp @@ -53,23 +53,11 @@ QT_BEGIN_NAMESPACE */ -QWebEngineUrlSchemeHandlerPrivate::QWebEngineUrlSchemeHandlerPrivate(const QByteArray &scheme, QWebEngineUrlSchemeHandler *q) - : CustomUrlSchemeHandler(scheme) - , q_ptr(q) +QWebEngineUrlSchemeHandlerPrivate::QWebEngineUrlSchemeHandlerPrivate(const QByteArray &scheme) + : m_scheme(scheme) { } -QWebEngineUrlSchemeHandlerPrivate::~QWebEngineUrlSchemeHandlerPrivate() -{ -} - -bool QWebEngineUrlSchemeHandlerPrivate::handleJob(QtWebEngineCore::URLRequestCustomJobDelegate *job) -{ - QWebEngineUrlRequestJob *requestJob = new QWebEngineUrlRequestJob(job); - q_ptr->requestStarted(requestJob); - return true; -} - /*! Constructs a new URL scheme handler. @@ -78,7 +66,7 @@ bool QWebEngineUrlSchemeHandlerPrivate::handleJob(QtWebEngineCore::URLRequestCus */ QWebEngineUrlSchemeHandler::QWebEngineUrlSchemeHandler(const QByteArray &scheme, QObject *parent) : QObject(parent) - , d_ptr(new QWebEngineUrlSchemeHandlerPrivate(scheme, this)) + , d_ptr(new QWebEngineUrlSchemeHandlerPrivate(scheme)) { } diff --git a/src/core/api/qwebengineurlschemehandler.h b/src/core/api/qwebengineurlschemehandler.h index 1ec32e46c9de83182d0974aac876aae34243eed7..1b6a66706513f15a75f10dc55e4973ae17e0de3e 100644 --- a/src/core/api/qwebengineurlschemehandler.h +++ b/src/core/api/qwebengineurlschemehandler.h @@ -42,6 +42,10 @@ #include <QtCore/qbytearray.h> #include <QtCore/qobject.h> +namespace QtWebEngineCore { +class URLRequestContextGetterQt; +} + QT_BEGIN_NAMESPACE class QWebEngineUrlRequestJob; @@ -63,8 +67,6 @@ Q_SIGNALS: private: Q_DISABLE_COPY(QWebEngineUrlSchemeHandler) Q_DECLARE_PRIVATE(QWebEngineUrlSchemeHandler) - friend class QWebEngineProfile; - friend class QQuickWebEngineProfile; QWebEngineUrlSchemeHandlerPrivate *d_ptr; }; diff --git a/src/core/api/qwebengineurlschemehandler_p.h b/src/core/api/qwebengineurlschemehandler_p.h index dc4b272b328895ae9c18e78ca7c9b0b5c96c81b9..d63666326d4a493df4882e798dac6ca6f8e3277a 100644 --- a/src/core/api/qwebengineurlschemehandler_p.h +++ b/src/core/api/qwebengineurlschemehandler_p.h @@ -48,27 +48,18 @@ // We mean it. // -#include "qwebengineurlschemehandler.h" - -#include "custom_url_scheme_handler.h" +#include <QtCore/qbytearray.h> QT_BEGIN_NAMESPACE -class QWebEngineProfile; -class QWebEngineUrlRequestJob; -class QWebEngineUrlSchemeHandler; - -class QWEBENGINE_EXPORT QWebEngineUrlSchemeHandlerPrivate : public QtWebEngineCore::CustomUrlSchemeHandler { +class QWEBENGINE_EXPORT QWebEngineUrlSchemeHandlerPrivate { public: - Q_DECLARE_PUBLIC(QWebEngineUrlSchemeHandler) - - QWebEngineUrlSchemeHandlerPrivate(const QByteArray &, QWebEngineUrlSchemeHandler *); - virtual ~QWebEngineUrlSchemeHandlerPrivate(); + QWebEngineUrlSchemeHandlerPrivate(const QByteArray &); - virtual bool handleJob(QtWebEngineCore::URLRequestCustomJobDelegate*) Q_DECL_OVERRIDE; + const QByteArray &scheme() const { return m_scheme; } private: - QWebEngineUrlSchemeHandler *q_ptr; + QByteArray m_scheme; }; QT_END_NAMESPACE diff --git a/src/core/browser_context_adapter.cpp b/src/core/browser_context_adapter.cpp index 02fa207c9b48d7961ad1583b3f383b50b280adc3..3457418475fa0854988890cd2dbedbfd2b92f0aa 100644 --- a/src/core/browser_context_adapter.cpp +++ b/src/core/browser_context_adapter.cpp @@ -354,7 +354,7 @@ void BrowserContextAdapter::setHttpCacheMaxSize(int maxSize) m_browserContext->url_request_getter_->updateHttpCache(); } -QVector<CustomUrlSchemeHandler*> &BrowserContextAdapter::customUrlSchemeHandlers() +QHash<QByteArray, QWebEngineUrlSchemeHandler *> &BrowserContextAdapter::customUrlSchemeHandlers() { return m_customUrlSchemeHandlers; } @@ -365,10 +365,9 @@ void BrowserContextAdapter::updateCustomUrlSchemeHandlers() m_browserContext->url_request_getter_->updateStorageSettings(); } -void BrowserContextAdapter::removeCustomUrlSchemeHandler(CustomUrlSchemeHandler *handler) +void BrowserContextAdapter::removeCustomUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler) { - m_customUrlSchemeHandlers.removeOne(handler); - Q_ASSERT(!m_customUrlSchemeHandlers.contains(handler)); + m_customUrlSchemeHandlers.remove(handler->scheme()); } UserScriptControllerHost *BrowserContextAdapter::userScriptController() diff --git a/src/core/browser_context_adapter.h b/src/core/browser_context_adapter.h index 0bca1bf8b0b40ed1bd2de577cdb852570b7b6877..5272268f7e9d427a039d817120750db155f9c858 100644 --- a/src/core/browser_context_adapter.h +++ b/src/core/browser_context_adapter.h @@ -48,6 +48,7 @@ #include "api/qwebenginecookiestoreclient.h" #include "api/qwebengineurlrequestinterceptor.h" +#include "api/qwebengineurlschemehandler.h" QT_FORWARD_DECLARE_CLASS(QObject) @@ -55,7 +56,6 @@ namespace QtWebEngineCore { class BrowserContextAdapterClient; class BrowserContextQt; -class CustomUrlSchemeHandler; class DownloadManagerDelegateQt; class UserScriptControllerHost; class WebEngineVisitedLinksManager; @@ -145,9 +145,9 @@ public: bool trackVisitedLinks() const; bool persistVisitedLinks() const; - QVector<CustomUrlSchemeHandler*> &customUrlSchemeHandlers(); + QHash<QByteArray, QWebEngineUrlSchemeHandler *> &customUrlSchemeHandlers(); void updateCustomUrlSchemeHandlers(); - void removeCustomUrlSchemeHandler(CustomUrlSchemeHandler*); + void removeCustomUrlSchemeHandler(QWebEngineUrlSchemeHandler *); UserScriptControllerHost *userScriptController(); void permissionRequestReply(const QUrl &origin, PermissionType type, bool reply); @@ -173,7 +173,7 @@ private: QString m_httpAcceptLanguage; PersistentCookiesPolicy m_persistentCookiesPolicy; VisitedLinksPolicy m_visitedLinksPolicy; - QVector<CustomUrlSchemeHandler*> m_customUrlSchemeHandlers; + QHash<QByteArray, QWebEngineUrlSchemeHandler *> m_customUrlSchemeHandlers; QList<BrowserContextAdapterClient*> m_clients; int m_httpCacheMaxSize; diff --git a/src/core/core_gyp_generator.pro b/src/core/core_gyp_generator.pro index c1b8179e0b94d3d6fd88cec75ce4d7be88dc7025..813626dc3dca6588c53b32c0306a8ae514562d1b 100644 --- a/src/core/core_gyp_generator.pro +++ b/src/core/core_gyp_generator.pro @@ -45,7 +45,6 @@ SOURCES = \ content_main_delegate_qt.cpp \ cookie_monster_delegate_qt.cpp \ custom_protocol_handler.cpp \ - custom_url_scheme_handler.cpp \ delegated_frame_node.cpp \ desktop_screen_qt.cpp \ dev_tools_http_handler_delegate_qt.cpp \ @@ -117,7 +116,6 @@ HEADERS = \ content_main_delegate_qt.h \ cookie_monster_delegate_qt.h \ custom_protocol_handler.h \ - custom_url_scheme_handler.h \ delegated_frame_node.h \ desktop_screen_qt.h \ dev_tools_http_handler_delegate_qt.h \ diff --git a/src/core/custom_protocol_handler.cpp b/src/core/custom_protocol_handler.cpp index f140f98cf141980ae5804aae939aaf434e6a7edb..fd1a4de41a539fb8ea35f8f136d3d28f8a733cd9 100644 --- a/src/core/custom_protocol_handler.cpp +++ b/src/core/custom_protocol_handler.cpp @@ -43,7 +43,7 @@ namespace QtWebEngineCore { -CustomProtocolHandler::CustomProtocolHandler(CustomUrlSchemeHandler *schemeHandler) +CustomProtocolHandler::CustomProtocolHandler(QWebEngineUrlSchemeHandler *schemeHandler) : m_schemeHandler(schemeHandler) { } diff --git a/src/core/custom_protocol_handler.h b/src/core/custom_protocol_handler.h index 225bb0567cca18f04c709e21d9675fb7843a6aab..94da286736d237f6216d586d53cb7ca756b03dc0 100644 --- a/src/core/custom_protocol_handler.h +++ b/src/core/custom_protocol_handler.h @@ -45,6 +45,7 @@ #include <QtCore/qcompilerdetection.h> // Needed for Q_DECL_OVERRIDE QT_FORWARD_DECLARE_CLASS(QIODevice) +QT_FORWARD_DECLARE_CLASS(QWebEngineUrlSchemeHandler) namespace net { class NetworkDelegate; @@ -54,20 +55,19 @@ class URLRequestJob; namespace QtWebEngineCore { class BrowserContextAdapter; -class CustomUrlSchemeHandler; // Implements a ProtocolHandler for custom URL schemes. // If |network_delegate_| is NULL then all file requests will fail with ERR_ACCESS_DENIED. class QWEBENGINE_EXPORT CustomProtocolHandler : public net::URLRequestJobFactory::ProtocolHandler { public: - CustomProtocolHandler(CustomUrlSchemeHandler *); + CustomProtocolHandler(QWebEngineUrlSchemeHandler *); virtual net::URLRequestJob *MaybeCreateJob(net::URLRequest *request, net::NetworkDelegate *networkDelegate) const Q_DECL_OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(CustomProtocolHandler); - CustomUrlSchemeHandler *m_schemeHandler; + QWebEngineUrlSchemeHandler *m_schemeHandler; }; } // namespace diff --git a/src/core/custom_url_scheme_handler.cpp b/src/core/custom_url_scheme_handler.cpp deleted file mode 100644 index 29791b55590e72b26000d2dc619422034d54fe2c..0000000000000000000000000000000000000000 --- a/src/core/custom_url_scheme_handler.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "custom_url_scheme_handler.h" -#include "custom_protocol_handler.h" - -namespace QtWebEngineCore { - -CustomUrlSchemeHandler::CustomUrlSchemeHandler(const QByteArray &scheme) - : m_scheme(scheme) -{ -} - -QByteArray CustomUrlSchemeHandler::scheme() const -{ - return m_scheme; -} - -void CustomUrlSchemeHandler::setScheme(const QByteArray &scheme) -{ - m_scheme = scheme; -} - -CustomProtocolHandler *CustomUrlSchemeHandler::createProtocolHandler() -{ - // Will be owned by the JobFactory. - return new CustomProtocolHandler(this); -} - -} // namespace diff --git a/src/core/custom_url_scheme_handler.h b/src/core/custom_url_scheme_handler.h deleted file mode 100644 index d866628dea73254e4551e822356085f938ee305d..0000000000000000000000000000000000000000 --- a/src/core/custom_url_scheme_handler.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef CUSTOM_URL_SCHEME_HANDLER_H_ -#define CUSTOM_URL_SCHEME_HANDLER_H_ - -#include "qtwebenginecoreglobal.h" - -#include <QtCore/QByteArray> -#include <QtCore/QScopedPointer> - -QT_FORWARD_DECLARE_CLASS(QIODevice) - -namespace QtWebEngineCore { - -class BrowserContextAdapter; -class CustomProtocolHandler; -class URLRequestCustomJobDelegate; - -class QWEBENGINE_EXPORT CustomUrlSchemeHandler { -public: - explicit CustomUrlSchemeHandler(const QByteArray &); - virtual ~CustomUrlSchemeHandler() { } - - QByteArray scheme() const; - void setScheme(const QByteArray &); - CustomProtocolHandler *createProtocolHandler(); - - virtual bool handleJob(URLRequestCustomJobDelegate*) = 0; - -private: - QByteArray m_scheme; -}; - - -} // namespace - -#endif // CUSTOM_URL_SCHEME_HANDLER_H_ diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp index c9ebf7f3b1a3f14f61075fce2acff0b1c4f1ab20..771a662b9bfc9a3d8b24a26a3e1c14418feb44a4 100644 --- a/src/core/url_request_context_getter_qt.cpp +++ b/src/core/url_request_context_getter_qt.cpp @@ -66,9 +66,9 @@ #include "net/url_request/ftp_protocol_handler.h" #include "net/ftp/ftp_network_layer.h" +#include "api/qwebengineurlschemehandler.h" #include "browser_context_adapter.h" #include "custom_protocol_handler.h" -#include "custom_url_scheme_handler.h" #include "cookie_monster_delegate_qt.h" #include "content_client_qt.h" #include "network_delegate_qt.h" @@ -350,8 +350,8 @@ void URLRequestContextGetterQt::generateJobFactory() m_jobFactory->SetProtocolHandler(url::kFtpScheme, new net::FtpProtocolHandler(new net::FtpNetworkLayer(m_urlRequestContext->host_resolver()))); - Q_FOREACH (CustomUrlSchemeHandler* handler, m_browserContext->customUrlSchemeHandlers()) { - m_jobFactory->SetProtocolHandler(handler->scheme().toStdString(), handler->createProtocolHandler()); + Q_FOREACH (QWebEngineUrlSchemeHandler *handler, m_browserContext->customUrlSchemeHandlers()) { + m_jobFactory->SetProtocolHandler(handler->scheme().toStdString(), new CustomProtocolHandler(handler)); } m_urlRequestContext->set_job_factory(m_jobFactory.get()); diff --git a/src/core/url_request_custom_job.cpp b/src/core/url_request_custom_job.cpp index afdcecdfe2b5a68f852b29063e86dff83bd7d24e..0a81d04a1a389874059cdd9d1d916f7e9836fe91 100644 --- a/src/core/url_request_custom_job.cpp +++ b/src/core/url_request_custom_job.cpp @@ -37,7 +37,8 @@ #include "url_request_custom_job.h" #include "url_request_custom_job_delegate.h" -#include "custom_url_scheme_handler.h" +#include "api/qwebengineurlrequestjob.h" +#include "api/qwebengineurlschemehandler.h" #include "type_conversion.h" #include "content/public/browser/browser_thread.h" @@ -53,7 +54,7 @@ using namespace net; namespace QtWebEngineCore { -URLRequestCustomJob::URLRequestCustomJob(URLRequest *request, NetworkDelegate *networkDelegate, CustomUrlSchemeHandler *schemeHandler) +URLRequestCustomJob::URLRequestCustomJob(URLRequest *request, NetworkDelegate *networkDelegate, QWebEngineUrlSchemeHandler *schemeHandler) : URLRequestJob(request, networkDelegate) , m_device(0) , m_schemeHandler(schemeHandler) @@ -236,7 +237,8 @@ void URLRequestCustomJob::startAsync() QMutexLocker lock(&m_mutex); m_delegate = new URLRequestCustomJobDelegate(this); lock.unlock(); - m_schemeHandler->handleJob(m_delegate); + QWebEngineUrlRequestJob *requestJob = new QWebEngineUrlRequestJob(m_delegate); + m_schemeHandler->requestStarted(requestJob); } } // namespace diff --git a/src/core/url_request_custom_job.h b/src/core/url_request_custom_job.h index 60a1d60b92a99fa321d606c4cc264bdecc6539ba..a994c467a5593a4be971d68bb760c4dfcf152f2a 100644 --- a/src/core/url_request_custom_job.h +++ b/src/core/url_request_custom_job.h @@ -45,16 +45,16 @@ #include <QtCore/QPointer> QT_FORWARD_DECLARE_CLASS(QIODevice) +QT_FORWARD_DECLARE_CLASS(QWebEngineUrlSchemeHandler) namespace QtWebEngineCore { -class CustomUrlSchemeHandler; class URLRequestCustomJobDelegate; // A request job that handles reading custom URL schemes class URLRequestCustomJob : public net::URLRequestJob { public: - URLRequestCustomJob(net::URLRequest *request, net::NetworkDelegate *networkDelegate, CustomUrlSchemeHandler *schemeHandler); + URLRequestCustomJob(net::URLRequest *request, net::NetworkDelegate *networkDelegate, QWebEngineUrlSchemeHandler *schemeHandler); virtual void Start() Q_DECL_OVERRIDE; virtual void Kill() Q_DECL_OVERRIDE; virtual bool ReadRawData(net::IOBuffer *buf, int bufSize, int *bytesRead) Q_DECL_OVERRIDE; @@ -81,7 +81,7 @@ private: QMutex m_mutex; QPointer<QIODevice> m_device; QPointer<URLRequestCustomJobDelegate> m_delegate; - CustomUrlSchemeHandler *m_schemeHandler; + QWebEngineUrlSchemeHandler *m_schemeHandler; std::string m_mimeType; std::string m_charset; int m_error; diff --git a/src/webenginewidgets/api/qwebengineprofile.cpp b/src/webenginewidgets/api/qwebengineprofile.cpp index 66cba9bc38fc317f4ee5239fb5126cbc9c9c9714..934084b6ec3a1215b467e03898775b4b9a60537a 100644 --- a/src/webenginewidgets/api/qwebengineprofile.cpp +++ b/src/webenginewidgets/api/qwebengineprofile.cpp @@ -42,7 +42,6 @@ #include "qwebenginepage.h" #include "qwebengineprofile_p.h" #include "qwebenginesettings.h" -#include "qwebengineurlschemehandler_p.h" #include "qwebenginescriptcollection_p.h" #include "browser_context_adapter.h" @@ -545,8 +544,8 @@ QWebEngineSettings *QWebEngineProfile::settings() const const QWebEngineUrlSchemeHandler *QWebEngineProfile::urlSchemeHandler(const QByteArray &scheme) const { const Q_D(QWebEngineProfile); - if (d->m_urlSchemeHandlers.contains(scheme)) - return d->m_urlSchemeHandlers.value(scheme); + if (d->browserContext()->customUrlSchemeHandlers().contains(scheme)) + return d->browserContext()->customUrlSchemeHandlers().value(scheme); return 0; } @@ -575,12 +574,11 @@ void QWebEngineProfile::installUrlSchemeHandler(QWebEngineUrlSchemeHandler *hand return; } - if (d->m_urlSchemeHandlers.contains(scheme)) { + if (d->browserContext()->customUrlSchemeHandlers().contains(scheme)) { qWarning() << "URL scheme handler already installed for the scheme: " << scheme; return; } - d->m_urlSchemeHandlers.insert(scheme, handler); - d->browserContext()->customUrlSchemeHandlers().append(handler->d_func()); + d->browserContext()->customUrlSchemeHandlers().insert(scheme, handler); d->browserContext()->updateCustomUrlSchemeHandlers(); connect(handler, SIGNAL(destroyed(QWebEngineUrlSchemeHandler*)), this, SLOT(destroyedUrlSchemeHandler(QWebEngineUrlSchemeHandler*))); } @@ -596,11 +594,10 @@ void QWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handl Q_ASSERT(handler); if (!handler) return; - int count = d->m_urlSchemeHandlers.remove(handler->scheme()); + int count = d->browserContext()->customUrlSchemeHandlers().remove(handler->scheme()); if (!count) return; disconnect(handler, SIGNAL(destroyed(QWebEngineUrlSchemeHandler*)), this, SLOT(destroyedUrlSchemeHandler(QWebEngineUrlSchemeHandler*))); - d->browserContext()->removeCustomUrlSchemeHandler(handler->d_func()); d->browserContext()->updateCustomUrlSchemeHandlers(); } @@ -612,7 +609,6 @@ void QWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handl void QWebEngineProfile::clearUrlSchemeHandlers() { Q_D(QWebEngineProfile); - d->m_urlSchemeHandlers.clear(); d->browserContext()->customUrlSchemeHandlers().clear(); d->browserContext()->updateCustomUrlSchemeHandlers(); } diff --git a/src/webenginewidgets/api/qwebengineprofile_p.h b/src/webenginewidgets/api/qwebengineprofile_p.h index 8ba64c43849c4e30f0fbd36411e5ea4f4d4bc668..7dcc76598ba810ecafefa2e3a8ef821d0a83276f 100644 --- a/src/webenginewidgets/api/qwebengineprofile_p.h +++ b/src/webenginewidgets/api/qwebengineprofile_p.h @@ -50,7 +50,6 @@ #include "browser_context_adapter_client.h" #include "qwebengineprofile.h" -#include "qwebengineurlschemehandler_p.h" #include "qwebenginescriptcollection.h" #include <QMap> #include <QPointer> @@ -85,7 +84,6 @@ private: QScopedPointer<QWebEngineScriptCollection> m_scriptCollection; QExplicitlySharedDataPointer<QtWebEngineCore::BrowserContextAdapter> m_browserContextRef; QMap<quint32, QPointer<QWebEngineDownloadItem> > m_ongoingDownloads; - QMap<QByteArray, QWebEngineUrlSchemeHandler *> m_urlSchemeHandlers; }; QT_END_NAMESPACE