From 732ea2a91e232124db3af9e7cc1c99bd6bff35ba Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 11 Nov 2015 12:30:24 +0100 Subject: [PATCH] browser-plugin: Set windowless mode and don't claim to need XEmbed NPAPI plugins are windowed by default, so we need to set NPPVpluginWindowBool value to FALSE on startup. This way the browser will not create a GtkSocket for a GtkPlug that we are not going to create. It doesn't make sense to claim that we need XEmbed either. https://bugzilla.gnome.org/show_bug.cgi?id=757940 --- browser-plugin/browser-plugin.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/browser-plugin/browser-plugin.c b/browser-plugin/browser-plugin.c index e8b5cf6a1..50a7e1afe 100644 --- a/browser-plugin/browser-plugin.c +++ b/browser-plugin/browser-plugin.c @@ -162,6 +162,7 @@ NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin) plugin->destroy = NPP_Destroy; plugin->getvalue = NPP_GetValue; plugin->setwindow = NPP_SetWindow; + plugin->event = NPP_HandleEvent; return NPERR_NO_ERROR; } @@ -218,6 +219,9 @@ NPP_New(NPMIMEType mimetype, data = g_slice_new (PluginData); instance->pdata = data; + /* set windowless mode */ + funcs.setvalue(instance, NPPVpluginWindowBool, NULL); + data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE, NULL, /* interface info */ @@ -1048,10 +1052,6 @@ NPP_GetValue(NPP instance, *(NPObject**)value = funcs.createobject (instance, &plugin_class); break; - case NPPVpluginNeedsXEmbed: - *(bool *)value = TRUE; - break; - default: ; } @@ -1067,3 +1067,11 @@ NPP_SetWindow(NPP instance, { return NPERR_NO_ERROR; } + +int16_t +NPP_HandleEvent(NPP instance, + void *event) +{ + /* Ignore the event */ + return FALSE; +}