From 349d11dd83578b5baeec87e41c71f612e5bd21b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Thu, 1 Mar 2018 14:32:48 +0100 Subject: Move quota and registerProtocolHandler permission classes to core - Move QWebEngineQuotaPermissionRequest and QWebEngineRegisterProtocolHandlerPermissionRequest to QtWebEngineCore. - Delete QQuickWebEngineQuotaPermissionRequest and QQuickWebEngineRegisterProtocolHandlerPermissionRequest. Miscellaneous cleanup: - Mark QWebEngineQuotaPermissionRequest constructors as internal for QDoc. - Remove superfluous Q_DECLARE_METATYPEs (implied by Q_GADGET). - Remove Q_UNREACHABLE from default constructor. For some reason QML seems to default construct an unused temporary object before throwing it away and copy constructing the actual object. This triggers Q_UNREACHABLE. Change-Id: Icf9f4e34996e4c64aec65b734bcb3bbd22b4dc51 Reviewed-by: Kai Koehne --- src/webenginewidgets/api/qwebenginepage.cpp | 3 + .../api/qwebenginequotapermissionrequest.cpp | 105 ------------------- .../api/qwebenginequotapermissionrequest.h | 73 ------------- ...ineregisterprotocolhandlerpermissionrequest.cpp | 115 --------------------- ...ngineregisterprotocolhandlerpermissionrequest.h | 73 ------------- 5 files changed, 3 insertions(+), 366 deletions(-) delete mode 100644 src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp delete mode 100644 src/webenginewidgets/api/qwebenginequotapermissionrequest.h delete mode 100644 src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.cpp delete mode 100644 src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.h (limited to 'src/webenginewidgets/api') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index f475d660a..6017fe078 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -235,6 +235,9 @@ QWebEnginePagePrivate::QWebEnginePagePrivate(QWebEngineProfile *_profile) #endif { memset(actions, 0, sizeof(actions)); + + qRegisterMetaType(); + qRegisterMetaType(); } QWebEnginePagePrivate::~QWebEnginePagePrivate() diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp b/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp deleted file mode 100644 index f8f987e2c..000000000 --- a/src/webenginewidgets/api/qwebenginequotapermissionrequest.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://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.LGPL3 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-3.0.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 (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qwebenginequotapermissionrequest.h" - -#include "quota_permission_controller.h" - -QT_BEGIN_NAMESPACE - -/*! - \class QWebEngineQuotaPermissionRequest - \brief The QWebEngineQuotaPermissionRequest class enables accepting or rejecting - requests for larger persistent storage than the application's current allocation - in File System API. - - \since 5.11 - - \inmodule QtWebEngineWidgets -*/ - -static void registerMetaTypes() -{ - qRegisterMetaType(); -} - -Q_CONSTRUCTOR_FUNCTION(registerMetaTypes) - -QWebEngineQuotaPermissionRequest::QWebEngineQuotaPermissionRequest(QSharedPointer controller) - : d_ptr(controller) -{ -} - -/*! - Rejects a request for larger persistent storage. -*/ -void QWebEngineQuotaPermissionRequest::reject() -{ - d_ptr->reject(); -} - -/*! - Accepts a request for larger persistent storage. -*/ -void QWebEngineQuotaPermissionRequest::accept() -{ - d_ptr->accept(); -} - -/*! - \property QWebEngineQuotaPermissionRequest::origin - \brief The URL of the web page that issued the quota permission request. -*/ - -QUrl QWebEngineQuotaPermissionRequest::origin() const -{ - return d_ptr->origin(); -} - -/*! - \property QWebEngineQuotaPermissionRequest::requestedSize - \brief Contains the size of the requested disk space in bytes. -*/ - -qint64 QWebEngineQuotaPermissionRequest::requestedSize() const -{ - return d_ptr->requestedSize(); -} - -QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebenginequotapermissionrequest.h b/src/webenginewidgets/api/qwebenginequotapermissionrequest.h deleted file mode 100644 index ed6e9edc3..000000000 --- a/src/webenginewidgets/api/qwebenginequotapermissionrequest.h +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://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.LGPL3 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-3.0.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 (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWEBENGINEQUOTAPERMISSIONREQUEST_H -#define QWEBENGINEQUOTAPERMISSIONREQUEST_H - -#include -#include -#include - -namespace QtWebEngineCore { - class QuotaPermissionController; -} - -QT_BEGIN_NAMESPACE - -class QWEBENGINEWIDGETS_EXPORT QWebEngineQuotaPermissionRequest { - Q_GADGET - Q_PROPERTY(QUrl origin READ origin CONSTANT FINAL) - Q_PROPERTY(qint64 requestedSize READ requestedSize CONSTANT FINAL) -public: - explicit QWebEngineQuotaPermissionRequest() { Q_UNREACHABLE(); } - explicit QWebEngineQuotaPermissionRequest(QSharedPointer controller); - Q_INVOKABLE void accept(); - Q_INVOKABLE void reject(); - QUrl origin() const; - qint64 requestedSize() const; - -private: - QSharedPointer d_ptr; -}; - -QT_END_NAMESPACE - -Q_DECLARE_METATYPE(QWebEngineQuotaPermissionRequest) - -#endif // QWEBENGINEQUOTAPERMISSIONREQUEST_H diff --git a/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.cpp b/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.cpp deleted file mode 100644 index ad1398daf..000000000 --- a/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://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.LGPL3 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-3.0.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 (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qwebengineregisterprotocolhandlerpermissionrequest.h" - -#include "register_protocol_handler_permission_controller.h" - -QT_BEGIN_NAMESPACE - -/*! - \class QWebEngineRegisterProtocolHandlerPermissionRequest - \inmodule QtWebEngineWidgets - \since 5.11 - \brief The QWebEngineRegisterProtocolHandlerPermissionRequest type enables - accepting or rejecting requests from the \l registerProtocolHandler API. - - \sa QWebEnginePage::registerProtocolHandlerPermissionRequested -*/ - -static void registerMetaTypes() -{ - qRegisterMetaType(); -} - -Q_CONSTRUCTOR_FUNCTION(registerMetaTypes) - -/*! \fn QWebEngineRegisterProtocolHandlerPermissionRequest::QWebEngineRegisterProtocolHandlerPermissionRequest() - \internal -*/ - -/*! \internal */ -QWebEngineRegisterProtocolHandlerPermissionRequest::QWebEngineRegisterProtocolHandlerPermissionRequest( - QSharedPointer d_ptr) - : d_ptr(std::move(d_ptr)) -{} - -/*! - Rejects the request. - - Subsequent calls to accept() and reject() are ignored. -*/ -void QWebEngineRegisterProtocolHandlerPermissionRequest::reject() -{ - d_ptr->reject(); -} - -/*! - Accepts the request - - Subsequent calls to accept() and reject() are ignored. -*/ -void QWebEngineRegisterProtocolHandlerPermissionRequest::accept() -{ - d_ptr->accept(); -} - -/*! - \property QWebEngineRegisterProtocolHandlerPermissionRequest::origin - \brief The URL template for the protocol handler. - - This is the second parameter from the \l registerProtocolHandler call. -*/ -QUrl QWebEngineRegisterProtocolHandlerPermissionRequest::origin() const -{ - return d_ptr->origin(); -} - -/*! - \property QWebEngineRegisterProtocolHandlerPermissionRequest::protocol - \brief The URL scheme for the protocol handler. - - This is the first parameter from the \l registerProtocolHandler call. -*/ -QString QWebEngineRegisterProtocolHandlerPermissionRequest::protocol() const -{ - return d_ptr->protocol(); -} - -QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.h b/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.h deleted file mode 100644 index 592eabb34..000000000 --- a/src/webenginewidgets/api/qwebengineregisterprotocolhandlerpermissionrequest.h +++ /dev/null @@ -1,73 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2018 The Qt Company Ltd. -** Contact: https://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 https://www.qt.io/terms-conditions. For further -** information use the contact form at https://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.LGPL3 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-3.0.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 (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWEBENGINEREGISTERPROTOCOLHANDLERPERMISSIONREQUEST_H -#define QWEBENGINEREGISTERPROTOCOLHANDLERPERMISSIONREQUEST_H - -#include -#include -#include - -namespace QtWebEngineCore { - class RegisterProtocolHandlerPermissionController; -} - -QT_BEGIN_NAMESPACE - -class QWEBENGINEWIDGETS_EXPORT QWebEngineRegisterProtocolHandlerPermissionRequest { - Q_GADGET - Q_PROPERTY(QUrl origin READ origin CONSTANT FINAL) - Q_PROPERTY(QString protocol READ protocol CONSTANT FINAL) -public: - QWebEngineRegisterProtocolHandlerPermissionRequest() {} - QWebEngineRegisterProtocolHandlerPermissionRequest( - QSharedPointer); - Q_INVOKABLE void accept(); - Q_INVOKABLE void reject(); - QUrl origin() const; - QString protocol() const; - -private: - QSharedPointer d_ptr; -}; - -QT_END_NAMESPACE -Q_DECLARE_METATYPE(QWebEngineRegisterProtocolHandlerPermissionRequest) - -#endif // QWEBENGINEREGISTERPROTOCOLHANDLERPERMISSIONREQUEST_H -- cgit v1.2.3