UserContentManager.registerScriptMessageHandler

Registers a new user script message handler in script world.

After it is registered, scripts can use window.webkit.messageHandlers.<name>.postMessage(value) to send messages. Those messages are received by connecting handlers to the #WebKitUserContentManager::script-message-received signal. The handler name is used as the detail of the signal. To avoid race conditions between registering the handler name, and starting to receive the signals, it is recommended to connect to the signal *before* registering the handler name:

WebKitWebView *view = webkit_web_view_new ();
WebKitUserContentManager *manager = webkit_web_view_get_user_content_manager ();
g_signal_connect (manager, "script-message-received::foobar",
                  G_CALLBACK (handle_script_message), NULL);
webkit_user_content_manager_register_script_message_handler (manager, "foobar");

Registering a script message handler will fail if the requested name has been already registered before.

If null is passed as the world_name, the default world will be used.

The registered handler can be unregistered by using webkit.user_content_manager.UserContentManager.unregisterScriptMessageHandler.

class UserContentManager
bool
registerScriptMessageHandler
(
string name
,
string worldName = null
)

Parameters

name string

Name of the script message channel

worldName string

the name of a #WebKitScriptWorld

Return Value

Type: bool

true if message handler was registered successfully, or false otherwise.