summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-25 16:03:10 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-26 08:46:04 +0000
commit916b91146814fa16bab990dec3fea97bff334380 (patch)
treea80a9c464a49d074db4368a103434174a4fa10e5 /src
parent2ce9eebf27d73296ff23e2f936b68f22f96ac38d (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.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
};