diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-25 16:03:10 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-26 08:46:04 +0000 |
commit | 916b91146814fa16bab990dec3fea97bff334380 (patch) | |
tree | a80a9c464a49d074db4368a103434174a4fa10e5 /src | |
parent | 2ce9eebf27d73296ff23e2f936b68f22f96ac38d (diff) |
Add inspect element webaction
Adds the missing InspectElement webaction from QtWebKit. It is not added
by to any context menus by default and only has an effect when an
inspector is attached.
Change-Id: Ic8c67c797e5dfe266fb692ffc97577b842458a79
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 9 | ||||
-rw-r--r-- | src/core/web_contents_adapter.h | 2 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 3 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview_p.h | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 6 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 |
6 files changed, 24 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index cb9cb012b..1e0d261da 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -58,6 +58,7 @@ #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/child_process_security_policy.h" +#include "content/public/browser/devtools_agent_host.h" #include <content/public/browser/download_manager.h> #include "content/public/browser/host_zoom_map.h" #include "content/public/browser/navigation_entry.h" @@ -791,6 +792,14 @@ void WebContentsAdapter::executeMediaPlayerActionAt(const QPoint &location, Medi d->webContents->GetRenderViewHost()->ExecuteMediaPlayerActionAtLocation(toGfx(location), blinkAction); } +void WebContentsAdapter::inspectElementAt(const QPoint &location) +{ + Q_D(WebContentsAdapter); + if (content::DevToolsAgentHost::HasFor(d->webContents.get())) { + content::DevToolsAgentHost::GetOrCreateFor(d->webContents.get())->InspectElement(location.x(), location.y()); + } +} + void WebContentsAdapter::wasShown() { Q_D(WebContentsAdapter); diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index 902cc61ff..1e78f8e77 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -125,6 +125,8 @@ public: void copyImageAt(const QPoint &location); void executeMediaPlayerActionAt(const QPoint &location, MediaPlayerAction action, bool enable); + void inspectElementAt(const QPoint &location); + void wasShown(); void wasHidden(); void grantMediaAccessPermission(const QUrl &securityOrigin, WebContentsAdapterClient::MediaRequestFlags flags); diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 45bb5a140..9a8a6ccb3 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -1289,6 +1289,9 @@ void QQuickWebEngineView::triggerWebAction(WebAction action) d->adapter->executeMediaPlayerActionAt(d->contextMenuData.pos, WebContentsAdapter::MediaPlayerMute, enable); } break; + case InspectElement: + d->adapter->inspectElementAt(d->contextMenuData.pos); + break; default: Q_UNREACHABLE(); } diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h index 5b99dc3e2..934303722 100644 --- a/src/webengine/api/qquickwebengineview_p.h +++ b/src/webengine/api/qquickwebengineview_p.h @@ -223,6 +223,8 @@ public: ToggleMediaMute, DownloadMediaToDisk, + InspectElement, + WebActionCount }; diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index e7d4e60e5..dd96c3890 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -591,6 +591,9 @@ QAction *QWebEnginePage::action(WebAction action) const case DownloadMediaToDisk: text = tr("Download Media"); break; + case InspectElement: + text = tr("Inspect Element"); + break; default: break; } @@ -755,6 +758,9 @@ void QWebEnginePage::triggerAction(WebAction action, bool) d->adapter->executeMediaPlayerActionAt(d->m_menuData.pos, WebContentsAdapter::MediaPlayerMute, enable); } break; + case InspectElement: + d->adapter->inspectElementAt(d->m_menuData.pos); + break; default: Q_UNREACHABLE(); } diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 422a4a8ad..1753cd75a 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -106,6 +106,8 @@ public: ToggleMediaMute, DownloadMediaToDisk, + InspectElement, + WebActionCount }; |