diff --git a/src/core/quota_permission_context_qt.cpp b/src/core/quota_permission_context_qt.cpp index 4e929344707e897c471baadc670d8a53905258a2..f00b2008a0a30e56c6bfe4767207a7f29ce9e66b 100644 --- a/src/core/quota_permission_context_qt.cpp +++ b/src/core/quota_permission_context_qt.cpp @@ -43,6 +43,7 @@ #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" #include "quota_request_controller_impl.h" +#include "qwebenginequotarequest.h" #include "web_contents_delegate_qt.h" #include "web_contents_view_qt.h" @@ -82,8 +83,9 @@ void QuotaPermissionContextQt::RequestQuotaPermission(const StorageQuotaParams & if (!client) return; - QSharedPointer<QuotaRequestController> request(new QuotaRequestControllerImpl(this, params, callback)); - client->runQuotaRequest(request); + QWebEngineQuotaRequest request( + QSharedPointer<QuotaRequestControllerImpl>::create(this, params, callback)); + client->runQuotaRequest(std::move(request)); } void QuotaPermissionContextQt::dispatchCallbackOnIOThread(const PermissionCallback &callback, diff --git a/src/core/quota_request_controller.h b/src/core/quota_request_controller.h index f5c7a3f0425c8fafc25a6652ec2117512d8d6dd1..0bb0cbff34c986d1d2a720bc1ae9d8ab896fdc0c 100644 --- a/src/core/quota_request_controller.h +++ b/src/core/quota_request_controller.h @@ -44,7 +44,7 @@ namespace QtWebEngineCore { -class QWEBENGINE_EXPORT QuotaRequestController : public RequestController { +class QuotaRequestController : public RequestController { public: QuotaRequestController(QUrl origin, qint64 requestedSize) : RequestController(std::move(origin)) diff --git a/src/core/register_protocol_handler_request_controller.h b/src/core/register_protocol_handler_request_controller.h index be60619f50120008928812d021c033036d2a1b22..2f9c9fc4975e5711ca474aead8bacf93d4d5f6d7 100644 --- a/src/core/register_protocol_handler_request_controller.h +++ b/src/core/register_protocol_handler_request_controller.h @@ -44,7 +44,7 @@ namespace QtWebEngineCore { -class QWEBENGINE_EXPORT RegisterProtocolHandlerRequestController : public RequestController { +class RegisterProtocolHandlerRequestController : public RequestController { public: RegisterProtocolHandlerRequestController(QUrl origin, QString scheme) : RequestController(std::move(origin)) diff --git a/src/core/request_controller.h b/src/core/request_controller.h index 83827a8886138466883f4c8480eb4bc3033865ec..5bd621282b82f533b168e3f8cd6b3d1e2f82a8e0 100644 --- a/src/core/request_controller.h +++ b/src/core/request_controller.h @@ -45,7 +45,7 @@ namespace QtWebEngineCore { -class QWEBENGINE_EXPORT RequestController { +class RequestController { public: RequestController(QUrl origin) : m_answered(false) diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h index ad9c240e201afb179539290dd22b01adbfd5f5b9..4c5133772d2de4da692447223b6366c915760e51 100644 --- a/src/core/web_contents_adapter_client.h +++ b/src/core/web_contents_adapter_client.h @@ -49,9 +49,11 @@ #include <QStringList> #include <QUrl> +QT_FORWARD_DECLARE_CLASS(CertificateErrorController) QT_FORWARD_DECLARE_CLASS(QKeyEvent) QT_FORWARD_DECLARE_CLASS(QVariant) -QT_FORWARD_DECLARE_CLASS(CertificateErrorController) +QT_FORWARD_DECLARE_CLASS(QWebEngineQuotaRequest) +QT_FORWARD_DECLARE_CLASS(QWebEngineRegisterProtocolHandlerRequest) namespace content { struct DropData; @@ -64,8 +66,6 @@ class BrowserContextAdapter; class ColorChooserController; class FilePickerController; class JavaScriptDialogController; -class QuotaRequestController; -class RegisterProtocolHandlerRequestController; class RenderWidgetHostViewQt; class RenderWidgetHostViewQtDelegate; class RenderWidgetHostViewQtDelegateClient; @@ -438,8 +438,8 @@ public: virtual void runGeolocationPermissionRequest(const QUrl &securityOrigin) = 0; virtual void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) = 0; virtual void runMouseLockPermissionRequest(const QUrl &securityOrigin) = 0; - virtual void runQuotaRequest(QSharedPointer<QuotaRequestController>) = 0; - virtual void runRegisterProtocolHandlerRequest(QSharedPointer<RegisterProtocolHandlerRequestController>) = 0; + virtual void runQuotaRequest(QWebEngineQuotaRequest) = 0; + virtual void runRegisterProtocolHandlerRequest(QWebEngineRegisterProtocolHandlerRequest) = 0; virtual WebEngineSettings *webEngineSettings() const = 0; RenderProcessTerminationStatus renderProcessExitStatus(int); virtual void renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode) = 0; diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index ab398ec440275d42da59f834a87431a6f30b5d4e..40fc0934de9420dac0af936f5cda1a80fbe8ff80 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -51,6 +51,8 @@ #include "file_picker_controller.h" #include "media_capture_devices_dispatcher.h" #include "net/network_delegate_qt.h" +#include "qwebengineregisterprotocolhandlerrequest.h" +#include "register_protocol_handler_request_controller_impl.h" #include "render_widget_host_view_qt.h" #include "type_conversion.h" #include "visited_links_manager_qt.h" @@ -58,7 +60,6 @@ #include "web_contents_adapter_p.h" #include "web_engine_context.h" #include "web_engine_settings.h" -#include "register_protocol_handler_request_controller_impl.h" #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" #include "components/web_cache/browser/web_cache_manager.h" @@ -638,9 +639,9 @@ void WebContentsDelegateQt::RegisterProtocolHandler(content::WebContents *webCon if (registry->SilentlyHandleRegisterHandlerRequest(handler)) return; - QSharedPointer<RegisterProtocolHandlerRequestController> controller( - new RegisterProtocolHandlerRequestControllerImpl(webContents, handler)); - m_viewClient->runRegisterProtocolHandlerRequest(std::move(controller)); + QWebEngineRegisterProtocolHandlerRequest request( + QSharedPointer<RegisterProtocolHandlerRequestControllerImpl>::create(webContents, handler)); + m_viewClient->runRegisterProtocolHandlerRequest(std::move(request)); } void WebContentsDelegateQt::UnregisterProtocolHandler(content::WebContents *webContents, const std::string &protocol, const GURL &url, bool) diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index eeb3157a2de87b4359e9b544c7145abf6cb6d5fb..8d5a30016d672edc2b4b3eb8edfe215a70394230 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -590,17 +590,15 @@ void QQuickWebEngineViewPrivate::runMouseLockPermissionRequest(const QUrl &secur adapter->grantMouseLockPermission(false); } -void QQuickWebEngineViewPrivate::runQuotaRequest(QSharedPointer<QtWebEngineCore::QuotaRequestController> controller) +void QQuickWebEngineViewPrivate::runQuotaRequest(QWebEngineQuotaRequest request) { Q_Q(QQuickWebEngineView); - QWebEngineQuotaRequest request(std::move(controller)); Q_EMIT q->quotaRequested(request); } -void QQuickWebEngineViewPrivate::runRegisterProtocolHandlerRequest(QSharedPointer<RegisterProtocolHandlerRequestController> controller) +void QQuickWebEngineViewPrivate::runRegisterProtocolHandlerRequest(QWebEngineRegisterProtocolHandlerRequest request) { Q_Q(QQuickWebEngineView); - QWebEngineRegisterProtocolHandlerRequest request(std::move(controller)); Q_EMIT q->registerProtocolHandlerRequested(request); } diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h index 1af46f917bf64b6bfb44b7c06fc541c847993b20..73607aa597a9cae474dc3fa49cc7d7068f491419 100644 --- a/src/webengine/api/qquickwebengineview_p_p.h +++ b/src/webengine/api/qquickwebengineview_p_p.h @@ -132,8 +132,8 @@ public: void authenticationRequired(QSharedPointer<QtWebEngineCore::AuthenticationDialogController>) override; void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) override; void runMouseLockPermissionRequest(const QUrl &securityOrigin) override; - void runQuotaRequest(QSharedPointer<QtWebEngineCore::QuotaRequestController>) override; - void runRegisterProtocolHandlerRequest(QSharedPointer<QtWebEngineCore::RegisterProtocolHandlerRequestController>) override; + void runQuotaRequest(QWebEngineQuotaRequest) override; + void runRegisterProtocolHandlerRequest(QWebEngineRegisterProtocolHandlerRequest) override; QObject *accessibilityParentObject() override; QtWebEngineCore::WebEngineSettings *webEngineSettings() const override; void allowCertificateError(const QSharedPointer<CertificateErrorController> &errorController) override; diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 5f0238dc09e528f52a62437b109001dacbaba8ca..a8a860f166a497e234e0ac976fe96f611e639efc 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -588,17 +588,15 @@ void QWebEnginePagePrivate::runMouseLockPermissionRequest(const QUrl &securityOr Q_EMIT q->featurePermissionRequested(securityOrigin, QWebEnginePage::MouseLock); } -void QWebEnginePagePrivate::runQuotaRequest(QSharedPointer<QtWebEngineCore::QuotaRequestController> controller) +void QWebEnginePagePrivate::runQuotaRequest(QWebEngineQuotaRequest request) { Q_Q(QWebEnginePage); - QWebEngineQuotaRequest request(controller); Q_EMIT q->quotaRequested(request); } -void QWebEnginePagePrivate::runRegisterProtocolHandlerRequest(QSharedPointer<RegisterProtocolHandlerRequestController> controller) +void QWebEnginePagePrivate::runRegisterProtocolHandlerRequest(QWebEngineRegisterProtocolHandlerRequest request) { Q_Q(QWebEnginePage); - QWebEngineRegisterProtocolHandlerRequest request(std::move(controller)); Q_EMIT q->registerProtocolHandlerRequested(request); } diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index fcd7a20392c757318ae782ca58f11a3c2d35962c..dc7d02b73007673939d07ddac6e19e4c930b3895 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -131,8 +131,8 @@ public: void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) override; void runGeolocationPermissionRequest(const QUrl &securityOrigin) override; void runMouseLockPermissionRequest(const QUrl &securityOrigin) override; - void runQuotaRequest(QSharedPointer<QtWebEngineCore::QuotaRequestController>) override; - void runRegisterProtocolHandlerRequest(QSharedPointer<QtWebEngineCore::RegisterProtocolHandlerRequestController>) override; + void runQuotaRequest(QWebEngineQuotaRequest) override; + void runRegisterProtocolHandlerRequest(QWebEngineRegisterProtocolHandlerRequest) override; QObject *accessibilityParentObject() override; QtWebEngineCore::WebEngineSettings *webEngineSettings() const override; void allowCertificateError(const QSharedPointer<CertificateErrorController> &controller) override;