Firefoxでチラつきを抑制する

(追記)
このエントリで紹介した方法には致命的な弊害があるそうです。
コメント欄とLatest topics > 画面の描画内容を一時的にロックしておいて、裏であれこれして最後にまとめて描画させる方法の再考 - outsider reflexを参照してください。
(追記2)
こんな感じで使用中。setPosition(0, 0)を省くと、画面が灰色になってしまう。

var baseWindow = gBrowser.docShell.QueryInterface(Ci.nsIBaseWindow);
baseWindow.setPosition(0, window.innerHeight);
//ここで画像のサイズを変えればチラつかない
baseWindow.setPosition(0, 0);

Latest topics > 画面の描画内容を一時的にロックしておいて、裏であれこれして最後にまとめて描画させる方法 - outsider reflex
↑誰もが望んでいた、このリンクタイトルの方法が、ついに明らかになった。
経緯も書かれているが、こういう話は面白い(理解が追っつかないところはあるけど)。
自分に必要なコードは、下の2行だった。いやー嬉しいな。

gBrowser.markupDocumentViewer.hide();
//ここで画像のサイズを変えればチラつかない
gBrowser.markupDocumentViewer.show();

Firefoxで大きな画像を表示させると、自動的に画面に合うように縮小してくれる。
それをクリックすると元の大きいサイズに戻り、再びクリックすればまた縮小される。
ここで、大きい画像をスクロールしてからクリックして縮小させると、
チラつきがあって見苦しい。これが気になっていた。
そこでuserChrome.jsのスクリプトを書いて解決しようとした。
画像をコピーしてから削除し、コピーした画像を縮小して挿入とかやってみたけど、
多少マシになる言い回しはあったものの、チラつきをなくすことは結局できなかった。
リンク先にあるCanvasを使った方法も、きれいではあるが、遅い。
最近は「遅くなるわけではないのだから、まあ仕方ないか」と妥協していたのだが、
そんな中でも、絶対にあるべきこの機能が使えるようになったのは嬉しかった。