summaryrefslogtreecommitdiffstats
path: root/src/core/quota_permission_controller.h
diff options
context:
space:
mode:
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