From f4b7ab0cb68d343317660b1f040e1fe9ba67ab83 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 46dacae27..dbeac336e 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 */ @@ -1034,10 +1038,6 @@ NPP_GetValue(NPP instance, *(NPObject**)value = funcs.createobject (instance, &plugin_class); break; - case NPPVpluginNeedsXEmbed: - *(bool *)value = TRUE; - break; - default: ; } @@ -1053,3 +1053,11 @@ NPP_SetWindow(NPP instance, { return NPERR_NO_ERROR; } + +int16_t +NPP_HandleEvent(NPP instance, + void *event) +{ + /* Ignore the event */ + return FALSE; +}