diff --git a/browser-plugin/README.md b/browser-plugin/README.md
deleted file mode 100644
index 8952e2bf3..000000000
--- a/browser-plugin/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-The GNOME Shell Browser Plugin provides integration with gnome-shell and the
-corresponding extensions repository, codenamed "SweetTooth". The plugin allows
-the extensions repository to provide good integration, letting the website
-know which extensions are enabled and disabled, and allowing the website to
-enable, disable and install them.
-
-Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
-
-## License
-The GNOME Shell Browser Plugin, like GNOME Shell itself is distributed under
-the GNU General Public License, version 2 or later. The plugin also contains
-header files from the "NPAPI SDK" project, tri-licensed under MPL 1.1, GPL 2.0
-and LGPL 2.1. These headers are third-party sources and can be retrieved from:
-
- http://code.google.com/p/npapi-sdk/
-
-[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
diff --git a/browser-plugin/browser-plugin.c b/browser-plugin/browser-plugin.c
deleted file mode 100644
index 35e15967e..000000000
--- a/browser-plugin/browser-plugin.c
+++ /dev/null
@@ -1,1058 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see .
- *
- * Authors:
- * Jasper St. Pierre
- * Giovanni Campagna
- */
-
-#include
-
-#define XP_UNIX 1
-
-#include "npapi/npapi.h"
-#include "npapi/npruntime.h"
-#include "npapi/npfunctions.h"
-
-#include
-#include
-#include
-
-#define ORIGIN "extensions.gnome.org"
-#define PLUGIN_NAME "GNOME Shell Integration"
-#define PLUGIN_DESCRIPTION "This plugin provides integration with GNOME Shell " \
- "for live extension enabling and disabling. " \
- "It can be used only by extensions.gnome.org"
-#define PLUGIN_MIME_STRING "application/x-gnome-shell-integration::GNOME Shell Integration Dummy Content-Type";
-
-#define PLUGIN_API_VERSION 5
-
-#define EXTENSION_DISABLE_VERSION_CHECK_KEY "disable-extension-version-validation"
-
-static NPNetscapeFuncs funcs;
-
-static inline gchar *
-get_string_property (NPP instance,
- NPObject *obj,
- const char *name)
-{
- NPVariant result = { NPVariantType_Void };
- NPString result_str;
- gchar *result_copy;
-
- result_copy = NULL;
-
- if (!funcs.getproperty (instance, obj,
- funcs.getstringidentifier (name),
- &result))
- goto out;
-
- if (!NPVARIANT_IS_STRING (result))
- goto out;
-
- result_str = NPVARIANT_TO_STRING (result);
- result_copy = g_strndup (result_str.UTF8Characters, result_str.UTF8Length);
-
- out:
- funcs.releasevariantvalue (&result);
- return result_copy;
-}
-
-static gboolean
-check_origin_and_protocol (NPP instance)
-{
- gboolean ret = FALSE;
- NPError error;
- NPObject *window = NULL;
- NPVariant document = { NPVariantType_Void };
- NPVariant location = { NPVariantType_Void };
- gchar *hostname = NULL;
- gchar *protocol = NULL;
-
- error = funcs.getvalue (instance, NPNVWindowNPObject, &window);
- if (error != NPERR_NO_ERROR)
- goto out;
-
- if (!funcs.getproperty (instance, window,
- funcs.getstringidentifier ("document"),
- &document))
- goto out;
-
- if (!NPVARIANT_IS_OBJECT (document))
- goto out;
-
- if (!funcs.getproperty (instance, NPVARIANT_TO_OBJECT (document),
- funcs.getstringidentifier ("location"),
- &location))
- goto out;
-
- if (!NPVARIANT_IS_OBJECT (location))
- goto out;
-
- hostname = get_string_property (instance,
- NPVARIANT_TO_OBJECT (location),
- "hostname");
-
- if (g_strcmp0 (hostname, ORIGIN))
- {
- g_debug ("origin does not match, is %s",
- hostname);
-
- goto out;
- }
-
- protocol = get_string_property (instance,
- NPVARIANT_TO_OBJECT (location),
- "protocol");
-
- if (g_strcmp0 (protocol, "https:") != 0)
- {
- g_debug ("protocol does not match, is %s",
- protocol);
-
- goto out;
- }
-
- ret = TRUE;
-
- out:
- g_free (protocol);
- g_free (hostname);
-
- funcs.releasevariantvalue (&location);
- funcs.releasevariantvalue (&document);
-
- if (window != NULL)
- funcs.releaseobject (window);
- return ret;
-}
-
-/* =================== scripting interface =================== */
-
-typedef struct {
- NPObject parent;
- NPP instance;
- GDBusProxy *proxy;
- GSettings *settings;
- NPObject *listener;
- NPObject *restart_listener;
- gint signal_id;
- guint watch_name_id;
-} PluginObject;
-
-static void
-on_shell_signal (GDBusProxy *proxy,
- gchar *sender_name,
- gchar *signal_name,
- GVariant *parameters,
- gpointer user_data)
-{
- PluginObject *obj = user_data;
-
- if (strcmp (signal_name, "ExtensionStatusChanged") == 0)
- {
- gchar *uuid;
- gint32 status;
- gchar *error;
- NPVariant args[3];
- NPVariant result = { NPVariantType_Void };
-
- g_variant_get (parameters, "(sis)", &uuid, &status, &error);
- STRINGZ_TO_NPVARIANT (uuid, args[0]);
- INT32_TO_NPVARIANT (status, args[1]);
- STRINGZ_TO_NPVARIANT (error, args[2]);
-
- funcs.invokeDefault (obj->instance, obj->listener,
- args, 3, &result);
-
- funcs.releasevariantvalue (&result);
- g_free (uuid);
- g_free (error);
- }
-}
-
-static void
-on_shell_appeared (GDBusConnection *connection,
- const gchar *name,
- const gchar *name_owner,
- gpointer user_data)
-{
- PluginObject *obj = (PluginObject*) user_data;
-
- if (obj->restart_listener)
- {
- NPVariant result = { NPVariantType_Void };
-
- funcs.invokeDefault (obj->instance, obj->restart_listener,
- NULL, 0, &result);
-
- funcs.releasevariantvalue (&result);
- }
-}
-
-#define SHELL_SCHEMA "org.gnome.shell"
-#define ENABLED_EXTENSIONS_KEY "enabled-extensions"
-
-static NPObject *
-plugin_object_allocate (NPP instance,
- NPClass *klass)
-{
- PluginObject *obj = (PluginObject *) funcs.memalloc (sizeof (PluginObject));
-
- memset (obj, 0, sizeof (PluginObject));
- obj->instance = instance;
-
- return (NPObject*) obj;
-}
-
-static void
-plugin_object_deallocate (NPObject *npobj)
-{
- funcs.memfree (npobj);
-}
-
-static inline gboolean
-uuid_is_valid (NPString string)
-{
- gsize i;
-
- for (i = 0; i < string.UTF8Length; i++)
- {
- gchar c = string.UTF8Characters[i];
- if (c < 32 || c >= 127)
- return FALSE;
-
- switch (c)
- {
- case '&':
- case '<':
- case '>':
- case '/':
- case '\\':
- return FALSE;
- default:
- break;
- }
- }
- return TRUE;
-}
-
-static gboolean
-jsonify_variant (GVariant *variant,
- NPVariant *result)
-{
- gboolean ret;
- GVariant *real_value;
- JsonNode *root;
- JsonGenerator *generator;
- gsize json_length;
- gchar *json;
- gchar *buffer;
-
- ret = TRUE;
-
- /* DBus methods can return multiple values,
- * but we're only interested in the first. */
- g_variant_get (variant, "(@*)", &real_value);
-
- root = json_gvariant_serialize (real_value);
-
- generator = json_generator_new ();
- json_generator_set_root (generator, root);
- json = json_generator_to_data (generator, &json_length);
-
- buffer = funcs.memalloc (json_length + 1);
- if (!buffer)
- {
- ret = FALSE;
- goto out;
- }
-
- strcpy (buffer, json);
-
- STRINGN_TO_NPVARIANT (buffer, json_length, *result);
-
- out:
- g_variant_unref (variant);
- g_variant_unref (real_value);
- json_node_free (root);
- g_free (json);
-
- return ret;
-}
-
-static gboolean
-parse_args (const gchar *format_str,
- uint32_t argc,
- const NPVariant *argv,
- ...)
-{
- va_list args;
- gsize i;
- gboolean ret = FALSE;
-
- if (strlen (format_str) != argc)
- return FALSE;
-
- va_start (args, argv);
-
- for (i = 0; format_str[i]; i++)
- {
- gpointer arg_location;
- const NPVariant arg = argv[i];
-
- arg_location = va_arg (args, gpointer);
-
- switch (format_str[i])
- {
- case 'u':
- {
- NPString string;
-
- if (!NPVARIANT_IS_STRING (arg))
- goto out;
-
- string = NPVARIANT_TO_STRING (arg);
-
- if (!uuid_is_valid (string))
- goto out;
-
- *(gchar **) arg_location = g_strndup (string.UTF8Characters, string.UTF8Length);
- }
- break;
-
- case 'b':
- if (!NPVARIANT_IS_BOOLEAN (arg))
- goto out;
-
- *(gboolean *) arg_location = NPVARIANT_TO_BOOLEAN (arg);
- break;
-
- case 'o':
- if (!NPVARIANT_IS_OBJECT (arg))
- goto out;
-
- *(NPObject **) arg_location = NPVARIANT_TO_OBJECT (arg);
- }
- }
-
- ret = TRUE;
-
- out:
- va_end (args);
-
- return ret;
-}
-
-static gboolean
-plugin_list_extensions (PluginObject *obj,
- uint32_t argc,
- const NPVariant *args,
- NPVariant *result)
-{
- GError *error = NULL;
- GVariant *res;
-
- res = g_dbus_proxy_call_sync (obj->proxy,
- "ListExtensions",
- NULL, /* parameters */
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- &error);
-
- if (!res)
- {
- g_warning ("Failed to retrieve extension list: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
-
- return jsonify_variant (res, result);
-}
-
-static gboolean
-plugin_enable_extension (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- gboolean ret;
- gchar *uuid;
- gboolean enabled;
- gsize length;
- gchar **uuids;
- const gchar **new_uuids;
-
- if (!parse_args ("ub", argc, argv, &uuid, &enabled))
- return FALSE;
-
- uuids = g_settings_get_strv (obj->settings, ENABLED_EXTENSIONS_KEY);
- length = g_strv_length (uuids);
-
- if (enabled)
- {
- new_uuids = g_new (const gchar *, length + 2); /* New key, NULL */
- memcpy (new_uuids, uuids, length * sizeof (*new_uuids));
- new_uuids[length] = uuid;
- new_uuids[length + 1] = NULL;
- }
- else
- {
- gsize i = 0, j = 0;
- new_uuids = g_new (const gchar *, length);
- for (i = 0; i < length; i ++)
- {
- if (g_str_equal (uuids[i], uuid))
- continue;
-
- new_uuids[j] = uuids[i];
- j++;
- }
-
- new_uuids[j] = NULL;
- }
-
- ret = g_settings_set_strv (obj->settings,
- ENABLED_EXTENSIONS_KEY,
- new_uuids);
-
- g_strfreev (uuids);
- g_free (new_uuids);
- g_free (uuid);
-
- return ret;
-}
-
-typedef struct _AsyncClosure AsyncClosure;
-
-struct _AsyncClosure {
- PluginObject *obj;
- NPObject *callback;
- NPObject *errback;
-};
-
-static void
-install_extension_cb (GObject *proxy,
- GAsyncResult *async_res,
- gpointer user_data)
-{
- AsyncClosure *async_closure = (AsyncClosure *) user_data;
- GError *error = NULL;
- GVariant *res;
- NPVariant args[1];
- NPVariant result = { NPVariantType_Void };
- NPObject *callback;
-
- res = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), async_res, &error);
-
- if (res == NULL)
- {
- if (g_dbus_error_is_remote_error (error))
- g_dbus_error_strip_remote_error (error);
- STRINGZ_TO_NPVARIANT (error->message, args[0]);
- callback = async_closure->errback;
- }
- else
- {
- char *string_result;
- g_variant_get (res, "(&s)", &string_result);
- STRINGZ_TO_NPVARIANT (string_result, args[0]);
- callback = async_closure->callback;
- }
-
- funcs.invokeDefault (async_closure->obj->instance,
- callback, args, 1, &result);
-
- funcs.releasevariantvalue (&result);
-
- funcs.releaseobject (async_closure->callback);
- funcs.releaseobject (async_closure->errback);
- g_slice_free (AsyncClosure, async_closure);
-}
-
-static gboolean
-plugin_install_extension (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- gchar *uuid;
- NPObject *callback, *errback;
- AsyncClosure *async_closure;
-
- if (!parse_args ("uoo", argc, argv, &uuid, &callback, &errback))
- return FALSE;
-
- async_closure = g_slice_new (AsyncClosure);
- async_closure->obj = obj;
- async_closure->callback = funcs.retainobject (callback);
- async_closure->errback = funcs.retainobject (errback);
-
- g_dbus_proxy_call (obj->proxy,
- "InstallRemoteExtension",
- g_variant_new ("(s)", uuid),
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- install_extension_cb,
- async_closure);
-
- g_free (uuid);
-
- return TRUE;
-}
-
-static gboolean
-plugin_uninstall_extension (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- GError *error = NULL;
- GVariant *res;
- gchar *uuid;
-
- if (!parse_args ("u", argc, argv, &uuid))
- return FALSE;
-
- res = g_dbus_proxy_call_sync (obj->proxy,
- "UninstallExtension",
- g_variant_new ("(s)", uuid),
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- &error);
-
- g_free (uuid);
-
- if (!res)
- {
- g_warning ("Failed to uninstall extension: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
-
- return jsonify_variant (res, result);
-}
-
-static gboolean
-plugin_get_info (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- GError *error = NULL;
- GVariant *res;
- gchar *uuid;
-
- if (!parse_args ("u", argc, argv, &uuid))
- return FALSE;
-
- res = g_dbus_proxy_call_sync (obj->proxy,
- "GetExtensionInfo",
- g_variant_new ("(s)", uuid),
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- &error);
-
- g_free (uuid);
-
- if (!res)
- {
- g_warning ("Failed to retrieve extension metadata: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
-
- return jsonify_variant (res, result);
-}
-
-static gboolean
-plugin_get_errors (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- GError *error = NULL;
- GVariant *res;
- gchar *uuid;
-
- if (!parse_args ("u", argc, argv, &uuid))
- return FALSE;
-
- res = g_dbus_proxy_call_sync (obj->proxy,
- "GetExtensionErrors",
- g_variant_new ("(s)", uuid),
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- &error);
-
- if (!res)
- {
- g_warning ("Failed to retrieve errors: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
-
- return jsonify_variant (res, result);
-}
-
-static gboolean
-plugin_launch_extension_prefs (PluginObject *obj,
- uint32_t argc,
- const NPVariant *argv,
- NPVariant *result)
-{
- gchar *uuid;
-
- if (!parse_args ("u", argc, argv, &uuid))
- return FALSE;
-
- g_dbus_proxy_call (obj->proxy,
- "LaunchExtensionPrefs",
- g_variant_new ("(s)", uuid),
- G_DBUS_CALL_FLAGS_NONE,
- -1, /* timeout */
- NULL, /* cancellable */
- NULL, /* callback */
- NULL /* user_data */);
-
- return TRUE;
-}
-
-static int
-plugin_get_api_version (PluginObject *obj,
- NPVariant *result)
-{
- INT32_TO_NPVARIANT (PLUGIN_API_VERSION, *result);
- return TRUE;
-}
-
-static gboolean
-plugin_get_shell_version (PluginObject *obj,
- NPVariant *result)
-{
- GVariant *res;
- const gchar *version;
- gsize length;
- gchar *buffer;
- gboolean ret;
-
- ret = TRUE;
-
- res = g_dbus_proxy_get_cached_property (obj->proxy,
- "ShellVersion");
-
- if (res == NULL)
- {
- g_warning ("Failed to grab shell version.");
- version = "-1";
- }
- else
- {
- g_variant_get (res, "&s", &version);
- }
-
- length = strlen (version);
- buffer = funcs.memalloc (length + 1);
- if (!buffer)
- {
- ret = FALSE;
- goto out;
- }
- strcpy (buffer, version);
-
- STRINGN_TO_NPVARIANT (buffer, length, *result);
-
- out:
- if (res)
- g_variant_unref (res);
- return ret;
-}
-
-static gboolean
-plugin_get_version_validation_enabled (PluginObject *obj,
- NPVariant *result)
-{
- gboolean is_enabled = !g_settings_get_boolean (obj->settings, EXTENSION_DISABLE_VERSION_CHECK_KEY);
- BOOLEAN_TO_NPVARIANT(is_enabled, *result);
-
- return TRUE;
-}
-
-#define METHODS \
- METHOD (list_extensions) \
- METHOD (get_info) \
- METHOD (enable_extension) \
- METHOD (install_extension) \
- METHOD (uninstall_extension) \
- METHOD (get_errors) \
- METHOD (launch_extension_prefs) \
- /* */
-
-#define METHOD(x) \
- static NPIdentifier x##_id;
-METHODS
-#undef METHOD
-
-static NPIdentifier api_version_id;
-static NPIdentifier shell_version_id;
-static NPIdentifier onextension_changed_id;
-static NPIdentifier onrestart_id;
-static NPIdentifier version_validation_enabled_id;
-
-
-static bool
-plugin_object_has_method (NPObject *npobj,
- NPIdentifier name)
-{
-#define METHOD(x) (name == (x##_id)) ||
- /* expands to (name == list_extensions_id) || FALSE; */
- return METHODS FALSE;
-#undef METHOD
-}
-
-static bool
-plugin_object_invoke (NPObject *npobj,
- NPIdentifier name,
- const NPVariant *argv,
- uint32_t argc,
- NPVariant *result)
-{
- PluginObject *obj;
-
- g_debug ("invoking plugin object method");
-
- obj = (PluginObject*) npobj;
-
- VOID_TO_NPVARIANT (*result);
-
-#define METHOD(x) \
- if (name == x##_id) \
- return plugin_##x (obj, argc, argv, result);
-METHODS
-#undef METHOD
-
- return FALSE;
-}
-
-static bool
-plugin_object_has_property (NPObject *npobj,
- NPIdentifier name)
-{
- return (name == onextension_changed_id ||
- name == onrestart_id ||
- name == api_version_id ||
- name == shell_version_id ||
- name == version_validation_enabled_id);
-}
-
-static bool
-plugin_object_get_property (NPObject *npobj,
- NPIdentifier name,
- NPVariant *result)
-{
- PluginObject *obj;
-
- if (!plugin_object_has_property (npobj, name))
- return FALSE;
-
- obj = (PluginObject*) npobj;
- if (name == api_version_id)
- return plugin_get_api_version (obj, result);
- else if (name == shell_version_id)
- return plugin_get_shell_version (obj, result);
- else if (name == version_validation_enabled_id)
- return plugin_get_version_validation_enabled (obj, result);
- else if (name == onextension_changed_id)
- {
- if (obj->listener)
- OBJECT_TO_NPVARIANT (obj->listener, *result);
- else
- NULL_TO_NPVARIANT (*result);
- }
- else if (name == onrestart_id)
- {
- if (obj->restart_listener)
- OBJECT_TO_NPVARIANT (obj->restart_listener, *result);
- else
- NULL_TO_NPVARIANT (*result);
- }
-
- return TRUE;
-}
-
-static bool
-plugin_object_set_callback (NPObject **listener,
- const NPVariant *value)
-{
- if (!NPVARIANT_IS_OBJECT (*value) && !NPVARIANT_IS_NULL (*value))
- return FALSE;
-
- if (*listener)
- funcs.releaseobject (*listener);
- *listener = NULL;
-
- if (NPVARIANT_IS_OBJECT (*value))
- {
- *listener = NPVARIANT_TO_OBJECT (*value);
- funcs.retainobject (*listener);
- }
-
- return TRUE;
-}
-
-static bool
-plugin_object_set_property (NPObject *npobj,
- NPIdentifier name,
- const NPVariant *value)
-{
- PluginObject *obj;
-
- obj = (PluginObject *)npobj;
-
- if (name == onextension_changed_id)
- return plugin_object_set_callback (&obj->listener, value);
-
- if (name == onrestart_id)
- return plugin_object_set_callback (&obj->restart_listener, value);
-
- return FALSE;
-}
-
-static NPClass plugin_class = {
- NP_CLASS_STRUCT_VERSION,
- plugin_object_allocate,
- plugin_object_deallocate,
- NULL, /* invalidate */
- plugin_object_has_method,
- plugin_object_invoke,
- NULL, /* invoke default */
- plugin_object_has_property,
- plugin_object_get_property,
- plugin_object_set_property,
- NULL, /* remove property */
- NULL, /* enumerate */
- NULL, /* construct */
-};
-
-static void
-init_methods_and_properties (void)
-{
- /* this is the JS public API; it is manipulated through NPIdentifiers for speed */
- api_version_id = funcs.getstringidentifier ("apiVersion");
- shell_version_id = funcs.getstringidentifier ("shellVersion");
- version_validation_enabled_id = funcs.getstringidentifier ("versionValidationEnabled");
-
- get_info_id = funcs.getstringidentifier ("getExtensionInfo");
- list_extensions_id = funcs.getstringidentifier ("listExtensions");
- enable_extension_id = funcs.getstringidentifier ("setExtensionEnabled");
- install_extension_id = funcs.getstringidentifier ("installExtension");
- uninstall_extension_id = funcs.getstringidentifier ("uninstallExtension");
- get_errors_id = funcs.getstringidentifier ("getExtensionErrors");
- launch_extension_prefs_id = funcs.getstringidentifier ("launchExtensionPrefs");
-
- onrestart_id = funcs.getstringidentifier ("onshellrestart");
- onextension_changed_id = funcs.getstringidentifier ("onchange");
-}
-
-/* =============== public entry points =================== */
-
-NPError
-NP_Initialize(NPNetscapeFuncs *pfuncs, NPPluginFuncs *plugin)
-{
- /* global initialization routine, called once when plugin
- is loaded */
-
- g_debug ("plugin loaded");
-
- memcpy (&funcs, pfuncs, sizeof (funcs));
-
- plugin->size = sizeof(NPPluginFuncs);
- plugin->newp = NPP_New;
- plugin->destroy = NPP_Destroy;
- plugin->getvalue = NPP_GetValue;
- plugin->setwindow = NPP_SetWindow;
- plugin->event = NPP_HandleEvent;
-
- return NPERR_NO_ERROR;
-}
-
-NPError
-NP_Shutdown(void)
-{
- return NPERR_NO_ERROR;
-}
-
-const char*
-NP_GetMIMEDescription(void)
-{
- return PLUGIN_MIME_STRING;
-}
-
-NPError
-NP_GetValue(void *instance,
- NPPVariable variable,
- void *value)
-{
- switch (variable) {
- case NPPVpluginNameString:
- *(char**)value = PLUGIN_NAME;
- break;
- case NPPVpluginDescriptionString:
- *(char**)value = PLUGIN_DESCRIPTION;
- break;
- default:
- ;
- }
-
- return NPERR_NO_ERROR;
-}
-
-NPError
-NPP_New(NPMIMEType mimetype,
- NPP instance,
- uint16_t mode,
- int16_t argc,
- char **argn,
- char **argv,
- NPSavedData *saved)
-{
- /* instance initialization function */
- PluginObject *obj;
- GError *error = NULL;
-
- g_debug ("plugin created");
-
- if (!check_origin_and_protocol (instance))
- return NPERR_GENERIC_ERROR;
-
- /* set windowless mode */
- funcs.setvalue(instance, NPPVpluginWindowBool, NULL);
-
- g_debug ("creating scriptable object");
- init_methods_and_properties ();
- obj = (PluginObject *) funcs.createobject (instance, &plugin_class);
- instance->pdata = obj;
-
- obj->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
- G_DBUS_PROXY_FLAGS_NONE,
- NULL, /* interface info */
- "org.gnome.Shell",
- "/org/gnome/Shell",
- "org.gnome.Shell.Extensions",
- NULL, /* GCancellable */
- &error);
- if (!obj->proxy)
- {
- /* ignore error if the shell is not running, otherwise warn */
- if (!g_error_matches (error, G_DBUS_ERROR, G_DBUS_ERROR_NAME_HAS_NO_OWNER))
- {
- g_warning ("Failed to set up Shell proxy: %s", error->message);
- }
- g_clear_error (&error);
- return NPERR_GENERIC_ERROR;
- }
-
- obj->settings = g_settings_new (SHELL_SCHEMA);
- obj->signal_id = g_signal_connect (obj->proxy, "g-signal",
- G_CALLBACK (on_shell_signal), obj);
- obj->watch_name_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
- "org.gnome.Shell",
- G_BUS_NAME_WATCHER_FLAGS_NONE,
- on_shell_appeared,
- NULL,
- obj,
- NULL);
-
- g_debug ("plugin created successfully");
-
- return NPERR_NO_ERROR;
-}
-
-NPError
-NPP_Destroy(NPP instance,
- NPSavedData **saved)
-{
- /* instance finalization function */
- PluginObject *obj = (PluginObject *) instance->pdata;
-
- if (!obj)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- g_debug ("plugin destroyed");
-
- g_signal_handler_disconnect (obj->proxy, obj->signal_id);
- g_object_unref (obj->proxy);
-
- if (obj->listener)
- funcs.releaseobject (obj->listener);
-
- if (obj->restart_listener)
- funcs.releaseobject (obj->restart_listener);
-
- if (obj->watch_name_id)
- g_bus_unwatch_name (obj->watch_name_id);
-
- funcs.releaseobject((NPObject *)obj);
-
- return NPERR_NO_ERROR;
-}
-
-NPError
-NPP_GetValue(NPP instance,
- NPPVariable variable,
- void *value)
-{
- g_debug ("NPP_GetValue called");
-
- switch (variable) {
- case NPPVpluginScriptableNPObject:
- g_debug ("creating scriptable object");
- if (!instance->pdata)
- return NPERR_INVALID_INSTANCE_ERROR;
-
- funcs.retainobject (instance->pdata);
- *(NPObject**)value = instance->pdata;
- break;
-
- default:
- ;
- }
-
- return NPERR_NO_ERROR;
-}
-
-/* Opera tries to call NPP_SetWindow without checking the
- * NULL pointer beforehand. */
-NPError
-NPP_SetWindow(NPP instance,
- NPWindow *window)
-{
- return NPERR_NO_ERROR;
-}
-
-int16_t
-NPP_HandleEvent(NPP instance,
- void *event)
-{
- /* Ignore the event */
- return FALSE;
-}
diff --git a/browser-plugin/meson.build b/browser-plugin/meson.build
deleted file mode 100644
index d79188392..000000000
--- a/browser-plugin/meson.build
+++ /dev/null
@@ -1,19 +0,0 @@
-plugin_sources = [
- 'browser-plugin.c',
- 'npapi/npapi.h',
- 'npapi/npfunctions.h',
- 'npapi/npruntime.h',
- 'npapi/nptypes.h'
-]
-
-shared_module('gnome-shell-browser-plugin', plugin_sources,
- dependencies: [gio_dep, json_glib_dep],
- c_args: ['-DG_LOG_DOMAIN="GnomeShellBrowserPlugin"'],
- # Browsers can unload and reload the module while browsing, which is not
- # supported by GObject.
- # We pass -Wl,-z,nodelete to the linker to ensure the module is never
- # unloaded. See https://bugzilla.gnome.org/show_bug.cgi?id=737932.
- link_args: ['-Wl,-z,nodelete'],
- install: true,
- install_dir: plugindir
-)
diff --git a/browser-plugin/npapi/npapi.h b/browser-plugin/npapi/npapi.h
deleted file mode 100644
index ccf41be7c..000000000
--- a/browser-plugin/npapi/npapi.h
+++ /dev/null
@@ -1,893 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef npapi_h_
-#define npapi_h_
-
-#if defined(__OS2__)
-#pragma pack(1)
-#endif
-
-#include "nptypes.h"
-
-#if defined(__OS2__) || defined(OS2)
-#ifndef XP_OS2
-#define XP_OS2 1
-#endif
-#endif
-
-#if defined(_WIN32) && !defined(__SYMBIAN32__)
-#include
-#ifndef XP_WIN
-#define XP_WIN 1
-#endif
-#endif
-
-#if defined(__SYMBIAN32__)
-#ifndef XP_SYMBIAN
-#define XP_SYMBIAN 1
-#undef XP_WIN
-#endif
-#endif
-
-#if defined(__APPLE_CC__) && !defined(XP_UNIX)
-#ifndef XP_MACOSX
-#define XP_MACOSX 1
-#endif
-#endif
-
-#if defined(XP_MACOSX) && defined(__LP64__)
-#define NP_NO_QUICKDRAW
-#define NP_NO_CARBON
-#endif
-
-#if defined(XP_MACOSX)
-#include
-#include
-#ifndef NP_NO_CARBON
-#include
-#endif
-#endif
-
-#if defined(XP_UNIX)
-#include
-#if defined(MOZ_X11)
-#include
-#include
-#endif
-#endif
-
-#if defined(XP_SYMBIAN)
-#include
-#include
-#endif
-
-/*----------------------------------------------------------------------*/
-/* Plugin Version Constants */
-/*----------------------------------------------------------------------*/
-
-#define NP_VERSION_MAJOR 0
-#define NP_VERSION_MINOR 27
-
-
-/* The OS/2 version of Netscape uses RC_DATA to define the
- mime types, file extensions, etc that are required.
- Use a vertical bar to separate types, end types with \0.
- FileVersion and ProductVersion are 32bit ints, all other
- entries are strings that MUST be terminated with a \0.
-
-AN EXAMPLE:
-
-RCDATA NP_INFO_ProductVersion { 1,0,0,1,}
-
-RCDATA NP_INFO_MIMEType { "video/x-video|",
- "video/x-flick\0" }
-RCDATA NP_INFO_FileExtents { "avi|",
- "flc\0" }
-RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|",
- "MMOS2 Flc/Fli player(*.flc)\0" }
-
-RCDATA NP_INFO_FileVersion { 1,0,0,1 }
-RCDATA NP_INFO_CompanyName { "Netscape Communications\0" }
-RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0"
-RCDATA NP_INFO_InternalName { "NPAVI32\0" )
-RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0"
-RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" }
-RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" }
-*/
-/* RC_DATA types for version info - required */
-#define NP_INFO_ProductVersion 1
-#define NP_INFO_MIMEType 2
-#define NP_INFO_FileOpenName 3
-#define NP_INFO_FileExtents 4
-/* RC_DATA types for version info - used if found */
-#define NP_INFO_FileDescription 5
-#define NP_INFO_ProductName 6
-/* RC_DATA types for version info - optional */
-#define NP_INFO_CompanyName 7
-#define NP_INFO_FileVersion 8
-#define NP_INFO_InternalName 9
-#define NP_INFO_LegalCopyright 10
-#define NP_INFO_OriginalFilename 11
-
-#ifndef RC_INVOKED
-
-/*----------------------------------------------------------------------*/
-/* Definition of Basic Types */
-/*----------------------------------------------------------------------*/
-
-typedef unsigned char NPBool;
-typedef int16_t NPError;
-typedef int16_t NPReason;
-typedef char* NPMIMEType;
-
-/*----------------------------------------------------------------------*/
-/* Structures and definitions */
-/*----------------------------------------------------------------------*/
-
-#if !defined(__LP64__)
-#if defined(XP_MACOSX)
-#pragma options align=mac68k
-#endif
-#endif /* __LP64__ */
-
-/*
- * NPP is a plug-in's opaque instance handle
- */
-typedef struct _NPP
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
-} NPP_t;
-
-typedef NPP_t* NPP;
-
-typedef struct _NPStream
-{
- void* pdata; /* plug-in private data */
- void* ndata; /* netscape private data */
- const char* url;
- uint32_t end;
- uint32_t lastmodified;
- void* notifyData;
- const char* headers; /* Response headers from host.
- * Exists only for >= NPVERS_HAS_RESPONSE_HEADERS.
- * Used for HTTP only; NULL for non-HTTP.
- * Available from NPP_NewStream onwards.
- * Plugin should copy this data before storing it.
- * Includes HTTP status line and all headers,
- * preferably verbatim as received from server,
- * headers formatted as in HTTP ("Header: Value"),
- * and newlines (\n, NOT \r\n) separating lines.
- * Terminated by \n\0 (NOT \n\n\0). */
-} NPStream;
-
-typedef struct _NPByteRange
-{
- int32_t offset; /* negative offset means from the end */
- uint32_t length;
- struct _NPByteRange* next;
-} NPByteRange;
-
-typedef struct _NPSavedData
-{
- int32_t len;
- void* buf;
-} NPSavedData;
-
-typedef struct _NPRect
-{
- uint16_t top;
- uint16_t left;
- uint16_t bottom;
- uint16_t right;
-} NPRect;
-
-typedef struct _NPSize
-{
- int32_t width;
- int32_t height;
-} NPSize;
-
-typedef enum {
- NPFocusNext = 0,
- NPFocusPrevious = 1
-} NPFocusDirection;
-
-/* Return values for NPP_HandleEvent */
-#define kNPEventNotHandled 0
-#define kNPEventHandled 1
-/* Exact meaning must be spec'd in event model. */
-#define kNPEventStartIME 2
-
-#if defined(XP_UNIX)
-/*
- * Unix specific structures and definitions
- */
-
-/*
- * Callback Structures.
- *
- * These are used to pass additional platform specific information.
- */
-enum {
- NP_SETWINDOW = 1,
- NP_PRINT
-};
-
-typedef struct
-{
- int32_t type;
-} NPAnyCallbackStruct;
-
-typedef struct
-{
- int32_t type;
-#if defined(MOZ_X11)
- Display* display;
- Visual* visual;
- Colormap colormap;
- unsigned int depth;
-#endif
-} NPSetWindowCallbackStruct;
-
-typedef struct
-{
- int32_t type;
- FILE* fp;
-} NPPrintCallbackStruct;
-
-#endif /* XP_UNIX */
-
-#if defined(XP_MACOSX)
-typedef enum {
-#ifndef NP_NO_QUICKDRAW
- NPDrawingModelQuickDraw = 0,
-#endif
- NPDrawingModelCoreGraphics = 1,
- NPDrawingModelOpenGL = 2,
- NPDrawingModelCoreAnimation = 3,
- NPDrawingModelInvalidatingCoreAnimation = 4
-} NPDrawingModel;
-
-typedef enum {
-#ifndef NP_NO_CARBON
- NPEventModelCarbon = 0,
-#endif
- NPEventModelCocoa = 1
-} NPEventModel;
-#endif
-
-/*
- * The following masks are applied on certain platforms to NPNV and
- * NPPV selectors that pass around pointers to COM interfaces. Newer
- * compilers on some platforms may generate vtables that are not
- * compatible with older compilers. To prevent older plugins from
- * not understanding a new browser's ABI, these masks change the
- * values of those selectors on those platforms. To remain backwards
- * compatible with different versions of the browser, plugins can
- * use these masks to dynamically determine and use the correct C++
- * ABI that the browser is expecting. This does not apply to Windows
- * as Microsoft's COM ABI will likely not change.
- */
-
-#define NP_ABI_GCC3_MASK 0x10000000
-/*
- * gcc 3.x generated vtables on UNIX and OSX are incompatible with
- * previous compilers.
- */
-#if (defined(XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
-#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_GCC3 0
-#endif
-
-#if defined(XP_MACOSX)
-#define NP_ABI_MACHO_MASK 0x01000000
-#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
-#else
-#define _NP_ABI_MIXIN_FOR_MACHO 0
-#endif
-
-#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
-
-/*
- * List of variable names for which NPP_GetValue shall be implemented
- */
-typedef enum {
- NPPVpluginNameString = 1,
- NPPVpluginDescriptionString,
- NPPVpluginWindowBool,
- NPPVpluginTransparentBool,
- NPPVjavaClass,
- NPPVpluginWindowSize,
- NPPVpluginTimerInterval,
- NPPVpluginScriptableInstance = (10 | NP_ABI_MASK),
- NPPVpluginScriptableIID = 11,
- NPPVjavascriptPushCallerBool = 12,
- NPPVpluginKeepLibraryInMemory = 13,
- NPPVpluginNeedsXEmbed = 14,
-
- /* Get the NPObject for scripting the plugin. Introduced in NPAPI minor version 14.
- */
- NPPVpluginScriptableNPObject = 15,
-
- /* Get the plugin value (as \0-terminated UTF-8 string data) for
- * form submission if the plugin is part of a form. Use
- * NPN_MemAlloc() to allocate memory for the string data. Introduced
- * in NPAPI minor version 15.
- */
- NPPVformValue = 16,
-
- NPPVpluginUrlRequestsDisplayedBool = 17,
-
- /* Checks if the plugin is interested in receiving the http body of
- * all http requests (including failed ones, http status != 200).
- */
- NPPVpluginWantsAllNetworkStreams = 18,
-
- /* Browsers can retrieve a native ATK accessibility plug ID via this variable. */
- NPPVpluginNativeAccessibleAtkPlugId = 19,
-
- /* Checks to see if the plug-in would like the browser to load the "src" attribute. */
- NPPVpluginCancelSrcStream = 20,
-
- NPPVsupportsAdvancedKeyHandling = 21,
-
- NPPVpluginUsesDOMForCursorBool = 22
-
-#if defined(XP_MACOSX)
- /* Used for negotiating drawing models */
- , NPPVpluginDrawingModel = 1000
- /* Used for negotiating event models */
- , NPPVpluginEventModel = 1001
- /* In the NPDrawingModelCoreAnimation drawing model, the browser asks the plug-in for a Core Animation layer. */
- , NPPVpluginCoreAnimationLayer = 1003
-#endif
-
-#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)
- , NPPVpluginWindowlessLocalBool = 2002
-#endif
-} NPPVariable;
-
-/*
- * List of variable names for which NPN_GetValue should be implemented.
- */
-typedef enum {
- NPNVxDisplay = 1,
- NPNVxtAppContext,
- NPNVnetscapeWindow,
- NPNVjavascriptEnabledBool,
- NPNVasdEnabledBool,
- NPNVisOfflineBool,
-
- NPNVserviceManager = (10 | NP_ABI_MASK),
- NPNVDOMElement = (11 | NP_ABI_MASK),
- NPNVDOMWindow = (12 | NP_ABI_MASK),
- NPNVToolkit = (13 | NP_ABI_MASK),
- NPNVSupportsXEmbedBool = 14,
-
- /* Get the NPObject wrapper for the browser window. */
- NPNVWindowNPObject = 15,
-
- /* Get the NPObject wrapper for the plugins DOM element. */
- NPNVPluginElementNPObject = 16,
-
- NPNVSupportsWindowless = 17,
-
- NPNVprivateModeBool = 18,
-
- NPNVsupportsAdvancedKeyHandling = 21
-
-#if defined(XP_MACOSX)
- /* Used for negotiating drawing models */
- , NPNVpluginDrawingModel = 1000
-#ifndef NP_NO_QUICKDRAW
- , NPNVsupportsQuickDrawBool = 2000
-#endif
- , NPNVsupportsCoreGraphicsBool = 2001
- , NPNVsupportsOpenGLBool = 2002
- , NPNVsupportsCoreAnimationBool = 2003
- , NPNVsupportsInvalidatingCoreAnimationBool = 2004
-#ifndef NP_NO_CARBON
- , NPNVsupportsCarbonBool = 3000 /* TRUE if the browser supports the Carbon event model */
-#endif
- , NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
- , NPNVsupportsUpdatedCocoaTextInputBool = 3002 /* TRUE if the browser supports the updated
- Cocoa text input specification. */
- , NPNVsupportsCompositingCoreAnimationPluginsBool = 74656 /* TRUE if the browser supports
- CA model compositing */
-#endif
-#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)
- , NPNVSupportsWindowlessLocal = 2002
-#endif
-} NPNVariable;
-
-typedef enum {
- NPNURLVCookie = 501,
- NPNURLVProxy
-} NPNURLVariable;
-
-/*
- * The type of Toolkit the widgets use
- */
-typedef enum {
- NPNVGtk12 = 1,
- NPNVGtk2
-} NPNToolkitType;
-
-/*
- * The type of a NPWindow - it specifies the type of the data structure
- * returned in the window field.
- */
-typedef enum {
- NPWindowTypeWindow = 1,
- NPWindowTypeDrawable
-} NPWindowType;
-
-typedef struct _NPWindow
-{
- void* window; /* Platform specific window handle */
- /* OS/2: x - Position of bottom left corner */
- /* OS/2: y - relative to visible netscape window */
- int32_t x; /* Position of top left corner relative */
- int32_t y; /* to a netscape page. */
- uint32_t width; /* Maximum window size */
- uint32_t height;
- NPRect clipRect; /* Clipping rectangle in port coordinates */
-#if (defined(XP_UNIX) || defined(XP_SYMBIAN)) && !defined(XP_MACOSX)
- void * ws_info; /* Platform-dependent additional data */
-#endif /* XP_UNIX */
- NPWindowType type; /* Is this a window or a drawable? */
-} NPWindow;
-
-typedef struct _NPImageExpose
-{
- char* data; /* image pointer */
- int32_t stride; /* Stride of data image pointer */
- int32_t depth; /* Depth of image pointer */
- int32_t x; /* Expose x */
- int32_t y; /* Expose y */
- uint32_t width; /* Expose width */
- uint32_t height; /* Expose height */
- NPSize dataSize; /* Data buffer size */
- float translateX; /* translate X matrix value */
- float translateY; /* translate Y matrix value */
- float scaleX; /* scale X matrix value */
- float scaleY; /* scale Y matrix value */
-} NPImageExpose;
-
-typedef struct _NPFullPrint
-{
- NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */
- NPBool printOne; /* TRUE if plugin should print one copy to default
- printer */
- void* platformPrint; /* Platform-specific printing info */
-} NPFullPrint;
-
-typedef struct _NPEmbedPrint
-{
- NPWindow window;
- void* platformPrint; /* Platform-specific printing info */
-} NPEmbedPrint;
-
-typedef struct _NPPrint
-{
- uint16_t mode; /* NP_FULL or NP_EMBED */
- union
- {
- NPFullPrint fullPrint; /* if mode is NP_FULL */
- NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
- } print;
-} NPPrint;
-
-#if defined(XP_MACOSX)
-#ifndef NP_NO_CARBON
-typedef EventRecord NPEvent;
-#endif
-#elif defined(XP_SYMBIAN)
-typedef QEvent NPEvent;
-#elif defined(XP_WIN)
-typedef struct _NPEvent
-{
- uint16_t event;
- uintptr_t wParam;
- uintptr_t lParam;
-} NPEvent;
-#elif defined(XP_OS2)
-typedef struct _NPEvent
-{
- uint32_t event;
- uint32_t wParam;
- uint32_t lParam;
-} NPEvent;
-#elif defined(XP_UNIX) && defined(MOZ_X11)
-typedef XEvent NPEvent;
-#else
-typedef void* NPEvent;
-#endif
-
-#if defined(XP_MACOSX)
-typedef void* NPRegion;
-#ifndef NP_NO_QUICKDRAW
-typedef RgnHandle NPQDRegion;
-#endif
-typedef CGPathRef NPCGRegion;
-#elif defined(XP_WIN)
-typedef HRGN NPRegion;
-#elif defined(XP_UNIX) && defined(MOZ_X11)
-typedef Region NPRegion;
-#elif defined(XP_SYMBIAN)
-typedef QRegion* NPRegion;
-#else
-typedef void *NPRegion;
-#endif
-
-typedef struct _NPNSString NPNSString;
-typedef struct _NPNSWindow NPNSWindow;
-typedef struct _NPNSMenu NPNSMenu;
-
-#if defined(XP_MACOSX)
-typedef NPNSMenu NPMenu;
-#else
-typedef void *NPMenu;
-#endif
-
-typedef enum {
- NPCoordinateSpacePlugin = 1,
- NPCoordinateSpaceWindow,
- NPCoordinateSpaceFlippedWindow,
- NPCoordinateSpaceScreen,
- NPCoordinateSpaceFlippedScreen
-} NPCoordinateSpace;
-
-#if defined(XP_MACOSX)
-
-#ifndef NP_NO_QUICKDRAW
-typedef struct NP_Port
-{
- CGrafPtr port;
- int32_t portx; /* position inside the topmost window */
- int32_t porty;
-} NP_Port;
-#endif /* NP_NO_QUICKDRAW */
-
-/*
- * NP_CGContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelCoreGraphics
- * as its drawing model.
- */
-
-typedef struct NP_CGContext
-{
- CGContextRef context;
- void *window; /* A WindowRef under the Carbon event model. */
-} NP_CGContext;
-
-/*
- * NP_GLContext is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelOpenGL as its
- * drawing model.
- */
-
-typedef struct NP_GLContext
-{
- CGLContextObj context;
-#ifdef NP_NO_CARBON
- NPNSWindow *window;
-#else
- void *window; /* Can be either an NSWindow or a WindowRef depending on the event model */
-#endif
-} NP_GLContext;
-
-typedef enum {
- NPCocoaEventDrawRect = 1,
- NPCocoaEventMouseDown,
- NPCocoaEventMouseUp,
- NPCocoaEventMouseMoved,
- NPCocoaEventMouseEntered,
- NPCocoaEventMouseExited,
- NPCocoaEventMouseDragged,
- NPCocoaEventKeyDown,
- NPCocoaEventKeyUp,
- NPCocoaEventFlagsChanged,
- NPCocoaEventFocusChanged,
- NPCocoaEventWindowFocusChanged,
- NPCocoaEventScrollWheel,
- NPCocoaEventTextInput
-} NPCocoaEventType;
-
-typedef struct _NPCocoaEvent {
- NPCocoaEventType type;
- uint32_t version;
- union {
- struct {
- uint32_t modifierFlags;
- double pluginX;
- double pluginY;
- int32_t buttonNumber;
- int32_t clickCount;
- double deltaX;
- double deltaY;
- double deltaZ;
- } mouse;
- struct {
- uint32_t modifierFlags;
- NPNSString *characters;
- NPNSString *charactersIgnoringModifiers;
- NPBool isARepeat;
- uint16_t keyCode;
- } key;
- struct {
- CGContextRef context;
- double x;
- double y;
- double width;
- double height;
- } draw;
- struct {
- NPBool hasFocus;
- } focus;
- struct {
- NPNSString *text;
- } text;
- } data;
-} NPCocoaEvent;
-
-#ifndef NP_NO_CARBON
-/* Non-standard event types that can be passed to HandleEvent */
-enum NPEventType {
- NPEventType_GetFocusEvent = (osEvt + 16),
- NPEventType_LoseFocusEvent,
- NPEventType_AdjustCursorEvent,
- NPEventType_MenuCommandEvent,
- NPEventType_ClippingChangedEvent,
- NPEventType_ScrollingBeginsEvent = 1000,
- NPEventType_ScrollingEndsEvent
-};
-#endif /* NP_NO_CARBON */
-
-#endif /* XP_MACOSX */
-
-/*
- * Values for mode passed to NPP_New:
- */
-#define NP_EMBED 1
-#define NP_FULL 2
-
-/*
- * Values for stream type passed to NPP_NewStream:
- */
-#define NP_NORMAL 1
-#define NP_SEEK 2
-#define NP_ASFILE 3
-#define NP_ASFILEONLY 4
-
-#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
-
-/*
- * Flags for NPP_ClearSiteData.
- */
-#define NP_CLEAR_ALL 0
-#define NP_CLEAR_CACHE (1 << 0)
-
-#if !defined(__LP64__)
-#if defined(XP_MACOSX)
-#pragma options align=reset
-#endif
-#endif /* __LP64__ */
-
-/*----------------------------------------------------------------------*/
-/* Error and Reason Code definitions */
-/*----------------------------------------------------------------------*/
-
-/*
- * Values of type NPError:
- */
-#define NPERR_BASE 0
-#define NPERR_NO_ERROR (NPERR_BASE + 0)
-#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
-#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
-#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
-#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
-#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
-#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
-#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
-#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
-#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
-#define NPERR_INVALID_URL (NPERR_BASE + 10)
-#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
-#define NPERR_NO_DATA (NPERR_BASE + 12)
-#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
-#define NPERR_TIME_RANGE_NOT_SUPPORTED (NPERR_BASE + 14)
-#define NPERR_MALFORMED_SITE (NPERR_BASE + 15)
-
-/*
- * Values of type NPReason:
- */
-#define NPRES_BASE 0
-#define NPRES_DONE (NPRES_BASE + 0)
-#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
-#define NPRES_USER_BREAK (NPRES_BASE + 2)
-
-/*
- * Don't use these obsolete error codes any more.
- */
-#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
-#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
-#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
-
-/*
- * Version feature information
- */
-#define NPVERS_HAS_STREAMOUTPUT 8
-#define NPVERS_HAS_NOTIFICATION 9
-#define NPVERS_HAS_LIVECONNECT 9
-#define NPVERS_68K_HAS_LIVECONNECT 11
-#define NPVERS_HAS_WINDOWLESS 11
-#define NPVERS_HAS_XPCONNECT_SCRIPTING 13
-#define NPVERS_HAS_NPRUNTIME_SCRIPTING 14
-#define NPVERS_HAS_FORM_VALUES 15
-#define NPVERS_HAS_POPUPS_ENABLED_STATE 16
-#define NPVERS_HAS_RESPONSE_HEADERS 17
-#define NPVERS_HAS_NPOBJECT_ENUM 18
-#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
-#define NPVERS_HAS_ALL_NETWORK_STREAMS 20
-#define NPVERS_HAS_URL_AND_AUTH_INFO 21
-#define NPVERS_HAS_PRIVATE_MODE 22
-#define NPVERS_MACOSX_HAS_COCOA_EVENTS 23
-#define NPVERS_HAS_ADVANCED_KEY_HANDLING 25
-#define NPVERS_HAS_URL_REDIRECT_HANDLING 26
-#define NPVERS_HAS_CLEAR_SITE_DATA 27
-
-/*----------------------------------------------------------------------*/
-/* Function Prototypes */
-/*----------------------------------------------------------------------*/
-
-#if defined(__OS2__)
-#define NP_LOADDS _System
-#else
-#define NP_LOADDS
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* NPP_* functions are provided by the plugin and called by the navigator. */
-
-#if defined(XP_UNIX)
-const char* NPP_GetMIMEDescription(void);
-#endif
-
-NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
- uint16_t mode, int16_t argc, char* argn[],
- char* argv[], NPSavedData* saved);
-NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
-NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
-NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
- NPStream* stream, NPBool seekable,
- uint16_t* stype);
-NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
- NPReason reason);
-int32_t NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
-int32_t NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32_t offset,
- int32_t len, void* buffer);
-void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
- const char* fname);
-void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
-int16_t NP_LOADDS NPP_HandleEvent(NPP instance, void* event);
-void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
- NPReason reason, void* notifyData);
-NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value);
-NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value);
-NPBool NP_LOADDS NPP_GotFocus(NPP instance, NPFocusDirection direction);
-void NP_LOADDS NPP_LostFocus(NPP instance);
-void NP_LOADDS NPP_URLRedirectNotify(NPP instance, const char* url, int32_t status, void* notifyData);
-NPError NP_LOADDS NPP_ClearSiteData(const char* site, uint64_t flags, uint64_t maxAge);
-char** NP_LOADDS NPP_GetSitesWithData(void);
-
-/* NPN_* functions are provided by the navigator and called by the plugin. */
-void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor,
- int* netscape_major, int* netscape_minor);
-NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url,
- const char* target, void* notifyData);
-NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url,
- const char* target);
-NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url,
- const char* target, uint32_t len,
- const char* buf, NPBool file,
- void* notifyData);
-NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url,
- const char* target, uint32_t len,
- const char* buf, NPBool file);
-NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
-NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
- const char* target, NPStream** stream);
-int32_t NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32_t len,
- void* buffer);
-NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream,
- NPReason reason);
-void NP_LOADDS NPN_Status(NPP instance, const char* message);
-const char* NP_LOADDS NPN_UserAgent(NPP instance);
-void* NP_LOADDS NPN_MemAlloc(uint32_t size);
-void NP_LOADDS NPN_MemFree(void* ptr);
-uint32_t NP_LOADDS NPN_MemFlush(uint32_t size);
-void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages);
-NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable,
- void *value);
-NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable,
- void *value);
-void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
-void NP_LOADDS NPN_InvalidateRegion(NPP instance,
- NPRegion invalidRegion);
-void NP_LOADDS NPN_ForceRedraw(NPP instance);
-void NP_LOADDS NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
-void NP_LOADDS NPN_PopPopupsEnabledState(NPP instance);
-void NP_LOADDS NPN_PluginThreadAsyncCall(NPP instance,
- void (*func) (void *),
- void *userData);
-NPError NP_LOADDS NPN_GetValueForURL(NPP instance, NPNURLVariable variable,
- const char *url, char **value,
- uint32_t *len);
-NPError NP_LOADDS NPN_SetValueForURL(NPP instance, NPNURLVariable variable,
- const char *url, const char *value,
- uint32_t len);
-NPError NP_LOADDS NPN_GetAuthenticationInfo(NPP instance,
- const char *protocol,
- const char *host, int32_t port,
- const char *scheme,
- const char *realm,
- char **username, uint32_t *ulen,
- char **password,
- uint32_t *plen);
-uint32_t NP_LOADDS NPN_ScheduleTimer(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID));
-void NP_LOADDS NPN_UnscheduleTimer(NPP instance, uint32_t timerID);
-NPError NP_LOADDS NPN_PopUpContextMenu(NPP instance, NPMenu* menu);
-NPBool NP_LOADDS NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
-NPBool NP_LOADDS NPN_HandleEvent(NPP instance, void *event, NPBool handled);
-NPBool NP_LOADDS NPN_UnfocusInstance(NPP instance, NPFocusDirection direction);
-void NP_LOADDS NPN_URLRedirectResponse(NPP instance, void* notifyData, NPBool allow);
-
-#ifdef __cplusplus
-} /* end extern "C" */
-#endif
-
-#endif /* RC_INVOKED */
-#if defined(__OS2__)
-#pragma pack()
-#endif
-
-#endif /* npapi_h_ */
diff --git a/browser-plugin/npapi/npfunctions.h b/browser-plugin/npapi/npfunctions.h
deleted file mode 100644
index 3b70a3941..000000000
--- a/browser-plugin/npapi/npfunctions.h
+++ /dev/null
@@ -1,322 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef npfunctions_h_
-#define npfunctions_h_
-
-#ifdef __OS2__
-#pragma pack(1)
-#define NP_LOADDS _System
-#else
-#define NP_LOADDS
-#endif
-
-#include "npapi.h"
-#include "npruntime.h"
-
-typedef NPError (* NP_LOADDS NPP_NewProcPtr)(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved);
-typedef NPError (* NP_LOADDS NPP_DestroyProcPtr)(NPP instance, NPSavedData** save);
-typedef NPError (* NP_LOADDS NPP_SetWindowProcPtr)(NPP instance, NPWindow* window);
-typedef NPError (* NP_LOADDS NPP_NewStreamProcPtr)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16_t* stype);
-typedef NPError (* NP_LOADDS NPP_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
-typedef int32_t (* NP_LOADDS NPP_WriteReadyProcPtr)(NPP instance, NPStream* stream);
-typedef int32_t (* NP_LOADDS NPP_WriteProcPtr)(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer);
-typedef void (* NP_LOADDS NPP_StreamAsFileProcPtr)(NPP instance, NPStream* stream, const char* fname);
-typedef void (* NP_LOADDS NPP_PrintProcPtr)(NPP instance, NPPrint* platformPrint);
-typedef int16_t (* NP_LOADDS NPP_HandleEventProcPtr)(NPP instance, void* event);
-typedef void (* NP_LOADDS NPP_URLNotifyProcPtr)(NPP instance, const char* url, NPReason reason, void* notifyData);
-/* Any NPObjects returned to the browser via NPP_GetValue should be retained
- by the plugin on the way out. The browser is responsible for releasing. */
-typedef NPError (* NP_LOADDS NPP_GetValueProcPtr)(NPP instance, NPPVariable variable, void *ret_value);
-typedef NPError (* NP_LOADDS NPP_SetValueProcPtr)(NPP instance, NPNVariable variable, void *value);
-typedef NPBool (* NP_LOADDS NPP_GotFocusPtr)(NPP instance, NPFocusDirection direction);
-typedef void (* NP_LOADDS NPP_LostFocusPtr)(NPP instance);
-typedef void (* NP_LOADDS NPP_URLRedirectNotifyPtr)(NPP instance, const char* url, int32_t status, void* notifyData);
-typedef NPError (* NP_LOADDS NPP_ClearSiteDataPtr)(const char* site, uint64_t flags, uint64_t maxAge);
-typedef char** (* NP_LOADDS NPP_GetSitesWithDataPtr)(void);
-
-typedef NPError (*NPN_GetValueProcPtr)(NPP instance, NPNVariable variable, void *ret_value);
-typedef NPError (*NPN_SetValueProcPtr)(NPP instance, NPPVariable variable, void *value);
-typedef NPError (*NPN_GetURLNotifyProcPtr)(NPP instance, const char* url, const char* window, void* notifyData);
-typedef NPError (*NPN_PostURLNotifyProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData);
-typedef NPError (*NPN_GetURLProcPtr)(NPP instance, const char* url, const char* window);
-typedef NPError (*NPN_PostURLProcPtr)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file);
-typedef NPError (*NPN_RequestReadProcPtr)(NPStream* stream, NPByteRange* rangeList);
-typedef NPError (*NPN_NewStreamProcPtr)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
-typedef int32_t (*NPN_WriteProcPtr)(NPP instance, NPStream* stream, int32_t len, void* buffer);
-typedef NPError (*NPN_DestroyStreamProcPtr)(NPP instance, NPStream* stream, NPReason reason);
-typedef void (*NPN_StatusProcPtr)(NPP instance, const char* message);
-/* Browser manages the lifetime of the buffer returned by NPN_UserAgent, don't
- depend on it sticking around and don't free it. */
-typedef const char* (*NPN_UserAgentProcPtr)(NPP instance);
-typedef void* (*NPN_MemAllocProcPtr)(uint32_t size);
-typedef void (*NPN_MemFreeProcPtr)(void* ptr);
-typedef uint32_t (*NPN_MemFlushProcPtr)(uint32_t size);
-typedef void (*NPN_ReloadPluginsProcPtr)(NPBool reloadPages);
-typedef void* (*NPN_GetJavaEnvProcPtr)(void);
-typedef void* (*NPN_GetJavaPeerProcPtr)(NPP instance);
-typedef void (*NPN_InvalidateRectProcPtr)(NPP instance, NPRect *rect);
-typedef void (*NPN_InvalidateRegionProcPtr)(NPP instance, NPRegion region);
-typedef void (*NPN_ForceRedrawProcPtr)(NPP instance);
-typedef NPIdentifier (*NPN_GetStringIdentifierProcPtr)(const NPUTF8* name);
-typedef void (*NPN_GetStringIdentifiersProcPtr)(const NPUTF8** names, int32_t nameCount, NPIdentifier* identifiers);
-typedef NPIdentifier (*NPN_GetIntIdentifierProcPtr)(int32_t intid);
-typedef bool (*NPN_IdentifierIsStringProcPtr)(NPIdentifier identifier);
-typedef NPUTF8* (*NPN_UTF8FromIdentifierProcPtr)(NPIdentifier identifier);
-typedef int32_t (*NPN_IntFromIdentifierProcPtr)(NPIdentifier identifier);
-typedef NPObject* (*NPN_CreateObjectProcPtr)(NPP npp, NPClass *aClass);
-typedef NPObject* (*NPN_RetainObjectProcPtr)(NPObject *obj);
-typedef void (*NPN_ReleaseObjectProcPtr)(NPObject *obj);
-typedef bool (*NPN_InvokeProcPtr)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPN_InvokeDefaultProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef bool (*NPN_EvaluateProcPtr)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
-typedef bool (*NPN_GetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
-typedef bool (*NPN_SetPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
-typedef bool (*NPN_RemovePropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef bool (*NPN_HasPropertyProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef bool (*NPN_HasMethodProcPtr)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-typedef void (*NPN_ReleaseVariantValueProcPtr)(NPVariant *variant);
-typedef void (*NPN_SetExceptionProcPtr)(NPObject *obj, const NPUTF8 *message);
-typedef void (*NPN_PushPopupsEnabledStateProcPtr)(NPP npp, NPBool enabled);
-typedef void (*NPN_PopPopupsEnabledStateProcPtr)(NPP npp);
-typedef bool (*NPN_EnumerateProcPtr)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count);
-typedef void (*NPN_PluginThreadAsyncCallProcPtr)(NPP instance, void (*func)(void *), void *userData);
-typedef bool (*NPN_ConstructProcPtr)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-typedef NPError (*NPN_GetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, char **value, uint32_t *len);
-typedef NPError (*NPN_SetValueForURLPtr)(NPP npp, NPNURLVariable variable, const char *url, const char *value, uint32_t len);
-typedef NPError (*NPN_GetAuthenticationInfoPtr)(NPP npp, const char *protocol, const char *host, int32_t port, const char *scheme, const char *realm, char **username, uint32_t *ulen, char **password, uint32_t *plen);
-typedef uint32_t (*NPN_ScheduleTimerPtr)(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID));
-typedef void (*NPN_UnscheduleTimerPtr)(NPP instance, uint32_t timerID);
-typedef NPError (*NPN_PopUpContextMenuPtr)(NPP instance, NPMenu* menu);
-typedef NPBool (*NPN_ConvertPointPtr)(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace);
-typedef NPBool (*NPN_HandleEventPtr)(NPP instance, void *event, NPBool handled);
-typedef NPBool (*NPN_UnfocusInstancePtr)(NPP instance, NPFocusDirection direction);
-typedef void (*NPN_URLRedirectResponsePtr)(NPP instance, void* notifyData, NPBool allow);
-
-typedef struct _NPPluginFuncs {
- uint16_t size;
- uint16_t version;
- NPP_NewProcPtr newp;
- NPP_DestroyProcPtr destroy;
- NPP_SetWindowProcPtr setwindow;
- NPP_NewStreamProcPtr newstream;
- NPP_DestroyStreamProcPtr destroystream;
- NPP_StreamAsFileProcPtr asfile;
- NPP_WriteReadyProcPtr writeready;
- NPP_WriteProcPtr write;
- NPP_PrintProcPtr print;
- NPP_HandleEventProcPtr event;
- NPP_URLNotifyProcPtr urlnotify;
- void* javaClass;
- NPP_GetValueProcPtr getvalue;
- NPP_SetValueProcPtr setvalue;
- NPP_GotFocusPtr gotfocus;
- NPP_LostFocusPtr lostfocus;
- NPP_URLRedirectNotifyPtr urlredirectnotify;
- NPP_ClearSiteDataPtr clearsitedata;
- NPP_GetSitesWithDataPtr getsiteswithdata;
-} NPPluginFuncs;
-
-typedef struct _NPNetscapeFuncs {
- uint16_t size;
- uint16_t version;
- NPN_GetURLProcPtr geturl;
- NPN_PostURLProcPtr posturl;
- NPN_RequestReadProcPtr requestread;
- NPN_NewStreamProcPtr newstream;
- NPN_WriteProcPtr write;
- NPN_DestroyStreamProcPtr destroystream;
- NPN_StatusProcPtr status;
- NPN_UserAgentProcPtr uagent;
- NPN_MemAllocProcPtr memalloc;
- NPN_MemFreeProcPtr memfree;
- NPN_MemFlushProcPtr memflush;
- NPN_ReloadPluginsProcPtr reloadplugins;
- NPN_GetJavaEnvProcPtr getJavaEnv;
- NPN_GetJavaPeerProcPtr getJavaPeer;
- NPN_GetURLNotifyProcPtr geturlnotify;
- NPN_PostURLNotifyProcPtr posturlnotify;
- NPN_GetValueProcPtr getvalue;
- NPN_SetValueProcPtr setvalue;
- NPN_InvalidateRectProcPtr invalidaterect;
- NPN_InvalidateRegionProcPtr invalidateregion;
- NPN_ForceRedrawProcPtr forceredraw;
- NPN_GetStringIdentifierProcPtr getstringidentifier;
- NPN_GetStringIdentifiersProcPtr getstringidentifiers;
- NPN_GetIntIdentifierProcPtr getintidentifier;
- NPN_IdentifierIsStringProcPtr identifierisstring;
- NPN_UTF8FromIdentifierProcPtr utf8fromidentifier;
- NPN_IntFromIdentifierProcPtr intfromidentifier;
- NPN_CreateObjectProcPtr createobject;
- NPN_RetainObjectProcPtr retainobject;
- NPN_ReleaseObjectProcPtr releaseobject;
- NPN_InvokeProcPtr invoke;
- NPN_InvokeDefaultProcPtr invokeDefault;
- NPN_EvaluateProcPtr evaluate;
- NPN_GetPropertyProcPtr getproperty;
- NPN_SetPropertyProcPtr setproperty;
- NPN_RemovePropertyProcPtr removeproperty;
- NPN_HasPropertyProcPtr hasproperty;
- NPN_HasMethodProcPtr hasmethod;
- NPN_ReleaseVariantValueProcPtr releasevariantvalue;
- NPN_SetExceptionProcPtr setexception;
- NPN_PushPopupsEnabledStateProcPtr pushpopupsenabledstate;
- NPN_PopPopupsEnabledStateProcPtr poppopupsenabledstate;
- NPN_EnumerateProcPtr enumerate;
- NPN_PluginThreadAsyncCallProcPtr pluginthreadasynccall;
- NPN_ConstructProcPtr construct;
- NPN_GetValueForURLPtr getvalueforurl;
- NPN_SetValueForURLPtr setvalueforurl;
- NPN_GetAuthenticationInfoPtr getauthenticationinfo;
- NPN_ScheduleTimerPtr scheduletimer;
- NPN_UnscheduleTimerPtr unscheduletimer;
- NPN_PopUpContextMenuPtr popupcontextmenu;
- NPN_ConvertPointPtr convertpoint;
- NPN_HandleEventPtr handleevent;
- NPN_UnfocusInstancePtr unfocusinstance;
- NPN_URLRedirectResponsePtr urlredirectresponse;
-} NPNetscapeFuncs;
-
-#ifdef XP_MACOSX
-/*
- * Mac OS X version(s) of NP_GetMIMEDescription(const char *)
- * These can be called to retreive MIME information from the plugin dynamically
- *
- * Note: For compatibility with Quicktime, BPSupportedMIMEtypes is another way
- * to get mime info from the plugin only on OSX and may not be supported
- * in furture version -- use NP_GetMIMEDescription instead
- */
-enum
-{
- kBPSupportedMIMETypesStructVers_1 = 1
-};
-typedef struct _BPSupportedMIMETypes
-{
- SInt32 structVersion; /* struct version */
- Handle typeStrings; /* STR# formated handle, allocated by plug-in */
- Handle infoStrings; /* STR# formated handle, allocated by plug-in */
-} BPSupportedMIMETypes;
-OSErr BP_GetSupportedMIMETypes(BPSupportedMIMETypes *mimeInfo, UInt32 flags);
-#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
-typedef const char* (*NP_GetMIMEDescriptionProcPtr)(void);
-typedef OSErr (*BP_GetSupportedMIMETypesProcPtr)(BPSupportedMIMETypes*, UInt32);
-#endif
-
-#if defined(_WIN32)
-#define OSCALL WINAPI
-#else
-#if defined(__OS2__)
-#define OSCALL _System
-#else
-#define OSCALL
-#endif
-#endif
-
-#if defined(XP_UNIX)
-/* GCC 3.3 and later support the visibility attribute. */
-#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
-#define NP_VISIBILITY_DEFAULT __attribute__((visibility("default")))
-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#define NP_VISIBILITY_DEFAULT __global
-#else
-#define NP_VISIBILITY_DEFAULT
-#endif
-#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
-#endif
-
-#if defined(_WIN32) || defined (__OS2__)
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* plugin meta member functions */
-#if defined(__OS2__)
-typedef struct _NPPluginData { /* Alternate OS2 Plugin interface */
- char *pMimeTypes;
- char *pFileExtents;
- char *pFileOpenTemplate;
- char *pProductName;
- char *pProductDescription;
- unsigned long dwProductVersionMS;
- unsigned long dwProductVersionLS;
-} NPPluginData;
-typedef NPError (*NP_GetPluginDataFunc)(NPPluginData*);
-NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
-#endif
-typedef NPError (*NP_GetEntryPointsFunc)(NPPluginFuncs*);
-NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
-typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*);
-NPError OSCALL NP_Initialize(NPNetscapeFuncs* bFuncs);
-typedef NPError (*NP_ShutdownFunc)(void);
-NPError OSCALL NP_Shutdown(void);
-typedef const char* (*NP_GetMIMEDescriptionFunc)(void);
-const char* NP_GetMIMEDescription(void);
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#if defined(__OS2__)
-#pragma pack()
-#endif
-
-#ifdef XP_UNIX
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef char* (*NP_GetPluginVersionFunc)(void);
-NP_EXPORT(char*) NP_GetPluginVersion(void);
-typedef const char* (*NP_GetMIMEDescriptionFunc)(void);
-NP_EXPORT(const char*) NP_GetMIMEDescription(void);
-#ifdef XP_MACOSX
-typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*);
-NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs);
-typedef NPError (*NP_GetEntryPointsFunc)(NPPluginFuncs*);
-NP_EXPORT(NPError) NP_GetEntryPoints(NPPluginFuncs* pFuncs);
-#else
-typedef NPError (*NP_InitializeFunc)(NPNetscapeFuncs*, NPPluginFuncs*);
-NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs);
-#endif
-typedef NPError (*NP_ShutdownFunc)(void);
-NP_EXPORT(NPError) NP_Shutdown(void);
-typedef NPError (*NP_GetValueFunc)(void *, NPPVariable, void *);
-NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#endif /* npfunctions_h_ */
diff --git a/browser-plugin/npapi/npruntime.h b/browser-plugin/npapi/npruntime.h
deleted file mode 100644
index 6e8916504..000000000
--- a/browser-plugin/npapi/npruntime.h
+++ /dev/null
@@ -1,393 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Copyright (c) 2004, Apple Computer, Inc. and The Mozilla Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla
- * Foundation ("Mozilla") nor the names of their contributors may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR
- * THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-#ifndef _NP_RUNTIME_H_
-#define _NP_RUNTIME_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "nptypes.h"
-
-/*
- This API is used to facilitate binding code written in C to script
- objects. The API in this header does not assume the presence of a
- user agent. That is, it can be used to bind C code to scripting
- environments outside of the context of a user agent.
-
- However, the normal use of the this API is in the context of a
- scripting environment running in a browser or other user agent.
- In particular it is used to support the extended Netscape
- script-ability API for plugins (NP-SAP). NP-SAP is an extension
- of the Netscape plugin API. As such we have adopted the use of
- the "NP" prefix for this API.
-
- The following NP{N|P}Variables were added to the Netscape plugin
- API (in npapi.h):
-
- NPNVWindowNPObject
- NPNVPluginElementNPObject
- NPPVpluginScriptableNPObject
-
- These variables are exposed through NPN_GetValue() and
- NPP_GetValue() (respectively) and are used to establish the
- initial binding between the user agent and native code. The DOM
- objects in the user agent can be examined and manipulated using
- the NPN_ functions that operate on NPObjects described in this
- header.
-
- To the extent possible the assumptions about the scripting
- language used by the scripting environment have been minimized.
-*/
-
-#define NP_BEGIN_MACRO do {
-#define NP_END_MACRO } while (0)
-
-/*
- Objects (non-primitive data) passed between 'C' and script is
- always wrapped in an NPObject. The 'interface' of an NPObject is
- described by an NPClass.
-*/
-typedef struct NPObject NPObject;
-typedef struct NPClass NPClass;
-
-typedef char NPUTF8;
-typedef struct _NPString {
- const NPUTF8 *UTF8Characters;
- uint32_t UTF8Length;
-} NPString;
-
-typedef enum {
- NPVariantType_Void,
- NPVariantType_Null,
- NPVariantType_Bool,
- NPVariantType_Int32,
- NPVariantType_Double,
- NPVariantType_String,
- NPVariantType_Object
-} NPVariantType;
-
-typedef struct _NPVariant {
- NPVariantType type;
- union {
- bool boolValue;
- int32_t intValue;
- double doubleValue;
- NPString stringValue;
- NPObject *objectValue;
- } value;
-} NPVariant;
-
-/*
- NPN_ReleaseVariantValue is called on all 'out' parameters
- references. Specifically it is to be called on variants that own
- their value, as is the case with all non-const NPVariant*
- arguments after a successful call to any methods (except this one)
- in this API.
-
- After calling NPN_ReleaseVariantValue, the type of the variant
- will be NPVariantType_Void.
-*/
-void NPN_ReleaseVariantValue(NPVariant *variant);
-
-#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
-#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
-#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
-#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
-#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
-#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
-#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
-
-#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
-#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
-#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
-#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
-#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
-
-#define VOID_TO_NPVARIANT(_v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Void; \
- (_v).value.objectValue = NULL; \
-NP_END_MACRO
-
-#define NULL_TO_NPVARIANT(_v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Null; \
- (_v).value.objectValue = NULL; \
-NP_END_MACRO
-
-#define BOOLEAN_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Bool; \
- (_v).value.boolValue = !!(_val); \
-NP_END_MACRO
-
-#define INT32_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Int32; \
- (_v).value.intValue = _val; \
-NP_END_MACRO
-
-#define DOUBLE_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Double; \
- (_v).value.doubleValue = _val; \
-NP_END_MACRO
-
-#define STRINGZ_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_String; \
- NPString str = { _val, (uint32_t)(strlen(_val)) }; \
- (_v).value.stringValue = str; \
-NP_END_MACRO
-
-#define STRINGN_TO_NPVARIANT(_val, _len, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_String; \
- NPString str = { _val, (uint32_t)(_len) }; \
- (_v).value.stringValue = str; \
-NP_END_MACRO
-
-#define OBJECT_TO_NPVARIANT(_val, _v) \
-NP_BEGIN_MACRO \
- (_v).type = NPVariantType_Object; \
- (_v).value.objectValue = _val; \
-NP_END_MACRO
-
-
-/*
- Type mappings (JavaScript types have been used for illustration
- purposes):
-
- JavaScript to C (NPVariant with type:)
- undefined NPVariantType_Void
- null NPVariantType_Null
- Boolean NPVariantType_Bool
- Number NPVariantType_Double or NPVariantType_Int32
- String NPVariantType_String
- Object NPVariantType_Object
-
- C (NPVariant with type:) to JavaScript
- NPVariantType_Void undefined
- NPVariantType_Null null
- NPVariantType_Bool Boolean
- NPVariantType_Int32 Number
- NPVariantType_Double Number
- NPVariantType_String String
- NPVariantType_Object Object
-*/
-
-typedef void *NPIdentifier;
-
-/*
- NPObjects have methods and properties. Methods and properties are
- identified with NPIdentifiers. These identifiers may be reflected
- in script. NPIdentifiers can be either strings or integers, IOW,
- methods and properties can be identified by either strings or
- integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
- compared using ==. In case of any errors, the requested
- NPIdentifier(s) will be NULL. NPIdentifier lifetime is controlled
- by the browser. Plugins do not need to worry about memory management
- with regards to NPIdentifiers.
-*/
-NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
-void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
- NPIdentifier *identifiers);
-NPIdentifier NPN_GetIntIdentifier(int32_t intid);
-bool NPN_IdentifierIsString(NPIdentifier identifier);
-
-/*
- The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
-*/
-NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
-
-/*
- Get the integer represented by identifier. If identifier is not an
- integer identifier, the behaviour is undefined.
-*/
-int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
-
-/*
- NPObject behavior is implemented using the following set of
- callback functions.
-
- The NPVariant *result argument of these functions (where
- applicable) should be released using NPN_ReleaseVariantValue().
-*/
-typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
-typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj);
-typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj);
-typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name,
- const NPVariant *args, uint32_t argCount,
- NPVariant *result);
-typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj,
- const NPVariant *args,
- uint32_t argCount,
- NPVariant *result);
-typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
- NPVariant *result);
-typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
- const NPVariant *value);
-typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj,
- NPIdentifier name);
-typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value,
- uint32_t *count);
-typedef bool (*NPConstructFunctionPtr)(NPObject *npobj,
- const NPVariant *args,
- uint32_t argCount,
- NPVariant *result);
-
-/*
- NPObjects returned by create, retain, invoke, and getProperty pass
- a reference count to the caller. That is, the callee adds a
- reference count which passes to the caller. It is the caller's
- responsibility to release the returned object.
-
- NPInvokeFunctionPtr function may return 0 to indicate a void
- result.
-
- NPInvalidateFunctionPtr is called by the scripting environment
- when the native code is shutdown. Any attempt to message a
- NPObject instance after the invalidate callback has been
- called will result in undefined behavior, even if the native code
- is still retaining those NPObject instances. (The runtime
- will typically return immediately, with 0 or NULL, from an attempt
- to dispatch to a NPObject, but this behavior should not be
- depended upon.)
-
- The NPEnumerationFunctionPtr function may pass an array of
- NPIdentifiers back to the caller. The callee allocs the memory of
- the array using NPN_MemAlloc(), and it's the caller's responsibility
- to release it using NPN_MemFree().
-*/
-struct NPClass
-{
- uint32_t structVersion;
- NPAllocateFunctionPtr allocate;
- NPDeallocateFunctionPtr deallocate;
- NPInvalidateFunctionPtr invalidate;
- NPHasMethodFunctionPtr hasMethod;
- NPInvokeFunctionPtr invoke;
- NPInvokeDefaultFunctionPtr invokeDefault;
- NPHasPropertyFunctionPtr hasProperty;
- NPGetPropertyFunctionPtr getProperty;
- NPSetPropertyFunctionPtr setProperty;
- NPRemovePropertyFunctionPtr removeProperty;
- NPEnumerationFunctionPtr enumerate;
- NPConstructFunctionPtr construct;
-};
-
-#define NP_CLASS_STRUCT_VERSION 3
-
-#define NP_CLASS_STRUCT_VERSION_ENUM 2
-#define NP_CLASS_STRUCT_VERSION_CTOR 3
-
-#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass) \
- ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
-
-#define NP_CLASS_STRUCT_VERSION_HAS_CTOR(npclass) \
- ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_CTOR)
-
-struct NPObject {
- NPClass *_class;
- uint32_t referenceCount;
- /*
- * Additional space may be allocated here by types of NPObjects
- */
-};
-
-/*
- If the class has an allocate function, NPN_CreateObject invokes
- that function, otherwise a NPObject is allocated and
- returned. This method will initialize the referenceCount member of
- the NPObject to 1.
-*/
-NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
-
-/*
- Increment the NPObject's reference count.
-*/
-NPObject *NPN_RetainObject(NPObject *npobj);
-
-/*
- Decremented the NPObject's reference count. If the reference
- count goes to zero, the class's destroy function is invoke if
- specified, otherwise the object is freed directly.
-*/
-void NPN_ReleaseObject(NPObject *npobj);
-
-/*
- Functions to access script objects represented by NPObject.
-
- Calls to script objects are synchronous. If a function returns a
- value, it will be supplied via the result NPVariant
- argument. Successful calls will return true, false will be
- returned in case of an error.
-
- Calls made from plugin code to script must be made from the thread
- on which the plugin was initialized.
-*/
-
-bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName,
- const NPVariant *args, uint32_t argCount, NPVariant *result);
-bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script,
- NPVariant *result);
-bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
- NPVariant *result);
-bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
- const NPVariant *value);
-bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
-bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
-bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier,
- uint32_t *count);
-bool NPN_Construct(NPP npp, NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-
-/*
- NPN_SetException may be called to trigger a script exception upon
- return from entry points into NPObjects. Typical usage:
-
- NPN_SetException (npobj, message);
-*/
-void NPN_SetException(NPObject *npobj, const NPUTF8 *message);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/browser-plugin/npapi/nptypes.h b/browser-plugin/npapi/nptypes.h
deleted file mode 100644
index abcc96be0..000000000
--- a/browser-plugin/npapi/nptypes.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * mozilla.org.
- * Portions created by the Initial Developer are Copyright (C) 2004
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Johnny Stenback (Original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef nptypes_h_
-#define nptypes_h_
-
-/*
- * Header file for ensuring that C99 types ([u]int32_t, [u]int64_t and bool) and
- * true/false macros are available.
- */
-
-#if defined(WIN32) || defined(OS2)
- /*
- * Win32 and OS/2 don't know C99, so define [u]int_16/32/64 here. The bool
- * is predefined tho, both in C and C++.
- */
- typedef short int16_t;
- typedef unsigned short uint16_t;
- typedef int int32_t;
- typedef unsigned int uint32_t;
- typedef long long int64_t;
- typedef unsigned long long uint64_t;
-#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX) || defined(HPUX)
- /*
- * AIX and SunOS ship a inttypes.h header that defines [u]int32_t,
- * but not bool for C.
- */
- #include
-
- #ifndef __cplusplus
- typedef int bool;
- #define true 1
- #define false 0
- #endif
-#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD)
- /*
- * BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and
- * u_int32_t.
- */
- #include
-
- /*
- * BSD/OS ships no header that defines uint32_t, nor bool (for C)
- */
- #if defined(bsdi)
- typedef u_int32_t uint32_t;
- typedef u_int64_t uint64_t;
-
- #if !defined(__cplusplus)
- typedef int bool;
- #define true 1
- #define false 0
- #endif
- #else
- /*
- * FreeBSD and OpenBSD define uint32_t and bool.
- */
- #include
- #include
- #endif
-#elif defined(BEOS)
- #include
-#else
- /*
- * For those that ship a standard C99 stdint.h header file, include
- * it. Can't do the same for stdbool.h tho, since some systems ship
- * with a stdbool.h file that doesn't compile!
- */
- #include
-
- #ifndef __cplusplus
- #if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
- #include
- #else
- /*
- * GCC 2.91 can't deal with a typedef for bool, but a #define
- * works.
- */
- #define bool int
- #define true 1
- #define false 0
- #endif
- #endif
-#endif
-
-#endif /* nptypes_h_ */
diff --git a/meson.build b/meson.build
index 6c6321555..bb47235da 100644
--- a/meson.build
+++ b/meson.build
@@ -54,13 +54,10 @@ convertdir = join_paths(datadir, 'GConf', 'gsettings')
desktopdir = join_paths(datadir, 'applications')
ifacedir = join_paths(datadir, 'dbus-1', 'interfaces')
localedir = join_paths(datadir, 'locale')
-mozplugindir = join_paths(libdir, 'mozilla', 'plugins')
portaldir = join_paths(datadir, 'xdg-desktop-portal', 'portals')
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
servicedir = join_paths(datadir, 'dbus-1', 'services')
-plugindir = get_variable('BROWSER_PLUGIN_DIR', mozplugindir)
-
# XXX: Once https://github.com/systemd/systemd/issues/9595 is fixed and we can
# depend on this version, replace with something like:
# systemduserunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
@@ -134,12 +131,6 @@ else
have_systemd = false
endif
-if get_option('browser_plugin')
- json_glib_dep = dependency('json-glib-1.0', version: json_glib_req)
-
- subdir('browser-plugin')
-endif
-
if get_option('man')
xsltproc = find_program('xsltproc')
diff --git a/meson_options.txt b/meson_options.txt
index 65188c7ff..853ca98dc 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,9 +1,3 @@
-option('browser_plugin',
- type: 'boolean',
- value: true,
- description: 'Enable extensions.gnome.org browser plugin'
-)
-
option('gtk_doc',
type: 'boolean',
value: false,