俺の話を聞いてくれ

もっとこじらせろ

FirefoxのWebextensionアポカリプスに備える(主要アドオンのWebextensions対応について)

はじめに

11月にリリース予定のFirefox57でFirefoxの拡張はWebextensionsで作られたもの以外が動かなくなります。従来の技術で作られた拡張はすべて死にます。 しばらくはabout:configでextensions.legacy.enabledtrueにすれば動き続けると思いますが、従来のAPIに関するコードは削除される予定なので動かせる期間はそう長くはないでしょうし、そもそも正常に動かないという報告もあります。

このWebExtensionsアポカリプス(もしくはFirefoxアポカリプス)に備えるために個人的に優先度が高いアドオンのWebExtensions対応についてまとめてみました。

対応済み/対応予定

μBlock Origin:対応済み

μBlock OriginはすでにWebextensionsに対応しています。Chrome版もあったので比較的移行は楽だったのかもしれませんね。

https://addons.mozilla.org/ja/firefox/addon/ublock-origin/addons.mozilla.org

代替アドオンあり

Stylish:Stylus

Chrome版のStylishは企業に買われ情報収集機能がついてしまいFirefox版のStylishがそうなってしまうのも時間の問題だと思われていましたが、それに対する代替アドオンがStylusです。
StylusはWebextensionsに対応しています。

https://addons.mozilla.org/ja/firefox/addon/styl-us/addons.mozilla.org

Greasemonkey:Tampermonkey

Greasemonkeyは未対応ですがGreasemonkeyのフォークであるTampermonkeyはWebextensionsに対応しています。

https://addons.mozilla.org/ja/firefox/addon/tampermonkey/addons.mozilla.org

Chrome版拡張の輸入で動く

OneTab

Chrome Store FoxifiedでChrome版のOnetabをいろいろやれば動きます。
詳細はこの辺を見てください。
rockridge.hatenablog.com id:RockridgeさんのブログやはてブFirefox使用者にとって非常に有用度が高いものばかりです。いつもありがとうございます。
追記:OneTabはWebextensionsに正式対応しました。 https://addons.mozilla.org/ja/firefox/addon/onetab/addons.mozilla.org

現状の機能の提供は多分無理、または更新されない可能性が高い

Classic Theme Restorer

FirefoxのUIを柔軟にカスタマイズするようなAPIは提供されていませんし、今後も提供されることはないでしょう。そのため作者もWebextensions版の提供を諦めています

Tab Mix Plus

WebExtensions版TMPのリリースにはコードの全面的な書き換えが必要なため決断的ドネートを必要としているようです。 また、後述の理由によりWebextensions化が完了したとしても今までのような柔軟なカスタマイズは難しくなるでしょう。

FireGestures

そもそも2~3年ほど前から作者の方の消息が途絶えてしまい更新は絶望的であったところに今回のWebextensions限定化…ということで更新による対応はまずないと考えてよいと思います。

従来の拡張とWebextensions拡張の違い

マウスジェスチャ拡張はFoxy GesturesというFireGesturesをWebextensionsで実装したようなアドオンもありますが、おそらく代わりにならないと思います。
Webextensionsは基本ChromeのExtensions APIを基にしているのですが、セキュリティ的な制約が以前と比べるとかなり厳しくなっているためです。
たとえばFirefoxのビルトインページ(例:アドオン一覧ページなど)ではジェスチャが効きません。ホイールジェスチャでタブを移動していてもアドオン一覧ページがタブの途中にあればそこでジェスチャは止まってしまいます。これが地味にイラつきます。

最近実装された公式スクリーンショット撮影機能であるFirefox ScreenshotsもWebExtensionsで実装されているのですが、アドオン一覧ページを撮影することはできません。
f:id:point2000:20170913220121p:plain
こんなエラーメッセージが出てきます

また、ChromeChromeウェブストアが特別なページ扱いであるようにAMO(addons.mozilla.org)もFirefoxにとって特別なページ扱いのためそれらのページではマウスジェスチャスクリーンショットなどの拡張由来の機能は動作しません。

個人的にはタブ機能のカスタマイズとマウスジェスチャ周りは標準機能としてほしいのですが、
主要モダンブラウザ(ChromeFirefox、Edge)でそれらを実装しているブラウザはありません。
これからそのような機能が欲しい場合はどうしても派生ブラウザに頼る必要があります。

さいごに

ここまで書いていてなんですが、なんつーか備えないでVivaldiあたりに移行したほうが早いんじゃねえの?って思いました。
それとはてなは放置しているはてなブックマーク拡張をなんとかするべきだと思います。
id:thraktさんの作成した簡易的なアドオンはあるのでしばらくはそれで何とかしていきたいです。
この拡張はソースも公開されており、Webextensions拡張の基本を知るための良い教材となっています。この場を借りて御礼申し上げます。 https://addons.mozilla.org/ja/firefox/addon/show-hatenabookmark-count/?src=apiaddons.mozilla.org

追記:はてなブックマークもWebextensionsに正式対応しました。Chrome版の移植のようです。
https://addons.mozilla.org/ja/firefox/addon/hatena-bookmark/addons.mozilla.org