summaryrefslogtreecommitdiffstats
path: root/src/core/common/qt_messages.h
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2014-11-18 16:08:20 +0100
committerAndras Becsi <andras.becsi@theqtcompany.com>2015-02-21 21:38:57 +0000
commit4ed187a54e6d2a06bbe272e1429757b6572dc6b6 (patch)
tree2b1d0485a780904f544623dff96be9dd270988bc /src/core/common/qt_messages.h
parent88ca68c1b3ceff005f6a3a33fc8fc0d551c53a70 (diff)
Introduce a user scripts mechanism
Allowing programmatic injection of JavaScript to accomplish all sorts of tasks on the render process side. This API gives control over the point during the loading phase at which the script is run, whether it is run on sub-frames or not, as well as the JavaScript world it is run in (either the page's main world, or an arbitrary isolated world). This only has the Widgets API. The Quick API, tests and docs are coming in separate patches Change-Id: Ia1c79f68f8dfd4d964281d9723d09062ed7abe46 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/core/common/qt_messages.h')
-rw-r--r--src/core/common/qt_messages.h31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/core/common/qt_messages.h b/src/core/common/qt_messages.h
index 5ae5fef7d..c692ee5ca 100644
--- a/src/core/common/qt_messages.h
+++ b/src/core/common/qt_messages.h
@@ -3,19 +3,21 @@
// found in the LICENSE file.
// Multiply-included file, no traditional include guard.
-#include "ipc/ipc_message_macros.h"
-
-// Singly-included section for enums and custom IPC traits.
-#ifndef RENDER_VIEW_MESSAGES_H
-#define RENDER_VIEW_MESSAGES_H
-namespace IPC {
+#include "content/public/common/common_param_traits.h"
+#include "ipc/ipc_message_macros.h"
-// TODO - add enums and custom IPC traits here when needed.
+#include "user_script_data.h"
-} // namespace IPC
+IPC_STRUCT_TRAITS_BEGIN(UserScriptData)
+ IPC_STRUCT_TRAITS_MEMBER(source)
+ IPC_STRUCT_TRAITS_MEMBER(url)
+ IPC_STRUCT_TRAITS_MEMBER(injectionPoint)
+ IPC_STRUCT_TRAITS_MEMBER(injectForSubframes)
+ IPC_STRUCT_TRAITS_MEMBER(worldId)
+ IPC_STRUCT_TRAITS_MEMBER(scriptId)
+IPC_STRUCT_TRAITS_END()
-#endif // RENDER_VIEW_MESSAGES_H
#define IPC_MESSAGE_START QtMsgStart
@@ -31,6 +33,17 @@ IPC_MESSAGE_ROUTED1(QtRenderViewObserver_FetchDocumentInnerText,
IPC_MESSAGE_ROUTED1(WebChannelIPCTransport_Message, std::vector<char> /*binaryJSON*/)
+// User scripts messages
+IPC_MESSAGE_ROUTED1(RenderViewObserverHelper_AddScript,
+ UserScriptData /* script */)
+IPC_MESSAGE_ROUTED1(RenderViewObserverHelper_RemoveScript,
+ UserScriptData /* script */)
+IPC_MESSAGE_ROUTED0(RenderViewObserverHelper_ClearScripts)
+
+IPC_MESSAGE_CONTROL1(UserScriptController_AddScript, UserScriptData /* scriptContents */)
+IPC_MESSAGE_CONTROL1(UserScriptController_RemoveScript, UserScriptData /* scriptContents */)
+IPC_MESSAGE_CONTROL0(UserScriptController_ClearScripts)
+
//-----------------------------------------------------------------------------
// WebContents messages
// These are messages sent from the renderer back to the browser process.