Bug 4697 [FAYT][Find in This Page][bfcache] フレームページで検索した後、ブックマークで別のページに移動して検索すると、検索が機能しない
初回投稿日時: 2005年10月29日23時44分23秒
最終更新日時: 2005年10月29日23時47分03秒
カテゴリ: Firefox
SNS:
Tweet (list)
今日の昼頃、起きてすぐに発見してしまった。まさかと思って1.5rcの候補ビルドでテストしても再現する。
regresssionの日付を調査すると、bfcacheがデフォルトでオンになった日だったので、bfcacheをオフにしてみると、見事に動作してしまう。
FirefoxのFastFind(Find in this pageやFAYTの検索エンジン部分)は、初めて検索するドキュメントかどうかを、なかなかにトリッキーな手法で判断していたため(これにより、初期化処理を明記しなくても良くなっていた)、bfcacheが実装されるまではオブジェクトの参照カウンタの妙でうまく動いていた。
しかし、bfcacheが非表示になったページのオブジェクトをつかんだままにしているようで、このせいで、ユーザが新しいページを検索しようとしているのに、FastFindは古い(メモリ内にある)前のページを検索しているというのがこのバグの正体。
とりあえず、緊急でパッチを書いて、rc1のブロッカー申請をして、driversにもメールを投げてみたが、今のところ無反応。
トリッキーなコードは見てて面白いけど、仕様変更に弱いから止めましょう。