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

Reply via email to