mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-09 09:20:15 +01:00
.. | ||
action.cpp | ||
action.h | ||
dbg.cpp | ||
dbg.h | ||
np_entry.cpp | ||
npn_gate.cpp | ||
npp_gate.cpp | ||
npthread.def | ||
npthread.dsp | ||
npthread.dsw | ||
npthread.rc | ||
plugin.cpp | ||
plugin.h | ||
plugload.cpp | ||
plugload.h | ||
readme.txt | ||
resource.h | ||
thread.cpp | ||
thread.h |
03-05-2002 This sample is an attempt to write a wrapper plugin which would run the real plugin in a separate thread. The current code is just a first prototype version aimed to determine the very possibility of such thing. It is not designed to handle more than one instance of one plugin. Another limitations are: it only relays browser-to-plugin calls in thread event based matter (calls from the plugin to the browser are just made directly by function pointer; it does not implement notifications back from the plugin thread to the calling thread, so it simply waits before each NPP_* call until the plugin thread is done with the previous NPP_* call. The wrapper tested with Basic plugin sample from the plugin SDK, so some common plugin crashes can be modelled. Work is still required to make it functional with more complicated plugins like Flash. Steps to see it in action: -- place the wrapper plugin (npthread.dll) in the plugins folder -- remove npnul32.dll from the plugins folder -- rename the plugin you want to run in a separate thread adding two zeroes at the beginnig (ren npbasic.dll 00npbasic.dll) -- run test case for the plugin in question