summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/web_contents_adapter.cpp9
-rw-r--r--src/core/web_contents_adapter.h2
-rw-r--r--src/webengine/api/qquickwebengineview.cpp3
-rw-r--r--src/webengine/api/qquickwebengineview_p.h2
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp6
-rw-r--r--src/webenginewidgets/api/qwebenginepage.h2
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
};