pkgsrc/www/nspluginwrapper/Makefile

50 lines
1.5 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.37 2013/02/06 23:24:02 jperkin Exp $
#
2012-11-04 00:58:14 +01:00
DISTNAME= nspluginwrapper-1.2.2
PKGREVISION= 18
2012-11-04 00:58:14 +01:00
CATEGORIES= www
MASTER_SITES= http://gwenole.beauchesne.info/projects/nspluginwrapper/files/
EXTRACT_SUFX= .tar.bz2
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${DISTNAME:S/-/-i386-/}-1.x86_64.rpm
2012-11-04 00:58:14 +01:00
MAINTAINER= abs@NetBSD.org
HOMEPAGE= http://gwenole.beauchesne.info/projects/nspluginwrapper/
COMMENT= Use Netscape compatible plugins from other platforms
2010-01-31 00:08:00 +01:00
LICENSE= gnu-gpl-v2
EMUL_PLATFORMS= linux-i386
EMUL_MODULES.linux= base gtk2 x11
NOT_FOR_PLATFORM= Linux-*-*
HAS_CONFIGURE= yes
USE_LANGUAGES= c c++
USE_TOOLS+= gmake pkg-config
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --with-x11-prefix=${X11BASE}
PLUGIN_SUBDIR= lib/nspluginwrapper/i386/linux
PLUGIN_INSTDIR= ${PREFIX}/${PLUGIN_SUBDIR}
PLUGIN_SRCDIR= ${WRKDIR}/usr/${PLUGIN_SUBDIR}
LDFLAGS.DragonFly= -lgmodule-2.0
SUBST_CLASSES+= npviewer
SUBST_STAGE.npviewer= post-build
SUBST_FILES.npviewer= ${PLUGIN_SRCDIR}/npviewer
SUBST_SED.npviewer= -e "s|/usr/|${PREFIX}/|g"
2009-02-10 13:44:24 +01:00
INSTALLATION_DIRS= ${PLUGIN_INSTDIR}
post-install:
2009-02-10 13:44:24 +01:00
${INSTALL_LIB} ${PLUGIN_SRCDIR}/libxpcom.so ${DESTDIR}${PLUGIN_INSTDIR}
${INSTALL_SCRIPT} ${PLUGIN_SRCDIR}/npviewer ${DESTDIR}${PLUGIN_INSTDIR}
${INSTALL_LIB} ${PLUGIN_SRCDIR}/npviewer.bin ${DESTDIR}${PLUGIN_INSTDIR}
.include "../../devel/glib2/buildlink3.mk"
Update nspluginwrapper to 1.1.10, ok abs@. Changes: 2008-12-07 22:35 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Destroy plugin window only if PluginInstance is finalize'd. This is because an NPPVpluginScriptableNPObject can still hold a reference to it (and a call to NPClass::Invalidate() would fail in that case). 2008-12-07 22:30 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime-impl.h, src/npruntime.c: Use NPW memory allocator for NPObjectInfo objects. Reference count PluginInstance bound to an NPObject if it is known at NPClass::allocate() time. 2008-12-07 22:02 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c: Re-add refcount debugging info for NPN_{Create,Retain,Release}Object(). 2008-12-07 21:48 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Remove delayed NPN_InvalidateRect() code as it's no longer necessary with RPC synchronous messaging. 2008-12-07 19:25 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Make NPN_ReleaseObject() use rpc_method_invoke_possible() to check whether we can send it immediately. This detects the case where a call is made after rpc_method_send_reply() but before we return from the rpc_dispatch() handler. 2008-12-07 19:22 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c, src/rpc.h: Implement synchronous messaging. aka turns an async call (i.e. an rpc_method_invoke() with a connection in server mode) into a synchronous one. That way, the browser is notified that the plugin wants to make a call and then puts self into condition to receive the message (normal rpc_dispatch() or at the end of a toplevel NPP_*() function). This makes it RPC protocol v2.6. 2008-12-07 15:30 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-concurrent.c: Improve concurrent test to check we get the right answers (in case nested handling got wrong). Besides, make sure the client waits for all server's incoming calls prior to rpc_test_exit()'ing. 2008-12-07 15:24 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-common.c: Make sure to handle RPC on both ends, including the client's side. 2008-12-07 08:12 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix NPP_HandleEvent() return value on error. 2008-12-07 08:10 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Add checks for all rpc_method_invoke() functions. 2008-12-07 08:06 Gwenole Beauchesne <gb.public@free.fr> * src/debug.h: Add npw_return_if_fail() and npw_return_val_if_fail() helpers. 2008-12-07 07:16 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c, src/rpc.h, tests/test-rpc-nested-2.c: Add rpc_method_invoke_possible() interface to check whether we are ready to call rpc_method_invoke() or not. i.e. in particular, if we are not trying to invoke functions after rpc_method_send_reply() and before we return from an RPC method handler. 2008-12-06 18:21 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-common.c, tests/test-rpc-concurrent.c, tests/test-rpc-nested-1.c, tests/test-rpc-types.c: Use helpers. In particular, don't use g_assert() but rather RPC_TEST_ENSURE() or RPC_TEST_ENSURE_NO_ERROR() which always evaluate. 2008-12-06 18:13 Gwenole Beauchesne <gb.public@free.fr> * Makefile, tests/test-rpc-nested-2.c: Add another testcase for nested rpc_method_invoke(). This time, we are also emitting a call just after an rpc_method_send_reply(). Note: this is not fixed yet. 2008-12-06 18:11 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-common.h: Add helpers. 2008-12-06 18:10 Gwenole Beauchesne <gb.public@free.fr> * Makefile, tests/test-rpc-nested-1.c, tests/test-rpc-nested.c: Rename. 2008-12-06 09:08 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Rework the XEMBED hack. Don't let the browser cause Gtk to kill our window. i.e. don't process WM_DELETE_EVENT sent by the browser GtkSocket. That way, we will kill the window ourselves in NPP_Destroy(). 2008-12-04 21:31 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Process delayed calls in NPP_Destroy() only if PluginInstances match. Besides, don't care about pending NPN_InvalidateRect() requests if we already know the instance will pass away soon (i.e. we are in NPP_Destroy()). 2008-12-03 22:56 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Delay all NPN_InvalidateRect() messages. An intermediate solution may be to delay the messages only if there is actually incoming RPC. Postpone this optimization for a future version (and smarter strategy to "compress" the region/requests). 2008-12-03 20:51 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime-impl.h, src/npruntime.c: Add debug messages for NPClass::invoke_*() functions. 2008-12-02 21:49 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c: Fix invalid RPC beyond NPP_Destroy(). This fixes the following scenario: Browser: NPP_Destroy() -> rpc_method_invoke() Viewer: NPN_InvalidateRect() -> rpc_method_invoke() -> rpc_dispatch() pending messages -> handle_NPP_Destroy() -> PluginInstance is killed -> send PluginInstance but it was killed... Now, with the help of reference counting, we can hold the PluginInstance. Besides, NPP_Destroy() will reset instance_id, thus RPC won't be sending a "valid" PluginInstance to the other side, thus reducing the other side call to a no-op. i.e. don't try to do anything with the browser NPP instance that was killed previously (the NPP_Destroy() call would have completed by the time the browser-side needs to handle incoming RPC). 2008-12-02 21:00 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Preserve PluginInstance objects during invoke_NPN_*() function calls. This is because rpc_method_invoke() can handle pending messages, among which an NPP_Destroy() is possible. Since the latter unref the PluginInstance, we could arrive in a situation where we are dereferencing deallocated data. 2008-12-02 20:44 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.h, src/npw-viewer.c, src/npw-wrapper.c: Replace all RPC_TYPE_NPP with RPC_TYPE_NPW_PLUGIN_INSTANCE. 2008-12-02 20:15 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-rpc.h: Add RPC_TYPE_NPW_PLUGIN_INSTANCE to marshal PluginInstance objects. 2008-12-01 23:01 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Pass PluginInstance to invoke_NP*() functions. The next step is to replace RPC_TYPE_NPP with RPC_TYPE_NPW_PLUGIN_INSTANCE. 2008-12-01 21:55 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c: Minor cleanups. Make sure plugin->instance is NULL on exit from NPP_Destroy(). 2008-12-01 21:47 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.h: Remove extraneous "extern" linkage keyword, this is default behaviour. 2008-12-01 21:46 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.c, src/npw-common.h, src/npw-viewer.c, src/npw-wrapper.c: Add infrastructure to refcount PlugInstances. 2008-12-01 20:28 Gwenole Beauchesne <gb.public@free.fr> * configure, src/npruntime.c, src/npw-viewer.c: Disable PID check, this is not really useful unless a plugin does fork() without exec(). This could be reactivated with --enable-pid-check though. 2008-12-01 20:06 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix pid_check() for USE_PID_CHECK == 0 (thanks Martin Stransky). 2008-12-01 20:03 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Bump release for development. 2008-11-30 23:03 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-11-30 23:00 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Drop use of "extern inline" as some (older) compilers don't support ISO C semantics. 2008-11-30 22:54 Gwenole Beauchesne <gb.public@free.fr> * NEWS, nspluginwrapper.spec: Updates for 1.1.8. 2008-11-30 22:39 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Process all pending calls in NPP_Destroy() as the data could become junk afterwards. 2008-11-30 22:34 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Don't delay call to NPN_ReleaseObject() if we can handle it now. 2008-11-30 21:52 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c: Add rpc_method_*_valist() variants, internal only for now. 2008-11-30 21:24 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Slightly improved delayed call mechanism. This is not fully satisfying yet as I believe a pipe should be better (glib GSource creation is slow). Fortunately, there doesn't seem to be that many calls to NPN_ReleaseObject(). 2008-11-30 21:07 Gwenole Beauchesne <gb.public@free.fr> * src/npw-malloc.h: Fix typo. 2008-11-30 20:47 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c: Delay calls to NPN_ReleaseObject. Revert: 2008-11-22 10:43 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix NPN_ReleaseObject() reply, i.e. don't dereference npobj after the real call to NPN handler as it could be deallocated. 2008-11-30 17:38 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Add missing debugging messages. 2008-11-30 17:21 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c: Fix pid_check() for the browser-side implementation. 2008-11-30 17:14 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c: Extend PID check to npruntime bridge. 2008-11-30 15:52 Gwenole Beauchesne <gb.public@free.fr> * lsb-build/stub_libs/libc_main.c: Add dirfd() for npw_close_all_open_files(). 2008-11-30 15:47 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Check that processes fork()'ed off npviewer.bin don't issue RPC calls. Initial patch by Martin Stransky. 2008-11-30 14:56 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c: Rename is_npclass_valid() to is_valid_npobject_class(). 2008-11-30 14:50 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-wrapper.c: Remove wrong comment. The errors previously noticed were due to the fact that NPObjects were looked up in the wrong (previously deallocated) hash table. We now preserve that hash table. 2008-11-30 14:33 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Likewise for npobject_bridge_destroy(). 2008-11-30 14:18 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Move id_init() into NP_Initialize(), likewise for id_kill() into NP_Shutdown(). Those functions are guaranteed to be called only once. g_NP_Initialize() and g_NP_Shutdown() could be called several times for the restart machinery but we don't want to clobber with IDs generated previously. 2008-11-30 13:17 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Kill viewer if the parent browser died (Martin Stransky). 2008-11-30 13:08 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-wrapper.c: Use rpc_connection_set_error_callback() to detect and handle an RPC connection loss (Martin Stransky). In that case, all NPObjects are invalidated. XXX: this is too global. 2008-11-30 12:10 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime-impl.h, src/npruntime.c: Add a mechanism to stop calls to NPClass functions if the other end died. We get notified of this situation through npruntime_deactivate(). Initial patch by Martin Stransky. 2008-11-30 11:09 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c, src/rpc.h: Introduce rpc_connection_set_error_callback() to register a callback for RPC errors (Martin Stransky). 2008-11-30 10:41 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Warn out when we explicitly don't support specific variables for XPCOM in NPN_GetValue() (Martin Stransky). 2008-11-30 09:18 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c: Add SOCK_CLOEXEC to socket() flags. This is a Linux >= 2.6.27 extension. 2008-11-30 09:01 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c, src/utils.c, src/utils.h: Close all open files on fork(). Initial patch by Dan Walsh. 2008-11-29 14:49 Gwenole Beauchesne <gb.public@free.fr> * utils/npw-shadow.c: Nuke dead file. 2008-11-29 14:47 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Make it possible to execute native plugins directly (i.e. without npviewer.bin) if either "NPW_DIRECT_EXEC" or "NPW_DIRECT_EXECUTION" environment variable is set. 2008-11-29 14:03 Gwenole Beauchesne <gb.public@free.fr> * src/utils.c: Fix id_init() to create a new hash if it does not exist already. 2008-11-25 22:11 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.sh: Make `which' failures silent for soudwrappers. It's also correct to work without a soundwrapper if the audio device is correctly multiplexed (Stanislav Brabec). 2008-11-25 21:20 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Bump release for development. 2008-11-24 18:35 Gwenole Beauchesne <gb.public@free.fr> * NEWS: Fix typo. 2008-11-23 21:57 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-11-23 06:43 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix a warning (enumeration value not handled in switch). 2008-11-23 06:39 Gwenole Beauchesne <gb.public@free.fr> * NEWS, nspluginwrapper.spec: Updates for 1.1.6. * README: Fix typos and mention trademark as there are commercial interests (and be on the safe side). 2008-11-22 15:33 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-11-22 15:20 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c: Fix string_of_NPVariant() for NULL arguments. 2008-11-22 15:04 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c: Release args variants prior to calling rpc_method_send_reply(). 2008-11-22 13:49 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c, src/utils.c, src/utils.h: Improve debug info for NP[PN]_[SG]etValue(). 2008-11-22 13:23 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix debug message in NPN_Write(). 2008-11-22 10:52 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix memory leak in NPN_GetStringIdentifiers() RPC handler. 2008-11-22 10:50 Gwenole Beauchesne <gb.public@free.fr> * src/npw-malloc.h: Add NPW_MemNew() and NPW_MemNew0() helpers. 2008-11-22 10:43 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix NPN_ReleaseObject() reply, i.e. don't dereference npobj after the real call to NPN handler as it could be deallocated. 2008-11-22 10:01 Gwenole Beauchesne <gb.public@free.fr> * src/debug.c, src/debug.h, src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Indent debugging messages. 2008-11-22 08:54 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Improve debugging messages. Nested invocations could confuse what the return value actually refers to. 2008-11-22 07:54 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Don't make the sync message a WARNING. 2008-11-22 07:52 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Always synchronize NPObject::referenceCount in case the plugin wants to inspect that. Synchronization through NPN_RetainObject()/NPN_ReleaseObject() should be enough though. 2008-11-22 07:37 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix plugin window resize in XEMBED hack mode. 2008-11-17 21:55 Gwenole Beauchesne <gb.public@free.fr> * tests/test-plugins.html: Newer demo for the SqueakVM plugin. 2008-11-17 21:40 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c: Lower priority of RPC handlers. 2008-11-15 21:50 Gwenole Beauchesne <gb.public@free.fr> * src/npw-player.c: Fix for "javascript:" requests. Don't make them fail because we are starting those streams manually. 2008-11-15 21:45 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.h: Fix npw_get_stream_instance(). 2008-11-09 17:02 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Update NPP_Write() comment for negative array lengths. 2008-11-09 16:56 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Propagate NPP_Write() with negative lengths since the plugin may want to handle that case (e.g. close a stream?). In practise, this doesn't make much sense either. NPAPI specs need to be updated to mean "close the stream" if NPP_WriteReady() returns a negative value. 2008-11-09 16:46 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c, tests/test-rpc-types.c: Actually, since an array of negative size doesn't make sense, let it be the responsibility of the caller to check for bounds. 2008-11-09 16:38 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c, tests/test-rpc-types.c: Size of the array to RPC_TYPE_ARRAY argument is now an int32. Allow for NULL arrays or arrays of negative length. In that case, the returned array pointer in the other size is NULL. 2008-11-09 15:26 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-types.c: Add tests for arrays. Fix rpc_test_signature() for arrays. 2008-11-09 15:24 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c: Allow arrays of uint64 or double. 2008-11-09 14:29 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-common.c, tests/test-rpc-common.h, tests/test-rpc-concurrent.c, tests/test-rpc-nested.c, tests/test-rpc-types.c: Fix indentation (8-char tabs, not 4). 2008-11-09 14:18 Gwenole Beauchesne <gb.public@free.fr> * configure: Enable glib memory hooks by default if not configuring with --enable-generic. 2008-11-09 14:13 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Bump version for development. 2008-11-06 22:36 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-11-06 22:28 Gwenole Beauchesne <gb.public@free.fr> * NEWS, README, nspluginwrapper.spec: Updates for 1.1.4. 2008-11-06 22:06 Gwenole Beauchesne <gb.public@free.fr> * configure: Build glib memory hooks only if system glib supports g_slice_alloc(). 2008-11-04 23:16 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-common.c, src/npw-rpc.c, src/npw-wrapper.c: Fix remaining memory leaks in npruntime bridge. The strategy with NPVariants assumes that NPObject methods will preserve the NPVariant value by copying it (e.g. a string) or increasing the refcount of the underlying NPObject. IOW, they don't assume the value is live beyond the call to that method without preserving it. Based on this assumption, we can write the following rules: - Any NPVariant value shall be released if it comes from an rpc_method_get_args(). That's an nspluginwrapper requirement - Any NPVariant result value shall be released when the plugin no longer needs it. That's an NPAPI requirement, implemented by the plugin. Thus, we deal with NPObjects as follows: - Prior to sending an NPObject (in an NPVariant), the browser ref()'s it - After having received an NPObject, the browser ref()'s it i.e. since this is a browser-side object, it's browser side responsibility to ref()' the object. The plugin will unref() the NPObject "naturally" when (i) the NPVariant got from rpc_method_get_args() is released, or (ii) the NPVariant is explicitly unref()'ed per NPAPI specs for NPVariant result values. 2008-11-04 21:21 Gwenole Beauchesne <gb.public@free.fr> * src/npw-malloc.c: Fix copy-paste error. 2008-11-03 23:04 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Don't try to NPP_Write() erroneous buffers of supposedly negative length. Actually, we can get to that case if NPP_WriteReady() returned -1 or another negative value, in general. Some browsers (Konqueror, Google Chrome) send data through NPP_Write() anyway. Others (Firefox, WebKit) actually suspend the stream temporarily. Note that returning -1 here will destroy the stream. This is compatible with the expected behaviour. e.g. the DiamondX test plugin wants that. Is there any other "real" plugin in that case too? 2008-11-03 22:29 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Use the XEMBED hack (GTK_WINDOW_POPUP toplevel widget instead of GtkPlug) only with Gtk2-based browsers. IOW, this restores the older behaviour for Konqueror as this causes problems there. 2008-11-03 22:20 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Fix NPN_GetValue() with NPNVToolkit. Actually, it was not a problem before because we used to always return NPNVGtk2. However, we now want to detect what toolkit the parent browser is using. 2008-11-02 15:42 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix XEMBED support. Actually, workaround Gtk and Firefox bugs. i.e. don't let them kill the plugin window by killing the old page window without calling either NPP_Destroy() or SetWindow(instance, NULL) first. 2008-11-02 15:04 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.h: Fix npw_get_plugin_instance() for CrossOver Plugin. They make a local copy of the original instance in stack while preserving the same plugin private data (our PluginInstance, fortunately!). 2008-10-29 05:40 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-common.h, src/npw-wrapper.c: Don't claim we support interfaces we currently don't, i.e. NPAPI >= 0.18 is not fully implemented yet. 2008-10-29 05:26 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix NPP_URLNotify() (thanks to Bennet Yee). 2008-10-29 05:18 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.c, src/npw-common.h: Add an NPW_Identifier type useful for implementing local NPIdentifier cache. It's silly to do an RPC round trip simply to retrieve an integer or string value. The NPRuntime caching strategy is not fully settled yet though. 2008-10-29 05:14 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-rpc.h, src/npw-viewer.c, src/npw-wrapper.c: Create a specific NPUTF8 string marshaler. The difference with normal RPC_TYPE_STRING is the recv() allocates the string with NPN memory allocators. Besides, it's technically possible to pass a NULL argument to the recv() handler and means "I don't care of the data you received. Drop it, thanks". In practise, this is not useful but all marshalers should be safe to NULL arguments and still work afterwards (i.e. do receive data) in that case. 2008-10-29 04:05 Gwenole Beauchesne <gb.public@free.fr> * src/npw-malloc.c: Revert to libc free() if we don't have the 'Glib' magic in memblock. 2008-10-27 23:22 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Use new memory allocators. 2008-10-27 23:14 Gwenole Beauchesne <gb.public@free.fr> * Makefile, configure, src/npw-common.c, src/npw-malloc.c, src/npw-malloc.h: Add memory allocation wrappers over standard libc or glib. 2008-10-27 21:50 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.c: Remove checks, those functions shall be used only if they are known to be usable in the first place. 2008-10-26 23:07 Gwenole Beauchesne <gb.public@free.fr> * TODO: Updates. 2008-10-26 23:01 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-rpc.c: Use NPN memory allocation routines for NPVariant (NPString). 2008-10-26 22:31 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Use common instance stuff. 2008-10-26 22:26 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.h, src/npw-viewer.c, src/npw-wrapper.c: Add common PluginInstance|StreamInstance code. 2008-10-26 22:23 Gwenole Beauchesne <gb.public@free.fr> * src/npw-common.c: Add memory allocation wrappers. 2008-10-26 21:36 Gwenole Beauchesne <gb.public@free.fr> * Makefile, src/npruntime.c, src/npw-common.c, src/npw-common.h, src/npw-viewer.c, src/npw-wrapper.c, src/sysdeps.h: Clean up common code. 2008-10-26 20:51 Gwenole Beauchesne <gb.public@free.fr> * src/debug.h: Add very verbose debug mode with filename:line additional specification. Disabled by default, for developers that want to debug things. Note this uses a GNU C extension. 2008-10-26 17:01 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c: Cosmetics. Also fix some memory leaks. 2008-10-26 16:26 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Print returned pointer in NPN_MemAlloc() for debugging. 2008-10-26 16:23 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime-impl.h, src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Move NPVariant helpers to npruntime.c. Fix string_of_NPVariant() for NPString. Define NPN_ReleaseVariantValue() and NPN_ReleaseObject() appropriately in both the wrapper and the viewer. 2008-10-26 15:38 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Allocate an empty string ('') for NPString::utf8length == 0. This is what Firefox does. 2008-10-26 07:55 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Avoid double object destruction with the Flash Player plugin. 2008-10-25 17:42 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/utils.c, src/utils.h: Add string_of_NPEvent_type() for debug. 2008-10-25 17:36 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Fix typo for debug. 2008-10-25 17:31 Gwenole Beauchesne <gb.public@free.fr> * src/gtk2xtbin.c, src/gtk2xtbin.h: Sync with firefox3 sources. 2008-10-21 21:45 Gwenole Beauchesne <gb.public@free.fr> * configure: Check for the X Toolkit correctly (fully). 2008-10-13 19:56 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Bump version for development. 2008-10-12 16:10 Gwenole Beauchesne <gb.public@free.fr> * Makefile: Fix make tarball. 2008-10-12 16:07 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-10-12 16:01 Gwenole Beauchesne <gb.public@free.fr> * README: Mention the standalone plugins player. 2008-10-12 15:59 Gwenole Beauchesne <gb.public@free.fr> * README, src/npw-config.c: Update doc for nspluginwrapper -n|--native flag. 2008-10-12 15:21 Gwenole Beauchesne <gb.public@free.fr> * NEWS, nspluginwrapper.spec: Updates for 1.1.2 release. 2008-10-12 15:19 Gwenole Beauchesne <gb.public@free.fr> * README: Flash Player 10 release candidate also works. 2008-10-12 15:05 Gwenole Beauchesne <gb.public@free.fr> * Makefile, configure, src/npw-config.c: Add support for Open Solaris (2008.05). 2008-10-12 15:04 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.sh: Fix architecture detection on Solaris/i386. 2008-10-12 15:03 Gwenole Beauchesne <gb.public@free.fr> * src/npw-config.c: Allow wrapping of native plugins through the -n|--native option. 2008-10-12 15:00 Gwenole Beauchesne <gb.public@free.fr> * src/npw-config-template.h: Try to guess Solaris binaries with .SUNW_version sections. 2008-10-12 13:55 Gwenole Beauchesne <gb.public@free.fr> * Makefile, utils/install.sh: Add install program. 2008-10-12 08:31 Gwenole Beauchesne <gb.public@free.fr> * configure: Fix build on NetBSD 3.1. 2008-10-12 08:22 Gwenole Beauchesne <gb.public@free.fr> * configure, src/rpc.c: Fix calculation of sockaddr_un length. 2008-10-06 21:55 Gwenole Beauchesne <gb.public@free.fr> * configure, src/rpc.c: Make it possible to define the maximum of time (in seconds) to wait for the plugin to connect. This can be set both at configure-time (--rpc-init-timeout) or at run-time (NPW_INIT_TIMEOUT) (Initial patch by Geraint North). 2008-10-06 21:25 Gwenole Beauchesne <gb.public@free.fr> * configure: Detect ARM (Geraint North). 2008-10-05 21:45 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Revert rev 647 (renaming of g_rpc_connection to g_npn_connection). 2008-10-05 21:43 Gwenole Beauchesne <gb.public@free.fr> * src/rpc.c: Handle possible _rpc_dispatch_until() errors in rpc_method_invoke(). 2008-10-05 21:39 Gwenole Beauchesne <gb.public@free.fr> * TODO, src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c, src/rpc.c, tests/test-rpc-concurrent.c, tests/test-rpc-nested.c, tests/test-rpc-types.c: Rework RPC code to cope with concurrent rpc_method_invoke(). This function is now atomic. That is, method id and its arguments are marshalled in one shot, there is no intermediate wait for MSG_ACK. Notable change also includes the fact that optimization for no-argument or no-return value cases is now gone. i.e. each rpc_method_invoke() shall have an rpc_method_get_args() on the other side, even if there is no arg passed. Besides, each rpc_method_wait_for_reply() shall have an rpc_method_send_reply() on the other side, even if the function normally doesn't return anything. This optimization could be brought back into V3 protocol specification. Current revision is now V2.5. 2008-10-05 21:03 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-common.c: Cleaner exit code path. 2008-10-05 16:32 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-concurrent.c: Error out early for invalid message types. 2008-10-05 16:27 Gwenole Beauchesne <gb.public@free.fr> * tests/test-rpc-concurrent.c: Default to silent mode and 5000 messages. 2008-10-05 16:08 Gwenole Beauchesne <gb.public@free.fr> * Makefile, tests/test-rpc-common.c, tests/test-rpc-common.h, tests/test-rpc-concurrent.c, tests/test-rpc-nested.c, tests/test-rpc-types.c: Add tests for new RPC implementation. 2008-10-04 13:31 Gwenole Beauchesne <gb.public@free.fr> * lsb-build/headers/glib-2.0/glib.h, lsb-build/stub_libs/libglib-2.0.c: Add basic GSlice support thunks. 2008-10-04 13:30 Gwenole Beauchesne <gb.public@free.fr> * src/utils.c, src/utils.h: Add npw_asprintf(). 2008-10-04 08:02 Gwenole Beauchesne <gb.public@free.fr> * src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Rename g_rpc_connection to g_npn_connection. 2008-09-29 22:03 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c: Fix X visual marshaling (Flash 10, initial patch by Martin Stransky). 2008-07-07 19:37 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Bump version for development. 2008-07-06 20:59 Gwenole Beauchesne <gb.public@free.fr> * ChangeLog: Generated by svn2cl. 2008-07-06 20:55 Gwenole Beauchesne <gb.public@free.fr> * nspluginwrapper.spec: Add libnoxshm.so to filelist. 2008-07-06 20:53 Gwenole Beauchesne <gb.public@free.fr> * NEWS, README, TODO, nspluginwrapper.spec: Updates for 1.1.0 release. 2008-07-06 20:38 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Add ALLOW_WINDOWLESS_PLUGINS compile-time macro to allow/forbid windowless plugins. 2008-07-06 20:14 Gwenole Beauchesne <gb.public@free.fr> * Makefile: Add LN_S definition for ln -sf command. 2008-07-06 20:09 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c, src/npw-wrapper.c: Implement NPN_InvalidateRect() for Flash Player 10 beta 2. 2008-07-06 19:52 Gwenole Beauchesne <gb.public@free.fr> * src/npw-wrapper.c: Flush the X output buffer so that the call to gdk_pixmap_foreign_new() (and thus XGetGeometry()) can work in the viewer. Otherwise, we sometimes get a BadDrawable. 2008-07-06 19:47 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Fix NPNVnetscapeWindow wrapper to create a GdkWindow from it as windowless plugins expect to find a toplevel gdk window (and gtk window TBD). 2008-07-06 19:16 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Synchronize more NPWindow items in successive NPP_SetWindow() calls, i.e. updates case. create_window_attributes() and destroy_window_attributes() now operate on an NPSetWindowCallbackStruct directly. 2008-07-06 17:05 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Make sure to commit the pixmap in NPN_HandleEvent() for GraphicsExpose events. 2008-07-06 17:02 Gwenole Beauchesne <gb.public@free.fr> * src/npw-viewer.c: Add support for windowless plugins. 2008-07-06 14:55 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c, src/npw-wrapper.c: Implement NPP_HandleEvent(). 2008-07-06 14:28 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.h: Add missing method and type ids for windowless plugins. 2008-07-06 14:23 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c: Marshal NPSetWindowCallbackStruct: only reconstruct XVisual based on the visualID we pass-through RPC. This will be useful for windowless plugins support. 2008-07-06 13:14 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c, src/npw-wrapper.c: Propagate NPNVnetscapeWindow. 2008-07-04 20:57 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c: Propagate NPNVSupportsWindowless. 2008-07-04 20:52 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c, src/npw-viewer.c, src/npw-wrapper.c: Implement NPN_SetValue() for boolean variables only. 2008-07-04 20:31 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.c: Add fix for Mozilla bug #406251: NPVariant.intValue is now a signed int. 2008-07-04 20:26 Gwenole Beauchesne <gb.public@free.fr> * src/npw-rpc.h: Add missing methods for NPN_SetValue(), NPN_Enumerate() and NPN_Construct(). 2008-07-04 20:20 Gwenole Beauchesne <gb.public@free.fr> * npapi/npapi.h, npapi/npruntime.h, npapi/npupp.h: Update NPAPI headers to 0.19. 2008-07-01 20:38 Gwenole Beauchesne <gb.public@free.fr> * Makefile: Fix build on platforms that are not biarch devel capable. 2008-06-29 21:17 Gwenole Beauchesne <gb.public@free.fr> * configure: Document --enable-strip.
2008-12-18 20:59:31 +01:00
.include "../../www/curl/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"