diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-10 13:08:05 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-09-10 13:08:05 +0200 |
commit | 81cbb264cb9446c4408124d50aeff50164ad0ab4 (patch) | |
tree | 6acc39b8ea0165562d480f1c54608c6c4ae9f865 /Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp | |
parent | beaeeb99881184fd368c121fcbb1a31c78b794a3 (diff) | |
parent | 5087e0ced43d813eb6f765913a6fc3958d2a7a9d (diff) | |
download | qtwebkit-81cbb264cb9446c4408124d50aeff50164ad0ab4.tar.gz |
Merge remote-tracking branch 'origin/5.212' into dev
Change-Id: I4e185b15690118515df80a79b786cbb8b30dd144
Diffstat (limited to 'Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp | 262 |
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" |