Diff
Modified: trunk/Source/WebKit2/ChangeLog (111720 => 111721)
--- trunk/Source/WebKit2/ChangeLog 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/ChangeLog 2012-03-22 17:22:38 UTC (rev 111721)
@@ -1,3 +1,25 @@
+2012-03-22 Alexander Færøy <[email protected]>
+
+ [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
+ https://bugs.webkit.org/show_bug.cgi?id=81910
+
+ Reviewed by Simon Hausmann.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::exceededDatabaseQuota):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate):
+ * UIProcess/qt/QtDialogRunner.cpp:
+ (DatabaseQuotaDialogContextObject):
+ (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
+ (DatabaseQuotaDialogContextObject::securityOrigin):
+ (QtDialogRunner::initForDatabaseQuotaDialog):
+ * UIProcess/qt/QtDialogRunner.h:
+ (QtDialogRunner):
+ * UIProcess/qt/QtWebPageUIClient.cpp:
+ (QtWebPageUIClient::exceededDatabaseQuota):
+ * UIProcess/qt/QtWebPageUIClient.h:
+
2012-03-22 Jocelyn Turcotte <[email protected]>
[Qt] Don't resume the suspended page if the user is continuously flicking.
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-22 17:22:38 UTC (rev 111721)
@@ -399,14 +399,14 @@
}
-quint64 QQuickWebViewPrivate::exceededDatabaseQuota(const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
+quint64 QQuickWebViewPrivate::exceededDatabaseQuota(const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
{
if (!databaseQuotaDialog)
return 0;
Q_Q(QQuickWebView);
QtDialogRunner dialogRunner;
- if (!dialogRunner.initForDatabaseQuotaDialog(databaseQuotaDialog, q, databaseName, displayName, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage))
+ if (!dialogRunner.initForDatabaseQuotaDialog(databaseQuotaDialog, q, databaseName, displayName, securityOrigin, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage))
return 0;
execDialogRunner(dialogRunner);
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-22 17:22:38 UTC (rev 111721)
@@ -96,7 +96,7 @@
void _q_onIconChangedForPageURL(const QUrl& pageURL, const QUrl& iconURLString);
void chooseFiles(WKOpenPanelResultListenerRef, const QStringList& selectedFileNames, QtWebPageUIClient::FileChooserType);
- quint64 exceededDatabaseQuota(const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
+ quint64 exceededDatabaseQuota(const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
void runJavaScriptAlert(const QString&);
bool runJavaScriptConfirm(const QString&);
QString runJavaScriptPrompt(const QString&, const QString& defaultValue, bool& ok);
Modified: trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.cpp 2012-03-22 17:22:38 UTC (rev 111721)
@@ -20,6 +20,9 @@
#include "config.h"
#include "QtDialogRunner.h"
+#include "WKRetainPtr.h"
+#include "WKStringQt.h"
+#include "qwebpermissionrequest_p.h"
#include <QtDeclarative/QDeclarativeComponent>
#include <QtDeclarative/QDeclarativeContext>
@@ -190,9 +193,10 @@
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, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
+ DatabaseQuotaDialogContextObject(const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
: QObject()
, m_databaseName(databaseName)
, m_displayName(displayName)
@@ -201,6 +205,12 @@
, 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)));
}
QString databaseName() const { return m_databaseName; }
@@ -209,6 +219,7 @@
quint64 currentOriginUsage() const { return m_currentOriginUsage; }
quint64 currentDatabaseUsage() const { return m_currentDatabaseUsage; }
quint64 expectedUsage() const { return m_expectedUsage; }
+ QtWebSecurityOrigin* securityOrigin() { return &m_securityOrigin; }
public slots:
void accept(quint64 size) { emit accepted(size); }
@@ -225,6 +236,7 @@
quint64 m_currentOriginUsage;
quint64 m_currentDatabaseUsage;
quint64 m_expectedUsage;
+ QtWebSecurityOrigin m_securityOrigin;
};
bool QtDialogRunner::initForAlert(QDeclarativeComponent* component, QQuickItem* dialogParent, const QString& message)
@@ -313,9 +325,9 @@
return true;
}
-bool QtDialogRunner::initForDatabaseQuotaDialog(QDeclarativeComponent* component, QQuickItem* dialogParent, const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
+bool QtDialogRunner::initForDatabaseQuotaDialog(QDeclarativeComponent* component, QQuickItem* dialogParent, const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
{
- DatabaseQuotaDialogContextObject* contextObject = new DatabaseQuotaDialogContextObject(databaseName, displayName, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
+ DatabaseQuotaDialogContextObject* contextObject = new DatabaseQuotaDialogContextObject(databaseName, displayName, securityOrigin, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
if (!createDialog(component, dialogParent, contextObject))
return false;
Modified: trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.h (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.h 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/qt/QtDialogRunner.h 2012-03-22 17:22:38 UTC (rev 111721)
@@ -21,6 +21,7 @@
#ifndef QtDialogRunner_h
#define QtDialogRunner_h
+#include "WKSecurityOrigin.h"
#include <QtCore/QEventLoop>
#include <QtCore/QStringList>
#include <wtf/OwnPtr.h>
@@ -43,7 +44,7 @@
bool initForCertificateVerification(QDeclarativeComponent*, QQuickItem*, const QString& hostname);
bool initForProxyAuthentication(QDeclarativeComponent*, QQuickItem*, const QString& hostname, uint16_t port, const QString& prefilledUsername);
bool initForFilePicker(QDeclarativeComponent*, QQuickItem*, const QStringList& selectedFiles);
- bool initForDatabaseQuotaDialog(QDeclarativeComponent*, QQuickItem*, const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
+ bool initForDatabaseQuotaDialog(QDeclarativeComponent*, QQuickItem*, const QString& databaseName, const QString& displayName, WKSecurityOriginRef, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
QQuickItem* dialog() const { return m_dialog.get(); }
Modified: trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.cpp (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.cpp 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.cpp 2012-03-22 17:22:38 UTC (rev 111721)
@@ -48,9 +48,9 @@
WKPageSetPageUIClient(pageRef, &uiClient);
}
-quint64 QtWebPageUIClient::exceededDatabaseQuota(const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
+quint64 QtWebPageUIClient::exceededDatabaseQuota(const QString& databaseName, const QString& displayName, WKSecurityOriginRef securityOrigin, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage)
{
- return m_webView->d_func()->exceededDatabaseQuota(databaseName, displayName, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
+ return m_webView->d_func()->exceededDatabaseQuota(databaseName, displayName, securityOrigin, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
}
void QtWebPageUIClient::runJavaScriptAlert(const QString& message)
@@ -94,11 +94,11 @@
return reinterpret_cast<QtWebPageUIClient*>(const_cast<void*>(clientInfo));
}
-unsigned long long QtWebPageUIClient::exceededDatabaseQuota(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef, WKStringRef databaseName, WKStringRef displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage, const void *clientInfo)
+unsigned long long QtWebPageUIClient::exceededDatabaseQuota(WKPageRef, WKFrameRef, WKSecurityOriginRef securityOrigin, WKStringRef databaseName, WKStringRef displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage, const void *clientInfo)
{
QString qDisplayName = WKStringCopyQString(displayName);
QString qDatabaseName = WKStringCopyQString(databaseName);
- return toQtWebPageUIClient(clientInfo)->exceededDatabaseQuota(qDatabaseName, qDisplayName, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
+ return toQtWebPageUIClient(clientInfo)->exceededDatabaseQuota(qDatabaseName, qDisplayName, securityOrigin, currentQuota, currentOriginUsage, currentDatabaseUsage, expectedUsage);
}
void QtWebPageUIClient::runJavaScriptAlert(WKPageRef, WKStringRef alertText, WKFrameRef, const void* clientInfo)
Modified: trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.h (111720 => 111721)
--- trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.h 2012-03-22 17:16:30 UTC (rev 111720)
+++ trunk/Source/WebKit2/UIProcess/qt/QtWebPageUIClient.h 2012-03-22 17:22:38 UTC (rev 111721)
@@ -41,7 +41,7 @@
QtWebPageUIClient(WKPageRef, QQuickWebView*);
private:
- quint64 exceededDatabaseQuota(const QString& databaseName, const QString& displayName, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
+ quint64 exceededDatabaseQuota(const QString& databaseName, const QString& displayName, WKSecurityOriginRef, quint64 currentQuota, quint64 currentOriginUsage, quint64 currentDatabaseUsage, quint64 expectedUsage);
void runJavaScriptAlert(const QString& message);
bool runJavaScriptConfirm(const QString& message);
QString runJavaScriptPrompt(const QString& message, const QString& defaultValue, bool& ok);