PageZoom: 背景画像のズームができない

昨日今日と久しぶりに時間ができたので PageZoom Mozilla Firefox Extension のバグ潰し&改良をやっております(まともにこのコードを触るのは1年振りくらいだ…)。


名前の通りこの拡張機能OperaIE7のようにFirefoxでもページ全体のズームを「やりたい」拡張機能です。でもまぁ,難しいんですよね。普通の img 要素の画像はズームできるんですが,背景画像がズームできない。つまり td 要素にCSSが指定されているような場合,具体的には

<td style="background: #fff url(image.png) repeat-x;">...</td>

なんていう場合ですね。純粋に背景の画像に使われる分には特に問題ないのですが,アイコンやロゴのような普通の画像やレイアウト用の枠線などの表示にこの背景画像を使う手法が GoogleGoogle の検索結果のページを始めいたるところで使われているので困りものです。


(うむむ,枠線上部に使われている背景画像が縮小できていない…)

普通の画像は width や height を変更すると,それに合わせて Firefox が自動的にサイズを調整(ズーム)してくれます。しかし,背景画像の場合は変わらない。画像のスケールを変更して(必要であれば repeat-x なども自分で描画して)表示する部分を自分で実装しなければならなさそうなのですが,良い案が浮かびません。ゴリゴリと画像変換プログラムを書けばできないことはないんだろうけど... そうすると他の拡張機能との互換性もあやしくなりそうだし。あるいは canvas に拡大縮小コピーして表示してみるとか。毎回そんな重たい処理をしていたらズームにかなり時間がかかりそうだ。

何か良い方法ないでしょうか?