Title: [89744] trunk/Source/WebKit/qt
- Revision
- 89744
- Author
- [email protected]
- Date
- 2011-06-25 10:44:20 -0700 (Sat, 25 Jun 2011)
Log Message
2011-06-20 Robert Hogan <[email protected]>
Reviewed by Antonio Gomes.
[Qt] Duplicate entry in context menu
https://bugs.webkit.org/show_bug.cgi?id=62139
contextMenuController()->populate() is called from
ContextMenuController::handleContextMenuEvent() so
QWebPage::updatePositionDependentActions() does not need
to call it independently.
Related changesets:
http://trac.webkit.org/changeset/73535
http://trac.webkit.org/changeset/32389
* Api/qwebpage.cpp:
(QWebPage::updatePositionDependentActions):
* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::contextMenuCopy):
(tst_QWebPage::contextMenuPopulatedOnce):
Modified Paths
Diff
Modified: trunk/Source/WebKit/qt/Api/qwebpage.cpp (89743 => 89744)
--- trunk/Source/WebKit/qt/Api/qwebpage.cpp 2011-06-25 17:21:26 UTC (rev 89743)
+++ trunk/Source/WebKit/qt/Api/qwebpage.cpp 2011-06-25 17:44:20 UTC (rev 89744)
@@ -3305,16 +3305,14 @@
d->createMainFrame();
WebCore::Frame* focusedFrame = d->page->focusController()->focusedOrMainFrame();
- HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos), /*allowShadowContent*/ false);
+ HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos), /*allowShadowContent*/ false);
if (result.scrollbar())
d->hitTestResult = QWebHitTestResult();
else
d->hitTestResult = QWebHitTestResult(new QWebHitTestResultPrivate(result));
-
d->page->contextMenuController()->setHitTestResult(result);
- d->page->contextMenuController()->populate();
-
+
#if ENABLE(INSPECTOR)
if (d->page->inspectorController()->enabled())
d->page->contextMenuController()->addInspectElementItem();
Modified: trunk/Source/WebKit/qt/ChangeLog (89743 => 89744)
--- trunk/Source/WebKit/qt/ChangeLog 2011-06-25 17:21:26 UTC (rev 89743)
+++ trunk/Source/WebKit/qt/ChangeLog 2011-06-25 17:44:20 UTC (rev 89744)
@@ -1,3 +1,25 @@
+2011-06-20 Robert Hogan <[email protected]>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Duplicate entry in context menu
+ https://bugs.webkit.org/show_bug.cgi?id=62139
+
+ contextMenuController()->populate() is called from
+ ContextMenuController::handleContextMenuEvent() so
+ QWebPage::updatePositionDependentActions() does not need
+ to call it independently.
+
+ Related changesets:
+ http://trac.webkit.org/changeset/73535
+ http://trac.webkit.org/changeset/32389
+
+ * Api/qwebpage.cpp:
+ (QWebPage::updatePositionDependentActions):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::contextMenuCopy):
+ (tst_QWebPage::contextMenuPopulatedOnce):
+
2011-06-24 Dominic Cooney <[email protected]>
Reviewed by Dimitri Glazkov.
Modified: trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp (89743 => 89744)
--- trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp 2011-06-25 17:21:26 UTC (rev 89743)
+++ trunk/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp 2011-06-25 17:44:20 UTC (rev 89744)
@@ -90,6 +90,7 @@
void initTestCase();
void cleanupTestCase();
void contextMenuCopy();
+ void contextMenuPopulatedOnce();
void acceptNavigationRequest();
void geolocationRequestJS();
void loadFinished();
@@ -2973,6 +2974,33 @@
QVERIFY(index != -1);
}
+// https://bugs.webkit.org/show_bug.cgi?id=62139
+void tst_QWebPage::contextMenuPopulatedOnce()
+{
+ QWebView view;
+
+ view.setHtml("<input type=\"text\">");
+
+ QWebElement link = view.page()->mainFrame()->findFirstElement("input");
+ QPoint pos(link.geometry().center());
+ QContextMenuEvent event(QContextMenuEvent::Mouse, pos);
+ view.page()->swallowContextMenuEvent(&event);
+ view.page()->updatePositionDependentActions(pos);
+
+ QList<QMenu*> contextMenus = view.findChildren<QMenu*>();
+ QVERIFY(!contextMenus.isEmpty());
+ QMenu* contextMenu = contextMenus.first();
+ QVERIFY(contextMenu);
+
+ QList<QAction *> list = contextMenu->actions();
+ QStringList entries;
+ while (!list.isEmpty()) {
+ QString entry = list.takeFirst()->text();
+ QVERIFY(!entries.contains(entry));
+ entries << entry;
+ }
+}
+
void tst_QWebPage::deleteQWebViewTwice()
{
for (int i = 0; i < 2; ++i) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes