onBeforeRequestでキャンセルするとハンドルリーク?

拡張機能の開発に関するフォーラムです。

モデレータ: Forum Moderators

のっち

onBeforeRequestでキャンセルするとハンドルリーク?

投稿記事 by のっち »

拡張機能で特定のPOSTおよびPUTをブロックする拡張機能を作って動作確認してます。
実際の拡張機能では送信内容をチェックするため、webRequest.onBeforeRequestの
イベントハンドラでチェックを行いブロック(リクエストのキャンセル)を行うというものです。

基本的に拡張機能でブロックすることはできるのですが、
該当タブを閉じずそのままの状態で何度も繰り返して試しているとコンテンツが
固まる現象が発生します。
(固まる現象とはコンテンツ上でクリック操作しようとしても、クリックすらできずアドレスバー
 でEnter押すかタブを閉じることしか出来ない状態です)

firefox.exeのプロセス状態を確認していると、
onBeforeRequestでリクエストのキャンセルを行う毎にハンドル値が上昇し、
あまり下がらない状態になります。
固まったときは5000を超えていまいした。

これってハンドルリークですよね?

それともonBeforeRequest()でreturn {cancel: true}を返す以外のお作法など
あったりするのでしょうか?

■確認環境
OS:Win10 x64 [1703]
Firefox: 57.0.2(x64)リリース版
確認サイト: Googleドライブ