summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp')
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index 554ab8927..a4e1f7464 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -874,8 +874,11 @@ void QWebPageAdapter::dynamicPropertyChangeEvent(QObject* obj, QDynamicPropertyC
#define MAP_ACTION_FROM_VALUE(Name, Value) \
case Value: return QWebPageAdapter::Name
-static QWebPageAdapter::MenuAction adapterActionForContextMenuAction(WebCore::ContextMenuAction action)
+static int adapterActionForContextMenuAction(WebCore::ContextMenuAction action)
{
+ if (action >= ContextMenuItemBaseCustomTag && action <= ContextMenuItemLastCustomTag)
+ return action;
+
switch (action) {
FOR_EACH_MAPPED_MENU_ACTION(MAP_ACTION_FROM_VALUE, SEMICOLON_SEPARATOR);
#if ENABLE(INSPECTOR)
@@ -899,7 +902,7 @@ QList<MenuItem> descriptionForPlatformMenu(const Vector<ContextMenuItem>& items,
switch (item.type()) {
case WebCore::CheckableActionType: /* fall through */
case WebCore::ActionType: {
- QWebPageAdapter::MenuAction action = adapterActionForContextMenuAction(item.action());
+ int action = adapterActionForContextMenuAction(item.action());
if (action > QWebPageAdapter::NoAction) {
description.type = MenuItem::Action;
description.action = action;
@@ -1207,6 +1210,16 @@ void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitT
}
}
+void QWebPageAdapter::triggerCustomAction(int action, const QString &title)
+{
+ if (action >= ContextMenuItemBaseCustomTag && action <= ContextMenuItemLastCustomTag) {
+ ContextMenuItem item(ActionType, static_cast<ContextMenuAction>(action), title);
+ page->contextMenuController()->contextMenuItemSelected(&item);
+ } else {
+ ASSERT_NOT_REACHED();
+ }
+}
+
QString QWebPageAdapter::contextMenuItemTagForAction(QWebPageAdapter::MenuAction action, bool* checkable) const
{