summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-26 13:29:19 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-09-01 08:02:00 +0000
commitf0683845f2577da697c8ae6b86dd0226d0488562 (patch)
tree87055de8158c1c5c76ea3469a38fd5ce25bb655c
parent60935a502b5d4cf07e49be99f91c19a1c7644fd5 (diff)
Add default inspect element context menu item
Adds inspect element to the context menu when there is an attached inspector on the page. Change-Id: Id3c8a5be34318c12ab331b6611219bd59b7b70be Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/core/web_contents_adapter.cpp8
-rw-r--r--src/core/web_contents_adapter.h1
-rw-r--r--src/webengine/api/qquickwebengineview.cpp5
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp4
-rw-r--r--src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc2
5 files changed, 20 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index a01164f1a..ab4a02836 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -800,6 +800,14 @@ void WebContentsAdapter::inspectElementAt(const QPoint &location)
}
}
+bool WebContentsAdapter::hasInspector() const
+{
+ const Q_D(WebContentsAdapter);
+ if (content::DevToolsAgentHost::HasFor(d->webContents.get()))
+ return content::DevToolsAgentHost::GetOrCreateFor(d->webContents.get())->IsAttached();
+ return false;
+}
+
void WebContentsAdapter::exitFullScreen()
{
Q_D(WebContentsAdapter);
diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h
index ca2f32ebe..ecb084e56 100644
--- a/src/core/web_contents_adapter.h
+++ b/src/core/web_contents_adapter.h
@@ -126,6 +126,7 @@ public:
void executeMediaPlayerActionAt(const QPoint &location, MediaPlayerAction action, bool enable);
void inspectElementAt(const QPoint &location);
+ bool hasInspector() const;
void exitFullScreen();
void wasShown();
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index e123bda8f..1bfb263e0 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -266,6 +266,11 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu
QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::CopyImageToClipboard); });
ui()->addMenuItem(item, QObject::tr("Copy Image"));
}
+ if (adapter->hasInspector()) {
+ item = new MenuItemHandler(menu);
+ QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::InspectElement); });
+ ui()->addMenuItem(item, QObject::tr("Inspect Element"));
+ }
if (isFullScreen()) {
item = new MenuItemHandler(menu);
QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::ExitFullScreen); });
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 472e95871..503ba87d4 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -974,6 +974,10 @@ QMenu *QWebEnginePage::createStandardContextMenu()
} else if (contextMenuData.mediaType == WebEngineContextMenuData::MediaTypeCanvas) {
menu->addAction(QWebEnginePage::action(CopyImageToClipboard));
}
+
+ if (d->adapter->hasInspector())
+ menu->addAction(QWebEnginePage::action(InspectElement));
+
if (d->isFullScreen())
menu->addAction(QWebEnginePage::action(ExitFullScreen));
diff --git a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
index e1990af73..37fc880c0 100644
--- a/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
+++ b/src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc
@@ -114,6 +114,8 @@
\value DownloadImageToDisk Download the highlighted image to the disk. (Added in Qt 5.6)
\value DownloadMediaToDisk Download the hovered audio or video to the disk. (Added in Qt 5.6)
+ \value InspectElement Triggers any attached Web Inspector to inspect the highlighed element. (Added in Qt 5.6)
+
\omitvalue WebActionCount
*/