[gnome-shell] browser-plugin: Set windowless mode and don't claim to need XEmbed



commit f4b7ab0cb68d343317660b1f040e1fe9ba67ab83
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Wed Nov 11 12:30:24 2015 +0100

    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 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/browser-plugin/browser-plugin.c b/browser-plugin/browser-plugin.c
index 46dacae..dbeac33 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;
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]