diff --git a/configure.ac b/configure.ac
index 4dafa8a..54e784c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -647,23 +647,6 @@ PKG_CHECK_MODULES(CHECK, check, have_check=yes, have_check=no)
 AM_CONDITIONAL([HAVE_CHECK],[test "x$have_check" = "xyes"])
 
 dnl ================================================================
-dnl Browser plugin
-dnl ================================================================
-
-AC_ARG_ENABLE([browser-plugin],
-	[AS_HELP_STRING([--enable-browser-plugin],[compile the iTunes detection browser plugin])],
-	[],[enable_browser_plugin=yes])
-
-MOZILLA_PLUGINDIR=${MOZILLA_PLUGINDIR:-'${libdir}/mozilla/plugins'}
-AC_ARG_VAR([MOZILLA_PLUGINDIR],[Where to install the browser plugin to])
-
-AM_CONDITIONAL([ENABLE_BROWSER_PLUGIN], test x$enable_browser_plugin = xyes)
-if test x$enable_browser_plugin = xyes; then
-	ITMS_HANDLER="x-scheme-handler/itms;x-scheme-handler/itmss;"
-fi
-AC_SUBST(ITMS_HANDLER)
-
-dnl ================================================================
 dnl Use libdmapsharing for DAAP?
 dnl ================================================================
 AC_ARG_ENABLE(daap,
diff --git a/podcast/Makefile.am b/podcast/Makefile.am
index 938fb60..f5a3f03 100644
--- a/podcast/Makefile.am
+++ b/podcast/Makefile.am
@@ -74,20 +74,5 @@ AM_CFLAGS =						\
 librbpodcast_la_LDFLAGS = -export-dynamic
 librbpodcast_la_LIBADD = $(JSON_GLIB_LIBS)
 
-PLUGIN_FILES = rhythmbox-itms-plugin.c npapi.h npupp.h npruntime.h
-
-if ENABLE_BROWSER_PLUGIN
-plugindir = $(MOZILLA_PLUGINDIR)
-plugin_LTLIBRARIES = librhythmbox-itms-detection-plugin.la
-librhythmbox_itms_detection_plugin_la_SOURCES = $(PLUGIN_FILES)
-librhythmbox_itms_detection_plugin_la_CFLAGS = -I$(top_srcdir)/podcast
-
-librhythmbox_itms_detection_plugin_la_LDFLAGS = \
-	-avoid-version	\
-	-export-symbols $(srcdir)/plugin.symbols \
-	-module
-
-endif
-
 EXTRA_DIST = $(PLUGIN_FILES) plugin.symbols
 
diff --git a/podcast/npapi.h b/podcast/npapi.h
deleted file mode 100644
index 952d357..0000000
--- a/podcast/npapi.h
+++ /dev/null
@@ -1,807 +0,0 @@
-/* ***** 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 ***** */
- 
- 
- /*
-  *  Netscape client plug-in API spec
-  */
- 
-
-#ifndef _NPAPI_H_
-#define _NPAPI_H_
-
-#ifdef INCLUDE_JAVA
-#include "jri.h"                /* Java Runtime Interface */
-#else
-#define jref    void *
-#define JRIEnv  void
-#endif
-
-#ifdef _WIN32
-#    ifndef XP_WIN
-#        define XP_WIN 1
-#    endif /* XP_WIN */
-#endif /* _WIN32 */
-
-#ifdef __MWERKS__
-#    define _declspec __declspec
-#    ifdef macintosh
-#        ifndef XP_MAC
-#            define XP_MAC 1
-#        endif /* XP_MAC */
-#    endif /* macintosh */
-#    ifdef __INTEL__
-#        undef NULL
-#        ifndef XP_WIN
-#            define XP_WIN 1
-#        endif /* __INTEL__ */
-#    endif /* XP_PC */
-#endif /* __MWERKS__ */
-
-#if defined(__APPLE_CC__) && !defined(__MACOS_CLASSIC__) && !defined(XP_UNIX)
-#   define XP_MACOSX
-#endif
-
-#ifdef XP_MAC
-    #include <Quickdraw.h>
-    #include <Events.h>
-#endif
-
-#if defined(XP_MACOSX) && defined(__LP64__)
-#define NP_NO_QUICKDRAW
-#define NP_NO_CARBON
-#endif
-
-#ifdef XP_MACOSX
-    #include <ApplicationServices/ApplicationServices.h>
-    #include <OpenGL/OpenGL.h>
-#ifndef NP_NO_CARBON
-    #include <Carbon/Carbon.h>
-#endif
-#endif
-
-#ifdef XP_UNIX
-    #include <X11/Xlib.h>
-    #include <X11/Xutil.h>
-    #include <stdio.h>
-#endif
-
-#ifdef XP_WIN
-    #include <windows.h>
-#endif
-
-/*----------------------------------------------------------------------*/
-/*             Plugin Version Constants                                 */
-/*----------------------------------------------------------------------*/
-
-#define NP_VERSION_MAJOR 0
-#define NP_VERSION_MINOR 20
-
-
-
-/*----------------------------------------------------------------------*/
-/*             Definition of Basic Types                                */
-/*----------------------------------------------------------------------*/
-
-#ifndef _UINT16
-#define _UINT16
-typedef unsigned short uint16;
-#endif
-
-#ifndef _UINT32
-#define _UINT32
-#ifdef __LP64__
-typedef unsigned int uint32;
-#else /* __LP64__ */
-typedef unsigned long uint32;
-#endif /* __LP64__ */
-#endif
-
-#ifndef _INT16
-#define _INT16
-typedef short int16;
-#endif
-
-#ifndef _INT32
-#define _INT32
-#ifdef __LP64__
-typedef int int32;
-#else /* __LP64__ */
-typedef long int32;
-#endif /* __LP64__ */
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef NULL
-#define NULL (0L)
-#endif
-
-typedef unsigned char    NPBool;
-typedef int16            NPError;
-typedef int16            NPReason;
-typedef char*            NPMIMEType;
-
-
-
-/*----------------------------------------------------------------------*/
-/*             Structures and definitions             */
-/*----------------------------------------------------------------------*/
-
-#if !defined(__LP64__)
-#if defined(XP_MAC) || 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       end;
-    uint32       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      offset;         /* negative offset means from the end */
-    uint32     length;
-    struct _NPByteRange* next;
-} NPByteRange;
-
-
-typedef struct _NPSavedData
-{
-    int32    len;
-    void*    buf;
-} NPSavedData;
-
-
-typedef struct _NPRect
-{
-    uint16    top;
-    uint16    left;
-    uint16    bottom;
-    uint16    right;
-} NPRect;
-
-
-#ifdef 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        type;
-} NPAnyCallbackStruct;
-
-typedef struct
-{
-    int32           type;
-    Display*        display;
-    Visual*         visual;
-    Colormap        colormap;
-    unsigned int    depth;
-} NPSetWindowCallbackStruct;
-
-typedef struct
-{
-    int32            type;
-    FILE*            fp;
-} NPPrintCallbackStruct;
-
-#endif /* XP_UNIX */
-
-/*
- *   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 differenet 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
-
-#define NP_ABI_MACHO_MASK 0x01000000
-/*
- *   On OSX, the Mach-O executable format is significantly
- *   different than CFM. In addition to having a different
- *   C++ ABI, it also has has different C calling convention.
- *   You must use glue code when calling between CFM and
- *   Mach-O C functions. 
- */
-#if (defined(TARGET_RT_MAC_MACHO))
-#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,                /* Not implemented in WebKit */
-    NPPVpluginWindowSize,         /* Not implemented in WebKit */
-    NPPVpluginTimerInterval,      /* Not implemented in WebKit */
-
-    NPPVpluginScriptableInstance = (10 | NP_ABI_MASK), /* Not implemented in WebKit */
-    NPPVpluginScriptableIID = 11, /* Not implemented in WebKit */
-
-    /* 12 and over are available on Mozilla builds starting with 0.9.9 */
-    NPPVjavascriptPushCallerBool = 12,  /* Not implemented in WebKit */
-    NPPVpluginKeepLibraryInMemory = 13, /* Not implemented in WebKit */
-    NPPVpluginNeedsXEmbed         = 14, /* Not implemented in WebKit */
-
-    /* Get the NPObject for scripting the plugin. */
-    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.
-     */
-    NPPVformValue = 16,    /* Not implemented in WebKit */
-#ifdef XP_MACOSX
-    /* Used for negotiating drawing models */
-    NPPVpluginDrawingModel = 1000,
-    /* Used for negotiating event models */
-    NPPVpluginEventModel = 1001,
-#endif
-} NPPVariable;
-
-/*
- * List of variable names for which NPN_GetValue is implemented by Mozilla
- */
-typedef enum {
-    NPNVxDisplay = 1,
-    NPNVxtAppContext,
-    NPNVnetscapeWindow,
-    NPNVjavascriptEnabledBool,
-    NPNVasdEnabledBool,
-    NPNVisOfflineBool,
-
-    /* 10 and over are available on Mozilla builds starting with 0.9.4 */
-    NPNVserviceManager = (10 | NP_ABI_MASK),  /* Not implemented in WebKit */
-    NPNVDOMElement     = (11 | NP_ABI_MASK),  /* Not implemented in WebKit */
-    NPNVDOMWindow      = (12 | NP_ABI_MASK),  /* Not implemented in WebKit */
-    NPNVToolkit        = (13 | NP_ABI_MASK),  /* Not implemented in WebKit */
-    NPNVSupportsXEmbedBool = 14,              /* Not implemented in WebKit */
-
-    /* Get the NPObject wrapper for the browser window. */
-    NPNVWindowNPObject = 15,
-
-    /* Get the NPObject wrapper for the plugins DOM element. */
-    NPNVPluginElementNPObject
-
-#ifdef XP_MACOSX
-    , NPNVpluginDrawingModel = 1000 /* The NPDrawingModel specified by the plugin */
-
-#ifndef NP_NO_QUICKDRAW
-    , NPNVsupportsQuickDrawBool = 2000 /* TRUE if the browser supports the QuickDraw drawing model */
-#endif
-    , NPNVsupportsCoreGraphicsBool = 2001 /* TRUE if the browser supports the CoreGraphics drawing model */
-    , NPNVsupportsOpenGLBool = 2002 /* TRUE if the browser supports the OpenGL drawing model (CGL on Mac) */
-    
-    , NPNVpluginEventModel = 1001 /* The NPEventModel specified by the plugin */
-#ifndef NP_NO_CARBON
-    , NPNVsupportsCarbonBool = 2003 /* TRUE if the browser supports the Carbon event model */
-#endif
-    , NPNVsupportsCocoaBool = 2004 /* TRUE if the browser supports the Cocoa event model */
-#endif /* XP_MACOSX */
-} NPNVariable;
-
-/*
- * The type of a NPWindow - it specifies the type of the data structure
- * returned in the window field.
- */
-typedef enum {
-    NPWindowTypeWindow = 1,
-    NPWindowTypeDrawable
-} NPWindowType;
-
-#ifdef XP_MACOSX
-
-/*
- * The drawing model for a Mac OS X plugin.  These are the possible values for the NPNVpluginDrawingModel variable.
- */
- 
-typedef enum {
-#ifndef NP_NO_QUICKDRAW
-    NPDrawingModelQuickDraw = 0,
-#endif
-    NPDrawingModelCoreGraphics = 1,
-    NPDrawingModelOpenGL = 2
-} NPDrawingModel;
-
-/*
- * The event model for a Mac OS X plugin. These are the possible values for the NPNVpluginEventModel variable.
- */
-
-typedef enum {
-#ifndef NP_NO_CARBON
-    NPEventModelCarbon = 0,
-#endif
-    NPEventModelCocoa = 1,
-} NPEventModel;
-
-typedef enum {
-    NPCocoaEventDrawRect = 1,
-    NPCocoaEventMouseDown,
-    NPCocoaEventMouseUp,
-    NPCocoaEventMouseMoved,
-    NPCocoaEventMouseEntered,
-    NPCocoaEventMouseExited,
-    NPCocoaEventMouseDragged,
-    NPCocoaEventKeyDown,
-    NPCocoaEventKeyUp,
-    NPCocoaEventFlagsChanged,
-    NPCocoaEventFocusChanged,
-    NPCocoaEventWindowFocusChanged,
-    NPCocoaEventScrollWheel,
-} NPCocoaEventType;
-
-typedef struct _NPNSString NPNSString;
-typedef struct _NPNSWindow NPNSWindow;
-
-typedef struct _NPCocoaEvent {
-    NPCocoaEventType type;
-    union {
-        struct {
-            uint32 modifierFlags;
-            double pluginX;
-            double pluginY;            
-            int32 buttonNumber;
-            int32 clickCount;
-            double deltaX;
-            double deltaY;
-            double deltaZ;
-        } mouse;
-        struct {
-            uint32 modifierFlags;
-            double pluginX;
-            double pluginY;            
-            NPNSString *characters;
-            NPNSString *charactersIgnoringModifiers;
-            NPBool isARepeat;
-            uint16 keyCode;
-        } key;
-        struct {
-            double x;
-            double y;
-            double width;
-            double height;
-        } draw;
-        struct {
-            NPBool hasFocus;
-        } focus;        
-    };
-} NPCocoaEvent;
-
-#endif
-
-typedef struct _NPWindow
-{
-    void*    window;     /* Platform specific window handle */
-    int32    x;            /* Position of top left corner relative */
-    int32    y;            /*    to a netscape page.                    */
-    uint32    width;        /* Maximum window size */
-    uint32    height;
-    NPRect    clipRect;    /* Clipping rectangle in port coordinates */
-                        /* Used by MAC only.              */
-#ifdef XP_UNIX
-    void *    ws_info;    /* Platform-dependent additonal data */
-#endif /* XP_UNIX */
-    NPWindowType type;    /* Is this a window or a drawable? */
-} NPWindow;
-
-
-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    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_MAC) || defined(XP_MACOSX)
-
-#ifndef NP_NO_CARBON
-typedef EventRecord    NPEvent;
-#endif
-
-#elif defined(XP_WIN)
-typedef struct _NPEvent
-{
-    uint16   event;
-    uint32   wParam;
-    uint32   lParam;
-} NPEvent;
-#elif defined (XP_UNIX)
-typedef XEvent NPEvent;
-#else
-typedef void*            NPEvent;
-#endif /* XP_MAC */
-
-#if defined(XP_MAC)
-typedef RgnHandle NPRegion;
-#elif defined(XP_MACOSX)
-/* 
- * NPRegion's type depends on the drawing model specified by the plugin (see NPNVpluginDrawingModel).
- * NPQDRegion represents a QuickDraw RgnHandle and is used with the QuickDraw drawing model.
- * NPCGRegion repesents a graphical region when using any other drawing model.
- */
-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)
-typedef Region NPRegion;
-#else
-typedef void *NPRegion;
-#endif /* XP_MAC */
-
-#ifdef XP_MACOSX
-
-/* 
- * 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;
-#ifdef NP_NO_CARBON
-    NPNSWindow *window;
-#else
-    void *window; // Can be either an NSWindow or a WindowRef depending on the event model
-#endif
-} 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;
-
-#endif /* XP_MACOSX */
-
-#if defined(XP_MAC) || defined(XP_MACOSX)
-
-/*
- *  Mac-specific structures and definitions.
- */
-
-#ifndef NP_NO_QUICKDRAW
-
-/* 
- * NP_Port is the type of the NPWindow's 'window' when the plugin specifies NPDrawingModelQuickDraw as its
- * drawing model, or the plugin does not specify a drawing model.
- *
- * It is not recommended that new plugins use NPDrawingModelQuickDraw or NP_Port, as QuickDraw has been
- * deprecated in Mac OS X 10.5.  CoreGraphics is the preferred drawing API.
- *
- * NP_Port is not available in 64-bit.
- */
- 
-typedef struct NP_Port
-{
-    CGrafPtr     port;        /* Grafport */
-    int32        portx;        /* position inside the topmost window */
-    int32        porty;
-} NP_Port;
-
-#endif /* NP_NO_QUICKDRAW */
-
-/*
- *  Non-standard event types that can be passed to HandleEvent
- */
-#define getFocusEvent        (osEvt + 16)
-#define loseFocusEvent        (osEvt + 17)
-#define adjustCursorEvent   (osEvt + 18)
-
-#endif /* XP_MAC */
-
-
-/*
- * 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)
-
-#if !defined(__LP64__)
-#if defined(XP_MAC) || 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)
-
-/*
- *    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_WIN16_HAS_LIVECONNECT    9
-#define NPVERS_68K_HAS_LIVECONNECT    11
-#define NPVERS_HAS_WINDOWLESS       11
-#define NPVERS_HAS_XPCONNECT_SCRIPTING    13  /* Not implemented in WebKit */
-#define NPVERS_HAS_NPRUNTIME_SCRIPTING    14
-#define NPVERS_HAS_FORM_VALUES            15  /* Not implemented in WebKit; see bug 13061 */
-#define NPVERS_HAS_POPUPS_ENABLED_STATE   16  /* Not implemented in WebKit */
-#define NPVERS_HAS_RESPONSE_HEADERS       17
-#define NPVERS_HAS_NPOBJECT_ENUM          18
-#define NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL 19
-#define NPVERS_MACOSX_HAS_EVENT_MODELS    20
-
-/*----------------------------------------------------------------------*/
-/*             Function Prototypes                */
-/*----------------------------------------------------------------------*/
-
-#if defined(_WINDOWS) && !defined(WIN32)
-#define NP_LOADDS  _loadds
-#else
-#define NP_LOADDS
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * NPP_* functions are provided by the plugin and called by the navigator.
- */
-
-#ifdef XP_UNIX
-char*                    NPP_GetMIMEDescription(void);
-#endif /* XP_UNIX */
-
-NPError     NPP_Initialize(void);
-void        NPP_Shutdown(void);
-NPError     NP_LOADDS    NPP_New(NPMIMEType pluginType, NPP instance,
-                                uint16 mode, int16 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* stype);
-NPError     NP_LOADDS    NPP_DestroyStream(NPP instance, NPStream* stream,
-                                          NPReason reason);
-int32        NP_LOADDS    NPP_WriteReady(NPP instance, NPStream* stream);
-int32        NP_LOADDS    NPP_Write(NPP instance, NPStream* stream, int32 offset,
-                                  int32 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            NPP_HandleEvent(NPP instance, void* event);
-void        NP_LOADDS    NPP_URLNotify(NPP instance, const char* url,
-                                      NPReason reason, void* notifyData);
-jref        NP_LOADDS            NPP_GetJavaClass(void);
-NPError     NPP_GetValue(NPP instance, NPPVariable variable,
-                                     void *value);
-NPError     NPP_SetValue(NPP instance, NPNVariable variable,
-                                     void *value);
-
-/*
- * NPN_* functions are provided by the navigator and called by the plugin.
- */
-
-void        NPN_Version(int* plugin_major, int* plugin_minor,
-                            int* netscape_major, int* netscape_minor);
-NPError     NPN_GetURLNotify(NPP instance, const char* url,
-                                 const char* target, void* notifyData);
-NPError     NPN_GetURL(NPP instance, const char* url,
-                           const char* target);
-NPError     NPN_PostURLNotify(NPP instance, const char* url,
-                                  const char* target, uint32 len,
-                                  const char* buf, NPBool file,
-                                  void* notifyData);
-NPError     NPN_PostURL(NPP instance, const char* url,
-                            const char* target, uint32 len,
-                            const char* buf, NPBool file);
-NPError     NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
-NPError     NPN_NewStream(NPP instance, NPMIMEType type,
-                              const char* target, NPStream** stream);
-int32        NPN_Write(NPP instance, NPStream* stream, int32 len,
-                          void* buffer);
-NPError     NPN_DestroyStream(NPP instance, NPStream* stream,
-                                  NPReason reason);
-void        NPN_Status(NPP instance, const char* message);
-const char*    NPN_UserAgent(NPP instance);
-void*        NPN_MemAlloc(uint32 size);
-void        NPN_MemFree(void* ptr);
-uint32        NPN_MemFlush(uint32 size);
-void* NPN_MemDup (const void*, uint32);
-char* NPN_StrDup (const char *);
-void        NPN_ReloadPlugins(NPBool reloadPages);
-JRIEnv*     NPN_GetJavaEnv(void);
-jref        NPN_GetJavaPeer(NPP instance);
-NPError     NPN_GetValue(NPP instance, NPNVariable variable,
-                             void *value);
-NPError     NPN_SetValue(NPP instance, NPPVariable variable,
-                             void *value);
-void        NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
-void        NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);
-void        NPN_ForceRedraw(NPP instance);
-void        NPN_PushPopupsEnabledState(NPP instance, NPBool enabled);
-void        NPN_PopPopupsEnabledState(NPP instance);
-void        NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData);
-uint32      NPN_ScheduleTimer(NPP instance, uint32 interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32 timerID));
-void        NPN_UnscheduleTimer(NPP instance, uint32 timerID);
-
-#ifdef __cplusplus
-}  /* end extern "C" */
-#endif
-
-#endif /* _NPAPI_H_ */
diff --git a/podcast/npruntime.h b/podcast/npruntime.h
deleted file mode 100644
index 5725b72..0000000
--- a/podcast/npruntime.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * 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.
- *
- * Revision 1 (March 4, 2004):
- * Initial proposal.
- *
- * Revision 2 (March 10, 2004):
- * All calls into script were made asynchronous.  Results are
- * provided via the NPScriptResultFunctionPtr callback.
- *
- * Revision 3 (March 10, 2004):
- * Corrected comments to not refer to class retain/release FunctionPtrs.
- *
- * Revision 4 (March 11, 2004):
- * Added additional convenience NPN_SetExceptionWithUTF8().
- * Changed NPHasPropertyFunctionPtr and NPHasMethodFunctionPtr to take NPClass
- * pointers instead of NPObject pointers.
- * Added NPIsValidIdentifier().
- *
- * Revision 5 (March 17, 2004):
- * Added context parameter to result callbacks from ScriptObject functions.
- *
- * Revision 6 (March 29, 2004):
- * Renamed functions implemented by user agent to NPN_*.  Removed _ from
- * type names.
- * Renamed "JavaScript" types to "Script".
- *
- * Revision 7 (April 21, 2004):
- * NPIdentifier becomes a void*, was int32_t
- * Remove NP_IsValidIdentifier, renamed NP_IdentifierFromUTF8 to NP_GetIdentifier
- * Added NPVariant and modified functions to use this new type.
- *
- * Revision 8 (July 9, 2004):
- * Updated to joint Apple-Mozilla license.
- *
- * Revision 9 (August 12, 2004):
- * Changed NPVariantType enum values to form PVariantType_XXX
- * Added NPP arguments to NPObject functions.
- * Replaced NPVariant functions with macros.
- */
-#ifndef _NP_RUNTIME_H_
-#define _NP_RUNTIME_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include "npapi.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.
-*/
-
-
-/*
-    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 called on variants that are resultant out parameters
-    in NPGetPropertyFunctionPtr and NPInvokeFunctionPtr.  Resultant variants
-    from these two functions should be initialized using the
-    NPN_InitializeVariantXXX() functions.
-    
-    After calling NPReleaseVariantValue, the type of the variant will
-    be set to NPVariantUndefinedType.
-*/
-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 NP_BEGIN_MACRO  do {
-#define NP_END_MACRO    } while (0)
-
-#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, 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, _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 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 *obj);
-typedef void (*NPInvalidateFunctionPtr)(NPObject *obj);
-typedef bool (*NPHasMethodFunctionPtr)(NPObject *obj, NPIdentifier name);
-typedef bool (*NPInvokeFunctionPtr)(NPObject *obj, 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 *obj, NPIdentifier name);
-typedef bool (*NPGetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, NPVariant *result);
-typedef bool (*NPSetPropertyFunctionPtr)(NPObject *obj, NPIdentifier name, const NPVariant *value);
-typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
-typedef bool (*NPEnumerationFunctionPtr)(NPObject *npobj, NPIdentifier **value, uint32_t *count);
-
-/*
-    NPObjects returned by create have a reference count of one.  It is the caller's responsibility
-    to release the returned object.
-
-    NPInvokeFunctionPtr function may return false to indicate a the method could not be invoked.
-    
-    NPGetPropertyFunctionPtr and NPSetPropertyFunctionPtr may return false to indicate a property doesn't
-    exist.
-    
-    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;
-};
-
-#define NP_CLASS_STRUCT_VERSION      2
-#define NP_CLASS_STRUCT_VERSION_ENUM 2                           
-#define NP_CLASS_STRUCT_VERSION_HAS_ENUM(npclass)   \
-    ((npclass)->structVersion >= NP_CLASS_STRUCT_VERSION_ENUM)
-
-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.  If a class has an allocate
-    function it is the responsibility of that implementation to set the initial retain
-    count to 1.
-*/
-NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
-
-/*
-    Increment the NPObject's reference count.
-*/
-NPObject *NPN_RetainObject (NPObject *obj);
-
-/*
-    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 *obj);
-
-/*
-    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.
-*/
-void NPN_SetException (NPObject *obj, const NPUTF8 *message);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/podcast/npupp.h b/podcast/npupp.h
deleted file mode 100644
index 94712da..0000000
--- a/podcast/npupp.h
+++ /dev/null
@@ -1,719 +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 ***** */
-
-
-/*
- *  npupp.h $Revision: 3.26 $
- *  function call mecahnics needed by platform specific glue code.
- */
-
-
-#ifndef _NPUPP_H_
-#define _NPUPP_H_
-
-#if defined(__OS2__)
-#pragma pack(1)
-#endif
-
-#ifndef GENERATINGCFM
-#define GENERATINGCFM 0
-#endif
-
-#ifndef _NPAPI_H_
-#include "npapi.h"
-#endif
-
-#include "npruntime.h"
-
-#ifdef OJI
-#include "jri.h"
-#else
-typedef void*           JRIGlobalRef;
-#endif
-
-
-/******************************************************************************************
-   plug-in function table macros
- 	        for each function in and out of the plugin API we define
-                    typedef NPP_FooUPP
-					#define NewNPP_FooProc
-					#define CallNPP_FooProc
- *******************************************************************************************/
-
-
-/* NPP_Initialize */
-typedef void (* NP_LOADDS NPP_InitializeUPP)(void);
-#define NewNPP_InitializeProc(FUNC)		\
-		((NPP_InitializeUPP) (FUNC))
-#define CallNPP_InitializeProc(FUNC)		\
-		(*(FUNC))()
-
-/* NPP_Shutdown */
-typedef void (* NP_LOADDS NPP_ShutdownUPP)(void);
-#define NewNPP_ShutdownProc(FUNC)		\
-		((NPP_ShutdownUPP) (FUNC))
-#define CallNPP_ShutdownProc(FUNC)		\
-		(*(FUNC))()
-
-/* NPP_New */
-typedef NPError	(* NP_LOADDS NPP_NewUPP)(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved);
-#define NewNPP_NewProc(FUNC)		\
-		((NPP_NewUPP) (FUNC))
-#define CallNPP_NewProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
-
-/* NPP_Destroy */
-typedef NPError	(* NP_LOADDS NPP_DestroyUPP)(NPP instance, NPSavedData** save);
-#define NewNPP_DestroyProc(FUNC)		\
-		((NPP_DestroyUPP) (FUNC))
-#define CallNPP_DestroyProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))
-
-/* NPP_SetWindow */
-typedef NPError	(* NP_LOADDS NPP_SetWindowUPP)(NPP instance, NPWindow* window);
-#define NewNPP_SetWindowProc(FUNC)		\
-		((NPP_SetWindowUPP) (FUNC))
-#define CallNPP_SetWindowProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))
-
-/* NPP_NewStream */
-typedef NPError	(* NP_LOADDS NPP_NewStreamUPP)(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype);
-#define NewNPP_NewStreamProc(FUNC)		\
-		((NPP_NewStreamUPP) (FUNC))
-#define CallNPP_NewStreamProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5) \
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-/* NPP_DestroyStream */
-typedef NPError	(* NP_LOADDS NPP_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
-#define NewNPP_DestroyStreamProc(FUNC)		\
-		((NPP_DestroyStreamUPP) (FUNC))
-#define CallNPP_DestroyStreamProc(FUNC,  NPParg, NPStreamPtr, NPReasonArg)		\
-		(*(FUNC))((NPParg), (NPStreamPtr), (NPReasonArg))
-
-/* NPP_WriteReady */
-typedef int32 (* NP_LOADDS NPP_WriteReadyUPP)(NPP instance, NPStream* stream);
-#define NewNPP_WriteReadyProc(FUNC)		\
-		((NPP_WriteReadyUPP) (FUNC))
-#define CallNPP_WriteReadyProc(FUNC,  NPParg, NPStreamPtr)		\
-		(*(FUNC))((NPParg), (NPStreamPtr))
-
-/* NPP_Write */
-typedef int32 (* NP_LOADDS NPP_WriteUPP)(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer);
-#define NewNPP_WriteProc(FUNC)		\
-		((NPP_WriteUPP) (FUNC))
-#define CallNPP_WriteProc(FUNC,  NPParg, NPStreamPtr, offsetArg, lenArg, bufferPtr)		\
-		(*(FUNC))((NPParg), (NPStreamPtr), (offsetArg), (lenArg), (bufferPtr))
-
-/* NPP_StreamAsFile */
-typedef void (* NP_LOADDS NPP_StreamAsFileUPP)(NPP instance, NPStream* stream, const char* fname);
-#define NewNPP_StreamAsFileProc(FUNC)		\
-		((NPP_StreamAsFileUPP) (FUNC))
-#define CallNPP_StreamAsFileProc(FUNC,  ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPP_Print */
-typedef void (* NP_LOADDS NPP_PrintUPP)(NPP instance, NPPrint* platformPrint);
-#define NewNPP_PrintProc(FUNC)		\
-		((NPP_PrintUPP) (FUNC))
-#define CallNPP_PrintProc(FUNC,  NPParg, NPPrintArg)		\
-		(*(FUNC))((NPParg), (NPPrintArg))
-
-/* NPP_HandleEvent */
-typedef int16 (* NP_LOADDS NPP_HandleEventUPP)(NPP instance, void* event);
-#define NewNPP_HandleEventProc(FUNC)		\
-		((NPP_HandleEventUPP) (FUNC))
-#define CallNPP_HandleEventProc(FUNC,  NPParg, voidPtr)		\
-		(*(FUNC))((NPParg), (voidPtr))
-
-/* NPP_URLNotify */
-typedef void (* NP_LOADDS NPP_URLNotifyUPP)(NPP instance, const char* url, NPReason reason, void* notifyData);
-#define NewNPP_URLNotifyProc(FUNC)		\
-		((NPP_URLNotifyUPP) (FUNC))
-#define CallNPP_URLNotifyProc(FUNC,  ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPP_GetValue */
-typedef NPError	(* NP_LOADDS NPP_GetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
-#define NewNPP_GetValueProc(FUNC)		\
-		((NPP_GetValueUPP) (FUNC))
-#define CallNPP_GetValueProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPP_SetValue */
-typedef NPError	(* NP_LOADDS NPP_SetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
-#define NewNPP_SetValueProc(FUNC)		\
-		((NPP_SetValueUPP) (FUNC))
-#define CallNPP_SetValueProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/*
- *  Netscape entry points
- */
-
-
-/* NPN_GetValue */
-typedef NPError	(* NP_LOADDS NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue);
-#define NewNPN_GetValueProc(FUNC)		\
-		((NPN_GetValueUPP) (FUNC))
-#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_SetValue */
-typedef NPError	(* NP_LOADDS NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue);
-#define NewNPN_SetValueProc(FUNC)		\
-		((NPN_SetValueUPP) (FUNC))
-#define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_GetUrlNotify */
-typedef NPError	(* NP_LOADDS NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData);
-#define NewNPN_GetURLNotifyProc(FUNC)		\
-		((NPN_GetURLNotifyUPP) (FUNC))
-#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_PostUrlNotify */
-typedef NPError (* NP_LOADDS NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData);
-#define NewNPN_PostURLNotifyProc(FUNC)		\
-		((NPN_PostURLNotifyUPP) (FUNC))
-#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
-
-/* NPN_GetUrl */
-typedef NPError	(* NP_LOADDS NPN_GetURLUPP)(NPP instance, const char* url, const char* window);
-#define NewNPN_GetURLProc(FUNC)		\
-		((NPN_GetURLUPP) (FUNC))
-#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_PostUrl */
-typedef NPError (* NP_LOADDS NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file);
-#define NewNPN_PostURLProc(FUNC)		\
-		((NPN_PostURLUPP) (FUNC))
-#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
-
-/* NPN_RequestRead */
-typedef NPError	(* NP_LOADDS NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList);
-#define NewNPN_RequestReadProc(FUNC)		\
-		((NPN_RequestReadUPP) (FUNC))
-#define CallNPN_RequestReadProc(FUNC, stream, range)		\
-		(*(FUNC))((stream), (range))
-
-/* NPN_NewStream */
-typedef NPError	(* NP_LOADDS NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream);
-#define NewNPN_NewStreamProc(FUNC)		\
-		((NPN_NewStreamUPP) (FUNC))
-#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream)		\
-		(*(FUNC))((npp), (type), (window), (stream))
-
-/* NPN_Write */
-typedef int32 (* NP_LOADDS NPN_WriteUPP)(NPP instance, NPStream* stream, int32 len, void* buffer);
-#define NewNPN_WriteProc(FUNC)		\
-		((NPN_WriteUPP) (FUNC))
-#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer)		\
-		(*(FUNC))((npp), (stream), (len), (buffer))
-
-/* NPN_DestroyStream */
-typedef NPError (* NP_LOADDS NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason);
-#define NewNPN_DestroyStreamProc(FUNC)		\
-		((NPN_DestroyStreamUPP) (FUNC))
-#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason)		\
-		(*(FUNC))((npp), (stream), (reason))
-
-/* NPN_Status */
-typedef void (* NP_LOADDS NPN_StatusUPP)(NPP instance, const char* message);
-#define NewNPN_StatusProc(FUNC)		\
-		((NPN_StatusUPP) (FUNC))
-#define CallNPN_StatusProc(FUNC, npp, msg)		\
-		(*(FUNC))((npp), (msg))	
-
-/* NPN_UserAgent */
-typedef const char*	(* NP_LOADDS NPN_UserAgentUPP)(NPP instance);
-#define NewNPN_UserAgentProc(FUNC)              \
-                ((NPN_UserAgentUPP) (FUNC))
-#define CallNPN_UserAgentProc(FUNC, ARG1)               \
-                (*(FUNC))((ARG1))
-
-/* NPN_MemAlloc */
-typedef void* (* NP_LOADDS NPN_MemAllocUPP)(uint32 size);
-#define NewNPN_MemAllocProc(FUNC)		\
-		((NPN_MemAllocUPP) (FUNC))
-#define CallNPN_MemAllocProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN__MemFree */
-typedef void (* NP_LOADDS NPN_MemFreeUPP)(void* ptr);
-#define NewNPN_MemFreeProc(FUNC)		\
-		((NPN_MemFreeUPP) (FUNC))
-#define CallNPN_MemFreeProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN_MemFlush */
-typedef uint32 (* NP_LOADDS NPN_MemFlushUPP)(uint32 size);
-#define NewNPN_MemFlushProc(FUNC)		\
-		((NPN_MemFlushUPP) (FUNC))
-#define CallNPN_MemFlushProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN_ReloadPlugins */
-typedef void (* NP_LOADDS NPN_ReloadPluginsUPP)(NPBool reloadPages);
-#define NewNPN_ReloadPluginsProc(FUNC)		\
-		((NPN_ReloadPluginsUPP) (FUNC))
-#define CallNPN_ReloadPluginsProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN_GetJavaEnv */
-typedef JRIEnv* (* NP_LOADDS NPN_GetJavaEnvUPP)(void);
-#define NewNPN_GetJavaEnvProc(FUNC)		\
-		((NPN_GetJavaEnvUPP) (FUNC))
-#define CallNPN_GetJavaEnvProc(FUNC)		\
-		(*(FUNC))()	
-
-/* NPN_GetJavaPeer */
-typedef jref (* NP_LOADDS NPN_GetJavaPeerUPP)(NPP instance);
-#define NewNPN_GetJavaPeerProc(FUNC)		\
-		((NPN_GetJavaPeerUPP) (FUNC))
-#define CallNPN_GetJavaPeerProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN_InvalidateRect */
-typedef void (* NP_LOADDS NPN_InvalidateRectUPP)(NPP instance, NPRect *rect);
-#define NewNPN_InvalidateRectProc(FUNC)		\
-		((NPN_InvalidateRectUPP) (FUNC))
-#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))	
-
-/* NPN_InvalidateRegion */
-typedef void (* NP_LOADDS NPN_InvalidateRegionUPP)(NPP instance, NPRegion region);
-#define NewNPN_InvalidateRegionProc(FUNC)		\
-		((NPN_InvalidateRegionUPP) (FUNC))
-#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))	
-
-/* NPN_ForceRedraw */
-typedef void (* NP_LOADDS NPN_ForceRedrawUPP)(NPP instance);
-#define NewNPN_ForceRedrawProc(FUNC)		\
-		((NPN_ForceRedrawUPP) (FUNC))
-#define CallNPN_ForceRedrawProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))	
-
-/* NPN_GetStringIdentifier */
-typedef NPIdentifier (* NP_LOADDS NPN_GetStringIdentifierUPP)(const NPUTF8* name);
-#define NewNPN_GetStringIdentifierProc(FUNC)		\
-		((NPN_GetStringIdentifierUPP) (FUNC))
-#define CallNPN_GetStringIdentifierProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_GetStringIdentifiers */
-typedef void (* NP_LOADDS NPN_GetStringIdentifiersUPP)(const NPUTF8** names,
-                                                 int32_t nameCount,
-                                                 NPIdentifier* identifiers);
-#define NewNPN_GetStringIdentifiersProc(FUNC)		\
-		((NPN_GetStringIdentifiersUPP) (FUNC))
-#define CallNPN_GetStringIdentifiersProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_GetIntIdentifier */
-typedef NPIdentifier (* NP_LOADDS NPN_GetIntIdentifierUPP)(int32_t intid);
-#define NewNPN_GetIntIdentifierProc(FUNC)		\
-		((NPN_GetIntIdentifierUPP) (FUNC))
-#define CallNPN_GetIntIdentifierProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_IdentifierIsString */
-typedef bool (* NP_LOADDS NPN_IdentifierIsStringUPP)(NPIdentifier identifier);
-#define NewNPN_IdentifierIsStringProc(FUNC)		\
-		((NPN_IdentifierIsStringUPP) (FUNC))
-#define CallNPN_IdentifierIsStringProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_UTF8FromIdentifier */
-typedef NPUTF8* (* NP_LOADDS NPN_UTF8FromIdentifierUPP)(NPIdentifier identifier);
-#define NewNPN_UTF8FromIdentifierProc(FUNC)		\
-		((NPN_UTF8FromIdentifierUPP) (FUNC))
-#define CallNPN_UTF8FromIdentifierProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_IntFromIdentifier */
-typedef int32_t (* NP_LOADDS NPN_IntFromIdentifierUPP)(NPIdentifier identifier);
-#define NewNPN_IntFromIdentifierProc(FUNC)		\
-		((NPN_IntFromIdentifierUPP) (FUNC))
-#define CallNPN_IntFromIdentifierProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_CreateObject */
-typedef NPObject* (* NP_LOADDS NPN_CreateObjectUPP)(NPP npp, NPClass *aClass);
-#define NewNPN_CreateObjectProc(FUNC)		\
-		((NPN_CreateObjectUPP) (FUNC))
-#define CallNPN_CreateObjectProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))
-
-/* NPN_RetainObject */
-typedef NPObject* (* NP_LOADDS NPN_RetainObjectUPP)(NPObject *obj);
-#define NewNPN_RetainObjectProc(FUNC)		\
-		((NPN_RetainObjectUPP) (FUNC))
-#define CallNPN_RetainObjectProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_ReleaseObject */
-typedef void (* NP_LOADDS NPN_ReleaseObjectUPP)(NPObject *obj);
-#define NewNPN_ReleaseObjectProc(FUNC)		\
-		((NPN_ReleaseObjectUPP) (FUNC))
-#define CallNPN_ReleaseObjectProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_Invoke */
-typedef bool (* NP_LOADDS NPN_InvokeUPP)(NPP npp, NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result);
-#define NewNPN_InvokeProc(FUNC)		\
-		((NPN_InvokeUPP) (FUNC))
-#define CallNPN_InvokeProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
-
-/* NPN_InvokeDefault */
-typedef bool (* NP_LOADDS NPN_InvokeDefaultUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-#define NewNPN_InvokeDefaultProc(FUNC)		\
-		((NPN_InvokeDefaultUPP) (FUNC))
-#define CallNPN_InvokeDefaultProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-/* NPN_Evaluate */
-typedef bool (* NP_LOADDS NPN_EvaluateUPP)(NPP npp, NPObject *obj, NPString *script, NPVariant *result);
-#define NewNPN_EvaluateProc(FUNC)		\
-		((NPN_EvaluateUPP) (FUNC))
-#define CallNPN_EvaluateProc(FUNC, ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_GetProperty */
-typedef bool (* NP_LOADDS NPN_GetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, NPVariant *result);
-#define NewNPN_GetPropertyProc(FUNC)		\
-		((NPN_GetPropertyUPP) (FUNC))
-#define CallNPN_GetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_SetProperty */
-typedef bool (* NP_LOADDS NPN_SetPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName, const NPVariant *value);
-#define NewNPN_SetPropertyProc(FUNC)		\
-		((NPN_SetPropertyUPP) (FUNC))
-#define CallNPN_SetPropertyProc(FUNC, ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_RemoveProperty */
-typedef bool (* NP_LOADDS NPN_RemovePropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-#define NewNPN_RemovePropertyProc(FUNC)		\
-		((NPN_RemovePropertyUPP) (FUNC))
-#define CallNPN_RemovePropertyProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_HasProperty */
-typedef bool (* NP_LOADDS NPN_HasPropertyUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-#define NewNPN_HasPropertyProc(FUNC)		\
-		((NPN_HasPropertyUPP) (FUNC))
-#define CallNPN_HasPropertyProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_HasMethod */
-typedef bool (* NP_LOADDS NPN_HasMethodUPP)(NPP npp, NPObject *obj, NPIdentifier propertyName);
-#define NewNPN_HasMethodProc(FUNC)		\
-		((NPN_HasMethodUPP) (FUNC))
-#define CallNPN_HasMethodProc(FUNC, ARG1, ARG2, ARG3)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_ReleaseVariantValue */
-typedef void (* NP_LOADDS NPN_ReleaseVariantValueUPP)(NPVariant *variant);
-#define NewNPN_ReleaseVariantValueProc(FUNC)		\
-		((NPN_ReleaseVariantValueUPP) (FUNC))
-#define CallNPN_ReleaseVariantValueProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_SetException */
-typedef void (* NP_LOADDS NPN_SetExceptionUPP)(NPObject *obj, const NPUTF8 *message);
-#define NewNPN_SetExceptionProc(FUNC)		\
-		((NPN_SetExceptionUPP) (FUNC))
-#define CallNPN_SetExceptionProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))	
-
-/* NPN_PushPopupsEnabledStateUPP */
-typedef bool (* NP_LOADDS NPN_PushPopupsEnabledStateUPP)(NPP npp, NPBool enabled);
-#define NewNPN_PushPopupsEnabledStateProc(FUNC)		\
-		((NPN_PushPopupsEnabledStateUPP) (FUNC))
-#define CallNPN_PushPopupsEnabledStateProc(FUNC, ARG1, ARG2)		\
-		(*(FUNC))((ARG1), (ARG2))
-
-/* NPN_PopPopupsEnabledState */
-typedef bool (* NP_LOADDS NPN_PopPopupsEnabledStateUPP)(NPP npp);
-#define NewNPN_PopPopupsEnabledStateProc(FUNC)		\
-		((NPN_PopPopupsEnabledStateUPP) (FUNC))
-#define CallNPN_PopPopupsEnabledStateProc(FUNC, ARG1)		\
-		(*(FUNC))((ARG1))
-
-/* NPN_Enumerate */
-typedef bool (* NP_LOADDS NPN_EnumerateUPP)(NPP npp, NPObject *obj, NPIdentifier **identifier, uint32_t *count);
-#define NewNPN_EnumerateProc(FUNC)		\
-		((NPN_EnumerateUPP) (FUNC))
-#define CallNPN_EnumerateProc(FUNC, ARG1, ARG2, ARG3, ARG4)		\
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4))
-
-/* NPN_PluginThreadAsyncCall */
-typedef void (* NP_LOADDS NPN_PluginThreadAsyncCallUPP)(NPP instance, void (*func)(void *), void *userData);
-#define NewNPN_PluginThreadAsyncCallProc(FUNC) \
-		((NPN_PluginThreadAsyncCallUPP) (FUNC))
-#define CallNPN_PluginThreadAsyncCallProc(FUNC, ARG1, ARG2, ARG3) \
-		(*(FUNC))((ARG1), (ARG2), (ARG3))
-
-/* NPN_Construct */
-typedef bool (* NP_LOADDS NPN_ConstructUPP)(NPP npp, NPObject* obj, const NPVariant *args, uint32_t argCount, NPVariant *result);
-#define NewNPN_ConstructProc(FUNC)		\
-		((NPN_ConstructUPP) (FUNC))
-#define CallNPN_ConstructProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5)      \
-		(*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
-
-
-
-/******************************************************************************************
- * The actual plugin function table definitions
- *******************************************************************************************/
-
-typedef struct _NPPluginFuncs {
-    uint16 size;
-    uint16 version;
-    NPP_NewUPP newp;
-    NPP_DestroyUPP destroy;
-    NPP_SetWindowUPP setwindow;
-    NPP_NewStreamUPP newstream;
-    NPP_DestroyStreamUPP destroystream;
-    NPP_StreamAsFileUPP asfile;
-    NPP_WriteReadyUPP writeready;
-    NPP_WriteUPP write;
-    NPP_PrintUPP print;
-    NPP_HandleEventUPP event;
-    NPP_URLNotifyUPP urlnotify;
-    JRIGlobalRef javaClass;
-    NPP_GetValueUPP getvalue;
-    NPP_SetValueUPP setvalue;
-} NPPluginFuncs;
-
-typedef struct _NPNetscapeFuncs {
-    uint16 size;
-    uint16 version;
-    NPN_GetURLUPP geturl;
-    NPN_PostURLUPP posturl;
-    NPN_RequestReadUPP requestread;
-    NPN_NewStreamUPP newstream;
-    NPN_WriteUPP write;
-    NPN_DestroyStreamUPP destroystream;
-    NPN_StatusUPP status;
-    NPN_UserAgentUPP uagent;
-    NPN_MemAllocUPP memalloc;
-    NPN_MemFreeUPP memfree;
-    NPN_MemFlushUPP memflush;
-    NPN_ReloadPluginsUPP reloadplugins;
-    NPN_GetJavaEnvUPP getJavaEnv;
-    NPN_GetJavaPeerUPP getJavaPeer;
-    NPN_GetURLNotifyUPP geturlnotify;
-    NPN_PostURLNotifyUPP posturlnotify;
-    NPN_GetValueUPP getvalue;
-    NPN_SetValueUPP setvalue;
-    NPN_InvalidateRectUPP invalidaterect;
-    NPN_InvalidateRegionUPP invalidateregion;
-    NPN_ForceRedrawUPP forceredraw;
-    NPN_GetStringIdentifierUPP getstringidentifier;
-    NPN_GetStringIdentifiersUPP getstringidentifiers;
-    NPN_GetIntIdentifierUPP getintidentifier;
-    NPN_IdentifierIsStringUPP identifierisstring;
-    NPN_UTF8FromIdentifierUPP utf8fromidentifier;
-    NPN_IntFromIdentifierUPP intfromidentifier;
-    NPN_CreateObjectUPP createobject;
-    NPN_RetainObjectUPP retainobject;
-    NPN_ReleaseObjectUPP releaseobject;
-    NPN_InvokeUPP invoke;
-    NPN_InvokeDefaultUPP invokeDefault;
-    NPN_EvaluateUPP evaluate;
-    NPN_GetPropertyUPP getproperty;
-    NPN_SetPropertyUPP setproperty;
-    NPN_RemovePropertyUPP removeproperty;
-    NPN_HasPropertyUPP hasproperty;
-    NPN_HasMethodUPP hasmethod;
-    NPN_ReleaseVariantValueUPP releasevariantvalue;
-    NPN_SetExceptionUPP setexception;
-    NPN_PushPopupsEnabledStateUPP pushpopupsenabledstate;
-    NPN_PopPopupsEnabledStateUPP poppopupsenabledstate;
-    NPN_EnumerateUPP enumerate;
-    NPN_PluginThreadAsyncCallUPP pluginthreadasynccall;
-    NPN_ConstructUPP construct;
-} NPNetscapeFuncs;
-
-
-#ifdef XP_MACOSX
-/******************************************************************************************
- * Mac platform-specific plugin glue stuff
- *******************************************************************************************/
-
-/*
- * Main entry point of the plugin.
- * This routine will be called when the plugin is loaded. The function
- * tables are passed in and the plugin fills in the NPPluginFuncs table
- * and NPPShutdownUPP for Netscape's use.
- */
-typedef NPError (* NP_LOADDS NPP_MainEntryUPP)(NPNetscapeFuncs*, NPPluginFuncs*, NPP_ShutdownUPP*);
-#define NewNPP_MainEntryProc(FUNC)		\
-		((NPP_MainEntryUPP) (FUNC))
-#define CallNPP_MainEntryProc(FUNC,  netscapeFunc, pluginFunc, shutdownUPP)		\
-		(*(FUNC))((netscapeFunc), (pluginFunc), (shutdownUPP))
-
-/*
- * 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);
-
- /* NP_GetMIMEDescription */
-#define NP_GETMIMEDESCRIPTION_NAME "NP_GetMIMEDescription"
-typedef const char* (* NP_LOADDS NP_GetMIMEDescriptionUPP)();
-#define NewNP_GetMIMEDescEntryProc(FUNC)		\
-		((NP_GetMIMEDescriptionUPP) (FUNC))
-#define CallNP_GetMIMEDescEntryProc(FUNC)		\
-		(*(FUNC))()
-
-/* BP_GetSupportedMIMETypes */
-typedef OSErr (* NP_LOADDS BP_GetSupportedMIMETypesUPP)(BPSupportedMIMETypes*, UInt32);
-#define NewBP_GetSupportedMIMETypesEntryProc(FUNC)		\
-		((BP_GetSupportedMIMETypesUPP) (FUNC))
-#define CallBP_GetMIMEDescEntryProc(FUNC,  mimeInfo, flags)		\
-		(*(FUNC))((mimeInfo), (flags))
-
-#endif /* XP_MACOSX */
-
-#if defined(_WINDOWS)
-#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")))
-#else
-#define NP_VISIBILITY_DEFAULT
-#endif
-
-#define NP_EXPORT(__type) NP_VISIBILITY_DEFAULT __type
-#endif
-
-#if defined( _WINDOWS ) || 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;
-
-NPError OSCALL NP_GetPluginData(NPPluginData * pPluginData);
-
-#endif
-
-NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* pFuncs);
-
-NPError OSCALL NP_Initialize(NPNetscapeFuncs* pFuncs);
-
-NPError OSCALL NP_Shutdown();
-
-char*	NP_GetMIMEDescription();
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _WINDOWS || __OS2__ */
-
-#if defined(__OS2__)
-#pragma pack()
-#endif
-
-#ifdef XP_UNIX
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* plugin meta member functions */
-
-NP_EXPORT(char*)   NP_GetMIMEDescription(void);
-NP_EXPORT(NPError) NP_Initialize(NPNetscapeFuncs*, NPPluginFuncs*);
-NP_EXPORT(NPError) NP_Shutdown(void);
-NP_EXPORT(NPError) NP_GetValue(void *future, NPPVariable aVariable, void *aValue);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* XP_UNIX */
-
-#endif /* _NPUPP_H_ */
diff --git a/podcast/rhythmbox-itms-plugin.c b/podcast/rhythmbox-itms-plugin.c
deleted file mode 100644
index a4be72a..0000000
--- a/podcast/rhythmbox-itms-plugin.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- *  Copyright © 2007 Bastien Nocera <hadess@hadess.net>
- *  Copyright © 2005 Jorn Baayen <jbaayen@gnome.org>
- *  Copyright © 2005 Christian Persch
- *
- *  Based on the work of:
- *
- *  Copyright © 2004 Bastien Nocera <hadess@hadess.net>
- *  Copyright © 2002 David A. Schleef <ds@schleef.org>
- *
- *  This library is free software; you can redistribute it and/or
- *  modify it under the terms of the GNU Library General Public
- *  License as published by the Free Software Foundation; either
- *  version 2 of the License, or (at your option) any later version.
- *
- *  This library 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
- *  Library General Public License for more details.
- *
- *  You should have received a copy of the GNU Library General Public
- *  License along with this library; if not, write to the
- *  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- *  Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#define bool int
-#include <string.h>
-#include <npupp.h>
-
-static NPNetscapeFuncs mozilla_functions;
-
-static NPError
-plugin_new_instance (NPMIMEType mime_type,
-		     NPP instance,
-		     uint16 mode,
-		     int16 argc,
-		     char **argn,
-		     char **argv,
-		     NPSavedData *saved)
-{
-	return NPERR_INVALID_INSTANCE_ERROR;
-}
-
-static NPError
-plugin_destroy_instance (NPP instance,
-			 NPSavedData **save)
-{
-	return NPERR_NO_ERROR;
-}
-
-static NPError
-plugin_new_stream (NPP instance,
-		   NPMIMEType type,
-		   NPStream *stream_ptr,
-		   NPBool seekable,
-		   uint16 *stype)
-{
-	return NPERR_INVALID_PARAM;
-}
-
-static NPError
-plugin_stream_as_file (NPP instance,
-		       NPStream* stream,
-		       const char *filename)
-{
-	return NPERR_INVALID_PARAM;
-}
-
-static NPError
-plugin_destroy_stream (NPP instance,
-		       NPStream *stream,
-		       NPError reason)
-{
-	return NPERR_NO_ERROR;
-}
-
-static int32
-plugin_write_ready (NPP instance,
-		    NPStream *stream)
-{
-	return 0;
-}
-
-static int32
-plugin_write (NPP instance,
-	      NPStream *stream,
-	      int32 offset,
-	      int32 len,
-	      void *buffer)
-{
-	return -1;
-}
-
-static NPError
-plugin_get_value (NPP instance,
-		  NPPVariable variable,
-		  void *value)
-{
-	NPError err = NPERR_NO_ERROR;
-
-	switch (variable) {
-	case NPPVpluginNameString:
-		*((char **) value) = "iTunes Application Detector";
-		break;
-
-	case NPPVpluginDescriptionString:
-		*((char **) value) = "This plug-in detects the presence of iTunes when opening iTunes Store URLs in a web page with Firefox.";
-		break;
-
-	case NPPVpluginNeedsXEmbed:
-		*((NPBool *) value) = FALSE;
-		break;
-
-	default:
-		err = NPERR_INVALID_PARAM;
-		break;
-	}
-
-	return err;
-}
-
-NPError
-NP_GetValue (void *future,
-	     NPPVariable variable,
-	     void *value)
-{
-	return plugin_get_value (NULL, variable, value);
-}
-
-char *
-NP_GetMIMEDescription (void)
-{
-	return "application/itunes-plugin::;";
-}
-
-NPError
-NP_Initialize (NPNetscapeFuncs *moz_funcs,
-               NPPluginFuncs *plugin_funcs)
-{
-	if (moz_funcs == NULL || plugin_funcs == NULL)
-		return NPERR_INVALID_FUNCTABLE_ERROR;
-
-	if ((moz_funcs->version >> 8) > NP_VERSION_MAJOR)
-		return NPERR_INCOMPATIBLE_VERSION_ERROR;
-	if (moz_funcs->size < sizeof (NPNetscapeFuncs))
-		return NPERR_INVALID_FUNCTABLE_ERROR;
-	if (plugin_funcs->size < sizeof (NPPluginFuncs))
-		return NPERR_INVALID_FUNCTABLE_ERROR;
-
-	/*
-	 * Copy all of the fields of the Mozilla function table into our
-	 * copy so we can call back into Mozilla later.  Note that we need
-	 * to copy the fields one by one, rather than assigning the whole
-	 * structure, because the Mozilla function table could actually be
-	 * bigger than what we expect.
-	 */
-	mozilla_functions.size             = moz_funcs->size;
-	mozilla_functions.version          = moz_funcs->version;
-	mozilla_functions.geturl           = moz_funcs->geturl;
-	mozilla_functions.posturl          = moz_funcs->posturl;
-	mozilla_functions.requestread      = moz_funcs->requestread;
-	mozilla_functions.newstream        = moz_funcs->newstream;
-	mozilla_functions.write            = moz_funcs->write;
-	mozilla_functions.destroystream    = moz_funcs->destroystream;
-	mozilla_functions.status           = moz_funcs->status;
-	mozilla_functions.uagent           = moz_funcs->uagent;
-	mozilla_functions.memalloc         = moz_funcs->memalloc;
-	mozilla_functions.memfree          = moz_funcs->memfree;
-	mozilla_functions.memflush         = moz_funcs->memflush;
-	mozilla_functions.reloadplugins    = moz_funcs->reloadplugins;
-	mozilla_functions.getJavaEnv       = moz_funcs->getJavaEnv;
-	mozilla_functions.getJavaPeer      = moz_funcs->getJavaPeer;
-	mozilla_functions.geturlnotify     = moz_funcs->geturlnotify;
-	mozilla_functions.posturlnotify    = moz_funcs->posturlnotify;
-	mozilla_functions.getvalue         = moz_funcs->getvalue;
-	mozilla_functions.setvalue         = moz_funcs->setvalue;
-	mozilla_functions.invalidaterect   = moz_funcs->invalidaterect;
-	mozilla_functions.invalidateregion = moz_funcs->invalidateregion;
-	mozilla_functions.forceredraw      = moz_funcs->forceredraw;
-	mozilla_functions.geturl           = moz_funcs->geturl;
-
-	/*
-	 * Set up a plugin function table that Mozilla will use to call
-	 * into us.  Mozilla needs to know about our version and size and
-	 * have a UniversalProcPointer for every function we implement.
-	 */
-
-	plugin_funcs->size = sizeof (NPPluginFuncs);
-	plugin_funcs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
-	plugin_funcs->newp = NewNPP_NewProc (plugin_new_instance);
-	plugin_funcs->destroy = NewNPP_DestroyProc (plugin_destroy_instance);
-	plugin_funcs->setwindow = NewNPP_SetWindowProc (NULL);
-	plugin_funcs->newstream = NewNPP_NewStreamProc (plugin_new_stream);
-	plugin_funcs->destroystream = NewNPP_DestroyStreamProc (plugin_destroy_stream);
-	plugin_funcs->asfile = NewNPP_StreamAsFileProc (plugin_stream_as_file);
-	plugin_funcs->writeready = NewNPP_WriteReadyProc (plugin_write_ready);
-	plugin_funcs->write = NewNPP_WriteProc (plugin_write);
-	plugin_funcs->print = NewNPP_PrintProc (NULL);
-	plugin_funcs->event = NewNPP_HandleEventProc (NULL);
-	plugin_funcs->urlnotify = NewNPP_URLNotifyProc (NULL);
-	plugin_funcs->javaClass = NULL;
-	plugin_funcs->getvalue = NewNPP_GetValueProc (plugin_get_value);
-	plugin_funcs->setvalue = NewNPP_SetValueProc (NULL);
-
-	return NPERR_NO_ERROR;
-}
-
-NPError
-NP_Shutdown (void)
-{
-	return NPERR_NO_ERROR;
-}
