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
This commit is contained in:
parent
a180dde01c
commit
f4b7ab0cb6
@ -162,6 +162,7 @@ NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
|
|||||||
plugin->destroy = NPP_Destroy;
|
plugin->destroy = NPP_Destroy;
|
||||||
plugin->getvalue = NPP_GetValue;
|
plugin->getvalue = NPP_GetValue;
|
||||||
plugin->setwindow = NPP_SetWindow;
|
plugin->setwindow = NPP_SetWindow;
|
||||||
|
plugin->event = NPP_HandleEvent;
|
||||||
|
|
||||||
return NPERR_NO_ERROR;
|
return NPERR_NO_ERROR;
|
||||||
}
|
}
|
||||||
@ -218,6 +219,9 @@ NPP_New(NPMIMEType mimetype,
|
|||||||
data = g_slice_new (PluginData);
|
data = g_slice_new (PluginData);
|
||||||
instance->pdata = data;
|
instance->pdata = data;
|
||||||
|
|
||||||
|
/* set windowless mode */
|
||||||
|
funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
|
||||||
|
|
||||||
data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
data->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||||||
G_DBUS_PROXY_FLAGS_NONE,
|
G_DBUS_PROXY_FLAGS_NONE,
|
||||||
NULL, /* interface info */
|
NULL, /* interface info */
|
||||||
@ -1034,10 +1038,6 @@ NPP_GetValue(NPP instance,
|
|||||||
*(NPObject**)value = funcs.createobject (instance, &plugin_class);
|
*(NPObject**)value = funcs.createobject (instance, &plugin_class);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NPPVpluginNeedsXEmbed:
|
|
||||||
*(bool *)value = TRUE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -1053,3 +1053,11 @@ NPP_SetWindow(NPP instance,
|
|||||||
{
|
{
|
||||||
return NPERR_NO_ERROR;
|
return NPERR_NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int16_t
|
||||||
|
NPP_HandleEvent(NPP instance,
|
||||||
|
void *event)
|
||||||
|
{
|
||||||
|
/* Ignore the event */
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user