summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp')
-rw-r--r--Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp262
1 files changed, 2 insertions, 260 deletions
diff --git a/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp b/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp
index 5043a170f..2cd5828a8 100644
--- a/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp
@@ -21,8 +21,7 @@
#include "config.h"
#include "QtDialogRunner.h"
-#include "WKRetainPtr.h"
-#include "WKStringQt.h"
+#include "DialogContextObjects.h"
#include "qquickwebview_p_p.h"
#include "qwebpermissionrequest_p.h"
#include <QtQml/QQmlComponent>
@@ -43,263 +42,6 @@ QtDialogRunner::~QtDialogRunner()
{
}
-// All dialogs need a way to support the state of the
-// dialog being done/finished/dismissed. This is handled
-// in the dialog base context.
-class DialogContextBase : public QObject {
- Q_OBJECT
-
-public:
- DialogContextBase()
- : QObject()
- , m_dismissed(false)
- {
- }
-
-public Q_SLOTS:
- // Allows clients to call dismiss() directly, while also
- // being able to hook up signals to automatically also
- // dismiss the dialog since it's a slot.
-
- void dismiss()
- {
- m_dismissed = true;
- emit dismissed();
- }
-
-Q_SIGNALS:
- void dismissed();
-
-private:
- // We store the dismissed state so that run() can check to see if a
- // dialog has already been dismissed before spinning an event loop.
- bool m_dismissed;
- friend void QtDialogRunner::run();
-};
-
-class DialogContextObject : public DialogContextBase {
- Q_OBJECT
- Q_PROPERTY(QString message READ message CONSTANT)
- Q_PROPERTY(QString defaultValue READ defaultValue CONSTANT)
-
-public:
- DialogContextObject(const QString& message, const QString& defaultValue = QString())
- : DialogContextBase()
- , m_message(message)
- , m_defaultValue(defaultValue)
- {
- connect(this, SIGNAL(accepted(QString)), SLOT(dismiss()));
- connect(this, SIGNAL(rejected()), SLOT(dismiss()));
- }
- QString message() const { return m_message; }
- QString defaultValue() const { return m_defaultValue; }
-
-public Q_SLOTS:
- void accept(const QString& result = QString()) { emit accepted(result); }
- void reject() { emit rejected(); }
-
-Q_SIGNALS:
- void accepted(const QString& result);
- void rejected();
-
-private:
- QString m_message;
- QString m_defaultValue;
-};
-
-class BaseAuthenticationContextObject : public DialogContextBase {
- Q_OBJECT
- Q_PROPERTY(QString hostname READ hostname CONSTANT)
- Q_PROPERTY(QString prefilledUsername READ prefilledUsername CONSTANT)
-
-public:
- BaseAuthenticationContextObject(const QString& hostname, const QString& prefilledUsername)
- : DialogContextBase()
- , m_hostname(hostname)
- , m_prefilledUsername(prefilledUsername)
- {
- connect(this, SIGNAL(accepted(QString, QString)), SLOT(dismiss()));
- connect(this, SIGNAL(rejected()), SLOT(dismiss()));
- }
-
- QString hostname() const { return m_hostname; }
- QString prefilledUsername() const { return m_prefilledUsername; }
-
-public Q_SLOTS:
- void accept(const QString& username, const QString& password) { emit accepted(username, password); }
- void reject() { emit rejected(); }
-
-Q_SIGNALS:
- void accepted(const QString& username, const QString& password);
- void rejected();
-
-private:
- QString m_hostname;
- QString m_prefilledUsername;
-};
-
-class HttpAuthenticationDialogContextObject : public BaseAuthenticationContextObject {
- Q_OBJECT
- Q_PROPERTY(QString realm READ realm CONSTANT)
-
-public:
- HttpAuthenticationDialogContextObject(const QString& hostname, const QString& realm, const QString& prefilledUsername)
- : BaseAuthenticationContextObject(hostname, prefilledUsername)
- , m_realm(realm)
- {
- }
-
- QString realm() const { return m_realm; }
-
-private:
- QString m_realm;
-};
-
-class ProxyAuthenticationDialogContextObject : public BaseAuthenticationContextObject {
- Q_OBJECT
- Q_PROPERTY(quint16 port READ port CONSTANT)
-
-public:
- ProxyAuthenticationDialogContextObject(const QString& hostname, quint16 port, const QString& prefilledUsername)
- : BaseAuthenticationContextObject(hostname, prefilledUsername)
- , m_port(port)
- {
- }
-
- quint16 port() const { return m_port; }
-
-private:
- quint16 m_port;
-};
-
-class CertificateVerificationDialogContextObject : public DialogContextBase {
- Q_OBJECT
- Q_PROPERTY(QString hostname READ hostname CONSTANT)
-
-public:
- CertificateVerificationDialogContextObject(const QString& hostname)
- : DialogContextBase()
- , m_hostname(hostname)
- {
- connect(this, SIGNAL(accepted()), SLOT(dismiss()));
- connect(this, SIGNAL(rejected()), SLOT(dismiss()));
- }
-
- QString hostname() const { return m_hostname; }
-
-public Q_SLOTS:
- void accept() { emit accepted(); }
- void reject() { emit rejected(); }
-
-Q_SIGNALS:
- void accepted();
- void rejected();
-
-private:
- QString m_hostname;
-};
-
-class FilePickerContextObject : public DialogContextBase {
- Q_OBJECT
- Q_PROPERTY(QStringList fileList READ fileList CONSTANT)
- Q_PROPERTY(bool allowMultipleFiles READ allowMultipleFiles CONSTANT)
-
-public:
- FilePickerContextObject(const QStringList& selectedFiles, bool allowMultiple)
- : DialogContextBase()
- , m_allowMultiple(allowMultiple)
- , m_fileList(selectedFiles)
- {
- connect(this, SIGNAL(fileSelected(QStringList)), SLOT(dismiss()));
- connect(this, SIGNAL(rejected()), SLOT(dismiss()));
- }
-
- QStringList fileList() const { return m_fileList; }
- bool allowMultipleFiles() const { return m_allowMultiple;}
-
-public Q_SLOTS:
- void reject() { emit rejected();}
- void accept(const QVariant& path)
- {
- QStringList filesPath = path.toStringList();
-
- if (filesPath.isEmpty()) {
- emit rejected();
- return;
- }
-
- // For single file upload, send only the first element if there are more than one file paths
- if (!m_allowMultiple && filesPath.count() > 1)
- filesPath = QStringList(filesPath.at(0));
- emit fileSelected(filesPath);
- }
-
-Q_SIGNALS:
- void rejected();
- void fileSelected(const QStringList&);
-
-private:
- bool m_allowMultiple;
- QStringList m_fileList;
-};
-
-class DatabaseQuotaDialogContextObject : public DialogContextBase {
- Q_OBJECT
- Q_PROPERTY(QString databaseName READ databaseName CONSTANT)
- Q_PROPERTY(QString displayName READ displayName CONSTANT)
- Q_PROPERTY(quint64 currentQuota READ currentQuota CONSTANT)
- Q_PROPERTY(quint64 currentOriginUsage READ currentOriginUsage CONSTANT)
- Q_PROPERTY(quint64 currentDatabaseUsage READ currentDatabaseUsage CONSTANT)
- Q_PROPERTY(quint64 expectedUsage READ expectedUsage CONSTANT)
- Q_PROPERTY(QtWebSecurityOrigin* origin READ securityOrigin CONSTANT)
-
-public:
- DatabaseQuotaDialogContextObject(const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
- : DialogContextBase()
- , m_databaseName(databaseName)
- , m_displayName(displayName)
- , m_currentQuota(currentQuota)
- , m_currentOriginUsage(currentOriginUsage)
- , m_currentDatabaseUsage(currentDatabaseUsage)
- , m_expectedUsage(expectedUsage)
- {
- WKRetainPtr<WKStringRef> scheme = adoptWK(WKSecurityOriginCopyProtocol(securityOrigin));
- WKRetainPtr<WKStringRef> host = adoptWK(WKSecurityOriginCopyHost(securityOrigin));
-
- m_securityOrigin.setScheme(WKStringCopyQString(scheme.get()));
- m_securityOrigin.setHost(WKStringCopyQString(host.get()));
- m_securityOrigin.setPort(static_cast<int>(WKSecurityOriginGetPort(securityOrigin)));
-
- connect(this, SIGNAL(accepted(quint64)), SLOT(dismiss()));
- connect(this, SIGNAL(rejected()), SLOT(dismiss()));
- }
-
- QString databaseName() const { return m_databaseName; }
- QString displayName() const { return m_displayName; }
- quint64 currentQuota() const { return m_currentQuota; }
- quint64 currentOriginUsage() const { return m_currentOriginUsage; }
- quint64 currentDatabaseUsage() const { return m_currentDatabaseUsage; }
- quint64 expectedUsage() const { return m_expectedUsage; }
- QtWebSecurityOrigin* securityOrigin() { return &m_securityOrigin; }
-
-public Q_SLOTS:
- void accept(quint64 size) { emit accepted(size); }
- void reject() { emit rejected(); }
-
-Q_SIGNALS:
- void accepted(quint64 size);
- void rejected();
-
-private:
- QString m_databaseName;
- QString m_displayName;
- quint64 m_currentQuota;
- quint64 m_currentOriginUsage;
- quint64 m_currentDatabaseUsage;
- quint64 m_expectedUsage;
- QtWebSecurityOrigin m_securityOrigin;
-};
-
void QtDialogRunner::run()
{
DialogContextBase* context = static_cast<DialogContextBase*>(m_dialogContext->contextObject());
@@ -476,5 +218,5 @@ void QtDialogRunner::onDatabaseQuotaAccepted(quint64 quota)
} // namespace WebKit
-#include "QtDialogRunner.moc"
+#include "moc_DialogContextObjects.cpp"
#include "moc_QtDialogRunner.cpp"