summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/api/qwebengineurlrequestjob.h3
-rw-r--r--src/core/api/qwebengineurlschemehandler.cpp18
-rw-r--r--src/core/api/qwebengineurlschemehandler.h6
-rw-r--r--src/core/api/qwebengineurlschemehandler_p.h19
-rw-r--r--src/core/browser_context_adapter.cpp7
-rw-r--r--src/core/browser_context_adapter.h8
-rw-r--r--src/core/core_gyp_generator.pro2
-rw-r--r--src/core/custom_protocol_handler.cpp2
-rw-r--r--src/core/custom_protocol_handler.h6
-rw-r--r--src/core/custom_url_scheme_handler.cpp63
-rw-r--r--src/core/custom_url_scheme_handler.h71
-rw-r--r--src/core/url_request_context_getter_qt.cpp6
-rw-r--r--src/core/url_request_custom_job.cpp8
-rw-r--r--src/core/url_request_custom_job.h6
-rw-r--r--src/webenginewidgets/api/qwebengineprofile.cpp14
-rw-r--r--src/webenginewidgets/api/qwebengineprofile_p.h2
16 files changed, 41 insertions, 200 deletions
diff --git a/src/core/api/qwebengineurlrequestjob.h b/src/core/api/qwebengineurlrequestjob.h
index 098d46c93..76e9b2c39 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 e14da6fb5..b2994847b 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 1ec32e46c..1b6a66706 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 dc4b272b3..d63666326 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 02fa207c9..345741847 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 0bca1bf8b..5272268f7 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 c1b8179e0..813626dc3 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 f140f98cf..fd1a4de41 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 225bb0567..94da28673 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 29791b555..000000000
--- 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 d866628de..000000000
--- 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 c9ebf7f3b..771a662b9 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 afdcecdfe..0a81d04a1 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 60a1d60b9..a994c467a 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 66cba9bc3..934084b6e 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 8ba64c438..7dcc76598 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