summaryrefslogtreecommitdiffstats
path: root/src/core/quota_permission_controller.h
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2018-01-15 17:30:50 +0100
committerJüri Valdmann <juri.valdmann@qt.io>2018-02-13 08:17:53 +0000
commit6a6fd71af52bcbffc4fccf58e1f35b7612d16a2a (patch)
tree33a1f8c5da9e8067cae50d103d85d6b6ddee160a /src/core/quota_permission_controller.h
parent60f2cfe39ab2822bcc3b86453d8b05cc76d56961 (diff)
QuotaPermissionController: Use implementation subclass
Try to separate quota-unrelated bookkeeping from quota-specific glue code. Task-number: QTBUG-62783 Change-Id: I0c7c3fd554a4b3a195a99ff4034f158f2547eecb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/quota_permission_controller.h')
-rw-r--r--src/core/quota_permission_controller.h39
1 files changed, 28 insertions, 11 deletions
diff --git a/src/core/quota_permission_controller.h b/src/core/quota_permission_controller.h
index e584d7b52..cdd5e226a 100644
--- a/src/core/quota_permission_controller.h
+++ b/src/core/quota_permission_controller.h
@@ -41,28 +41,45 @@
#define QUOTA_PERMISSION_CONTROLLER_H
#include "qtwebenginecoreglobal.h"
-#include <QtCore/qscopedpointer.h>
#include <QtCore/qurl.h>
namespace QtWebEngineCore {
-class QuotaPermissionContextQt;
-class QuotaPermissionControllerPrivate;
-
class QWEBENGINE_EXPORT QuotaPermissionController {
public:
- QuotaPermissionController(QuotaPermissionControllerPrivate *controllerPrivate);
- ~QuotaPermissionController();
+ QuotaPermissionController(QUrl origin, qint64 requestedSize)
+ : m_answered(false)
+ , m_origin(std::move(origin))
+ , m_requestedSize(requestedSize)
+ {}
+
+ QUrl origin() const { return m_origin; }
+ qint64 requestedSize() const { return m_requestedSize; }
+
+ void accept() {
+ if (!m_answered) {
+ m_answered = true;
+ accepted();
+ }
+ }
+
+ void reject() {
+ if (!m_answered) {
+ m_answered = true;
+ rejected();
+ }
+ }
- void accept();
- void reject();
+ virtual ~QuotaPermissionController() {}
- QUrl origin();
- qint64 requestedSize();
+protected:
+ virtual void accepted() = 0;
+ virtual void rejected() = 0;
private:
- QScopedPointer<QuotaPermissionControllerPrivate> d;
bool m_answered;
+ QUrl m_origin;
+ qint64 m_requestedSize;
};
} // namespace QtWebEngineCore