summaryrefslogtreecommitdiff
path: root/Source/WebKit/qt/WidgetApi/qwebpage.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-10-15 19:00:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-28 20:00:40 +0100
commit06285084ea92dc8900ba195db5379501e0173c53 (patch)
tree755ab3f57407d8bc280dfaede52b45685cdd7d2f /Source/WebKit/qt/WidgetApi/qwebpage.cpp
parent36321b9aaeedef1232d464d3dd7d03f39b7f7f37 (diff)
downloadqtwebkit-06285084ea92dc8900ba195db5379501e0173c53.tar.gz
Support HTML5 media context menu items
Support most of the items WebCore populates the context menu with when the user right clicks an HTML5 audio or video element. Change-Id: I331a3271f68075fe70d914e2675620f617d53b42 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'Source/WebKit/qt/WidgetApi/qwebpage.cpp')
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage.cpp b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
index d69d673bb..d50d91b40 100644
--- a/Source/WebKit/qt/WidgetApi/qwebpage.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
@@ -497,6 +497,7 @@ QMenu *createContextMenu(QWebPage* page, const QList<MenuItem>& items, QBitArray
QWebPage::WebAction action = webActionForAdapterMenuAction(item.action);
QAction *a = page->action(action);
if (a) {
+ a->setText(item.title);
a->setEnabled(item.traits & MenuItem::Enabled);
a->setCheckable(item.traits & MenuItem::Checkable);
a->setChecked(item.traits & MenuItem::Checked);
@@ -523,7 +524,7 @@ QMenu *createContextMenu(QWebPage* page, const QList<MenuItem>& items, QBitArray
// don't show sub-menus with just disabled actions
if (anyEnabledAction) {
- subMenu->setTitle(item.subMenuTitle);
+ subMenu->setTitle(item.title);
menu->addAction(subMenu->menuAction());
} else
delete subMenu;
@@ -1182,7 +1183,12 @@ QWebInspector* QWebPagePrivate::getOrCreateInspector()
\value AlignJustified Applies full justification to content. (Added in Qt 4.6)
\value AlignLeft Applies left justification to content. (Added in Qt 4.6)
\value AlignRight Applies right justification to content. (Added in Qt 4.6)
-
+ \value DownloadMediaToDisk Download the hovered audio or video to the disk. (Added in Qt 5.2)
+ \value CopyMediaUrlToClipboard Copy the hovered audio or video's URL to the clipboard. (Added in Qt 5.2)
+ \value ToggleMediaControls Toggles between showing and hiding the controls for the hovered audio or video element. (Added in Qt 5.2)
+ \value ToggleMediaLoop Toggles whether the hovered audio or video should loop on completetion or not. (Added in Qt 5.2)
+ \value ToggleMediaPlayPause Toggles the play/pause state of the hovered audio or video element. (Added in Qt 5.2)
+ \value ToggleMediaMute Mutes or unmutes the hovered audio or video element. (Added in Qt 5.2)
\omitvalue WebActionCount
@@ -1721,6 +1727,11 @@ void QWebPage::triggerAction(WebAction action, bool)
case SetTextDirectionDefault:
case SetTextDirectionLeftToRight:
case SetTextDirectionRightToLeft:
+ case DownloadMediaToDisk:
+ case ToggleMediaControls:
+ case ToggleMediaLoop:
+ case ToggleMediaPlayPause:
+ case ToggleMediaMute:
mappedAction = adapterMenuActionForWebAction(action);
break;
case ReloadAndBypassCache: // Manual mapping
@@ -1733,6 +1744,9 @@ void QWebPage::triggerAction(WebAction action, bool)
case CopyImageUrlToClipboard:
QApplication::clipboard()->setText(d->hitTestResult.imageUrl().toString());
break;
+ case CopyMediaUrlToClipboard:
+ QApplication::clipboard()->setText(d->hitTestResult.mediaUrl().toString());
+ break;
#endif
case InspectElement: {
#if ENABLE(INSPECTOR)
@@ -2204,6 +2218,12 @@ QAction *QWebPage::action(WebAction action) const
case ToggleBold:
case ToggleItalic:
case ToggleUnderline:
+ case DownloadMediaToDisk:
+ case CopyMediaUrlToClipboard:
+ case ToggleMediaControls:
+ case ToggleMediaLoop:
+ case ToggleMediaPlayPause:
+ case ToggleMediaMute:
mappedAction = adapterMenuActionForWebAction(action);
break;
case InspectElement: