Mozilla Flux

Mozilla関係の情報に特化したブログです。

Gecko 1.9.2では古いプラグインAPIを削除

情報は二週間前に出ているのだが、いっこうに話題にのぼらないようなので、ここで書くことにする。Firefox 3.5 RC1がリリースされた後というから、今年5〜6月のことになるが、TrunkではGeckoレンダリングエンジンからOJI (Open Java Interface) 、LiveConnectXPCOM plugin APIの三つが削除される。仕様が古くなったためだ。

三つのAPIを使用する代表的なプラグインは、Sun MicrosystemsのJavaプラグイン、Steven Michaud氏のJava Embedding Plugin(JEP)、そしてRealPlayerプラグインである。これらは、Geckoの仕様変更に伴ってTrunkで使用不能になるが、うちJavaプラグインについては、最近のものであれば対応済みだ。

SunはMozillaと協力しながら、NPAPIとNPRuntimeをベースにした新しいプラグインを開発した。Java SE 6 Update 10のリリースノートには次のような記述がある。

このリリースでは、次世代 Java Plug-in が提供されます。IE および Firefox 3 では、デフォルトで次世代 Java Plug-in が使用されます。 Firefox 2 では、デフォルトで初期の (古い) Plug-in が使用されます。

現在の最新バージョンはJava SE 6 Update 13だから、これを使用していれば問題ないのだが、実は新しいプラグイン形式に対応しているのはWindows版とLinux版だけで、Mac OS Xでは「近日公開」という扱いになっているのだという。JEPは、Mac OS X上でSafari以外のブラウザでも最新版のJavaを使えるようにするプラグインなので、SunがMac OS版Javaプラグインを新たにリリースすれば、それが代わりになる。これに対し、RealPlayerプラグインは、RealNetworksと協力してNPAPIとNPRuntimeに対応したバージョンを開発中とのことである。そのため全プラットフォームでしばらくの間使えなくなる見込みだ。

結局、影響を受けるのは、WindowsとLinuxでは、Java SE 6 Update 10より古いJavaプラグインとRealPlayerプラグインを使っているTrunkユーザー、Mac OS Xでは、JavaプラグインとRealPlayerプラグインを使っているTrunkユーザーとなる。

なお、今後もGecko 1.9.2の互換性問題には注意が必要だ。Firefox 3.5の開発責任者の一人Robert O'Callahan氏によれば、Firefox 3.5がベースとするGecko 1.9.1は、Gecko 1.9の新アーキテクチャを利用してさまざまな機能を実現するに至ったが、その分アーキテクチャ自体に手を入れる余裕がなかった。Gecko 1.9.2では、アーキテクチャの改良に力を注ぐそうだ。となれば、Firefox 3へ移行したときほどではないにせよ、アドオンが動作しないケースが数多く出てくると考えるのが自然だろう。

(09/04/11追記)
コメント欄で あ さんからご指摘をいただいたほか、「新秀の介の日記」(2009-04-10)でも報じられているが、OJIがTrunkで削除された。Mac OS XのTrunkユーザーはしばらくJavaプラグインが使えなくなるようなので、とくに注意してほしい。

参照先のスレッドを見直してみたが、どうもLiveConnectだけはFirefox 3.5 RC1のリリース後にすべきとの意見が出たのでそうするものの、それ以外は準備ができ次第削除するつもりらしい。なのでXPCOM plugin APIも5月を待たずして削除される可能性が高い。

(09/06/13追記)XPCOM plugin APIが削除された(Bug 488042)。

(09/06/27追記)
XPCOM plugin APIの削除は上のもので終わりではなかったようだ。削除が続いており(Bug 498164, Bug 499329)、一部のアドオン(例:IE Tab)に影響が出ている模様。また、LiveConnectの削除も始まった(Bug 499322)。

(09/07/04追記)LiveConnectも削除済みになった(Bug 442399)。