Title: [110098] trunk/Source/WebKit2
- Revision
- 110098
- Author
- commit-qu...@webkit.org
- Date
- 2012-03-07 13:43:37 -0800 (Wed, 07 Mar 2012)
Log Message
[Qt] Authentication dialog does not work
https://bugs.webkit.org/show_bug.cgi?id=79738
Patch by Dinu Jacob <dinu.ja...@nokia.com> on 2012-03-07
Reviewed by Simon Hausmann.
QQuickWebView should accept touch events only if there is
no active dialog.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::runJavaScriptAlert):
(QQuickWebViewPrivate::runJavaScriptConfirm):
(QQuickWebViewPrivate::runJavaScriptPrompt):
(QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
(QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
(QQuickWebViewPrivate::handleCertificateVerificationRequest):
(QQuickWebView::touchEvent):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (110097 => 110098)
--- trunk/Source/WebKit2/ChangeLog 2012-03-07 21:42:29 UTC (rev 110097)
+++ trunk/Source/WebKit2/ChangeLog 2012-03-07 21:43:37 UTC (rev 110098)
@@ -1,3 +1,25 @@
+2012-03-07 Dinu Jacob <dinu.ja...@nokia.com>
+
+ [Qt] Authentication dialog does not work
+ https://bugs.webkit.org/show_bug.cgi?id=79738
+
+ Reviewed by Simon Hausmann.
+
+ QQuickWebView should accept touch events only if there is
+ no active dialog.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::QQuickWebViewPrivate):
+ (QQuickWebViewPrivate::runJavaScriptAlert):
+ (QQuickWebViewPrivate::runJavaScriptConfirm):
+ (QQuickWebViewPrivate::runJavaScriptPrompt):
+ (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
+ (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
+ (QQuickWebViewPrivate::handleCertificateVerificationRequest):
+ (QQuickWebView::touchEvent):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate):
+
2012-03-07 Dan Bernstein <m...@apple.com>
<rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (110097 => 110098)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-07 21:42:29 UTC (rev 110097)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-07 21:43:37 UTC (rev 110098)
@@ -81,6 +81,7 @@
, m_navigatorQtObjectEnabled(false)
, m_renderToOffscreenBuffer(false)
, m_loadStartedSignalSent(false)
+ , m_dialogRunnerActive(false)
{
viewport->setFlags(QQuickItem::ItemClipsChildrenToShape);
QObject::connect(viewport, SIGNAL(visibleChanged()), viewport, SLOT(_q_onVisibleChanged()));
@@ -267,7 +268,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
}
@@ -283,7 +287,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
return dialogRunner.wasAccepted();
@@ -305,7 +312,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
ok = dialogRunner.wasAccepted();
@@ -325,7 +335,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
username = dialogRunner.username();
@@ -344,7 +357,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
username = dialogRunner.username();
@@ -364,7 +380,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
+ m_dialogRunnerActive = true;
+
dialogRunner.exec();
+ m_dialogRunnerActive = false;
enableMouseEvents();
return dialogRunner.wasAccepted();
@@ -1343,6 +1362,11 @@
void QQuickWebView::touchEvent(QTouchEvent* event)
{
Q_D(QQuickWebView);
+ if (d->m_dialogRunnerActive) {
+ event->ignore();
+ return;
+ }
+
forceActiveFocus();
d->pageView->eventHandler()->handleTouchEvent(event);
}
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (110097 => 110098)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-07 21:42:29 UTC (rev 110097)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-07 21:43:37 UTC (rev 110098)
@@ -163,6 +163,7 @@
bool m_navigatorQtObjectEnabled;
bool m_renderToOffscreenBuffer;
bool m_loadStartedSignalSent;
+ bool m_dialogRunnerActive;
QUrl m_iconURL;
QUrl m_deferedUrlToLoad;
};
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes