Title: [111523] trunk/Source/WebKit2
- Revision
- 111523
- Author
- [email protected]
- Date
- 2012-03-21 04:43:40 -0700 (Wed, 21 Mar 2012)
Log Message
[Qt][WK2] Item cannot be selected from select list in touch webview
https://bugs.webkit.org/show_bug.cgi?id=81674
Patch by Dinu Jacob <[email protected]> on 2012-03-21
Reviewed by Simon Hausmann.
Activate flag to prevent QQuickWebView from accepting touch event when select
dialog is being displayed.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::execDialogRunner):
(QQuickWebView::touchEvent):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate::setDialogActive):
(QQuickWebViewPrivate):
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit::WebPopupMenuProxyQt::showPopupMenu):
(WebKit::WebPopupMenuProxyQt::hidePopupMenu):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (111522 => 111523)
--- trunk/Source/WebKit2/ChangeLog 2012-03-21 11:29:01 UTC (rev 111522)
+++ trunk/Source/WebKit2/ChangeLog 2012-03-21 11:43:40 UTC (rev 111523)
@@ -1,3 +1,24 @@
+2012-03-21 Dinu Jacob <[email protected]>
+
+ [Qt][WK2] Item cannot be selected from select list in touch webview
+ https://bugs.webkit.org/show_bug.cgi?id=81674
+
+ Reviewed by Simon Hausmann.
+
+ Activate flag to prevent QQuickWebView from accepting touch event when select
+ dialog is being displayed.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::QQuickWebViewPrivate):
+ (QQuickWebViewPrivate::execDialogRunner):
+ (QQuickWebView::touchEvent):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate::setDialogActive):
+ (QQuickWebViewPrivate):
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
+
2012-03-21 Kenneth Rohde Christiansen <[email protected]>
[Qt] Remove the PostTransitionState
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (111522 => 111523)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-21 11:29:01 UTC (rev 111522)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-03-21 11:43:40 UTC (rev 111523)
@@ -81,7 +81,7 @@
, m_navigatorQtObjectEnabled(false)
, m_renderToOffscreenBuffer(false)
, m_loadStartedSignalSent(false)
- , m_dialogRunnerActive(false)
+ , m_dialogActive(false)
{
viewport->setFlags(QQuickItem::ItemClipsChildrenToShape);
QObject::connect(viewport, SIGNAL(visibleChanged()), viewport, SLOT(_q_onVisibleChanged()));
@@ -366,10 +366,10 @@
setViewInAttachedProperties(dialogRunner.dialog());
disableMouseEvents();
- m_dialogRunnerActive = true;
+ m_dialogActive = true;
dialogRunner.exec();
- m_dialogRunnerActive = false;
+ m_dialogActive = false;
enableMouseEvents();
}
@@ -1325,7 +1325,7 @@
void QQuickWebView::touchEvent(QTouchEvent* event)
{
Q_D(QQuickWebView);
- if (d->m_dialogRunnerActive) {
+ if (d->m_dialogActive) {
event->ignore();
return;
}
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (111522 => 111523)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-21 11:29:01 UTC (rev 111522)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2012-03-21 11:43:40 UTC (rev 111523)
@@ -118,6 +118,8 @@
QRect visibleContentsRect() const;
+ void setDialogActive(bool active) { m_dialogActive = active; }
+
// PageClient.
WebCore::IntSize viewSize() const;
void didReceiveMessageFromNavigatorQtObject(const String& message);
@@ -162,7 +164,7 @@
bool m_navigatorQtObjectEnabled;
bool m_renderToOffscreenBuffer;
bool m_loadStartedSignalSent;
- bool m_dialogRunnerActive;
+ bool m_dialogActive;
QUrl m_iconURL;
QUrl m_deferedUrlToLoad;
};
Modified: trunk/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp (111522 => 111523)
--- trunk/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp 2012-03-21 11:29:01 UTC (rev 111522)
+++ trunk/Source/WebKit2/UIProcess/qt/WebPopupMenuProxyQt.cpp 2012-03-21 11:43:40 UTC (rev 111523)
@@ -239,11 +239,13 @@
notifyValueChanged();
return;
}
+ QQuickWebViewPrivate::get(m_webView)->setDialogActive(true);
}
void WebPopupMenuProxyQt::hidePopupMenu()
{
m_itemSelector.clear();
+ QQuickWebViewPrivate::get(m_webView)->setDialogActive(false);
m_context.clear();
notifyValueChanged();
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes