Как сказал sdwilsh, вы должны вызывать NPN_*
-функции только из основного потока. NPN_PluginThreadAsyncCall
был представлен только в Gecko 1.9 и поддерживается не во всех современных браузерах.
Обходные решения зависят от платформы:
- в подклассе Windows окно, которое получает ваш плагин, отправляет / отправляет ему сообщения и вызывает вызов из процесса обработки окна
- на Mac с какао вы можете использовать, например.
performSelectorOnMainThread
- на Mac с Carbon вы можете использовать вызов вызовов при нулевом событии
- ... и т. Д.