プラグインコードからFirefoxのステータスメッセージを更新する際に問題が発生しました。
ドキュメントに記載されているように、呼び出しNPN_Status
はメインスレッドから呼び出された場合にのみ機能します。私の要件は、Firefoxプロセス内の任意のスレッドからステータスを更新することです。
どんな助けでもいただければ幸いです!
一部のスレッドセーフルールに違反するため、どのスレッドからも更新できません。更新をメイン スレッドにプロキシする必要があります。
sdwilsh が言ったように、NPN_*
関数はメイン スレッドからのみ呼び出す必要があります。NPN_PluginThreadAsyncCall
は Gecko 1.9 でのみ導入され、現在のすべてのブラウザーでサポートされているわけではありません。
回避策はプラットフォームによって異なります。
performSelectorOnMainThread