diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-26 13:29:19 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-09-01 08:02:00 +0000 |
commit | f0683845f2577da697c8ae6b86dd0226d0488562 (patch) | |
tree | 87055de8158c1c5c76ea3469a38fd5ce25bb655c /src | |
parent | 60935a502b5d4cf07e49be99f91c19a1c7644fd5 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 8 | ||||
-rw-r--r-- | src/core/web_contents_adapter.h | 1 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 5 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 4 | ||||
-rw-r--r-- | src/webenginewidgets/doc/src/qwebenginepage_lgpl.qdoc | 2 |
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 */ |