[Qt] [WK2] Improve position of context menu for QDesktopWebView
authorcaio.oliveira@openbossa.org <caio.oliveira@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Aug 2011 19:36:04 +0000 (19:36 +0000)
committercaio.oliveira@openbossa.org <caio.oliveira@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 3 Aug 2011 19:36:04 +0000 (19:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=65635

Reviewed by Andreas Kling.

Do not assume that the QDesktopWebView takes the entire canvas when
positioning the context menu.

* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebViewPrivate::showContextMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@92302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp

index dccfc30..362f4c1 100644 (file)
@@ -1,3 +1,16 @@
+2011-08-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
+
+        [Qt] [WK2] Improve position of context menu for QDesktopWebView
+        https://bugs.webkit.org/show_bug.cgi?id=65635
+
+        Reviewed by Andreas Kling.
+
+        Do not assume that the QDesktopWebView takes the entire canvas when
+        positioning the context menu.
+
+        * UIProcess/API/qt/qdesktopwebview.cpp:
+        (QDesktopWebViewPrivate::showContextMenu):
+
 2011-08-03  Anders Carlsson  <andersca@apple.com>
 
         Fix API tests.
index c4608a9..56eab72 100644 (file)
@@ -151,7 +151,8 @@ void QDesktopWebViewPrivate::showContextMenu(QSharedPointer<QMenu> menu)
     activeMenu = menu;
 
     menu->setParent(widget, menu->windowFlags());
-    menu->exec(widget->mapToGlobal(menu->pos()));
+    QPoint menuPositionInScene = q->mapToScene(menu->pos()).toPoint();
+    menu->exec(widget->mapToGlobal(menuPositionInScene));
     // The last function to get out of exec() clear the local copy.
     if (activeMenu == menu)
         activeMenu.clear();