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

返信する

スマイリー
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o [-X [-o<
スマイリーを全て表示する

BBCode: ON
[img]: ON
[url]: ON
スマイリー: ON

トピックのレビュー
   

展開ビュー トピックのレビュー: onBeforeRequestでキャンセルするとハンドルリーク?

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

by のっち » 2017年12月22日(金) 12:05

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

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

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

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

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

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

ページトップ