開発

Servo 0.2.0リリース、534コミットの大型アップデート

Servoブラウザエンジンが4月の活動報告を公開。534コミットを記録し、Android UI刷新、CJKテキスト対応改善、新たなセキュリティ修正など多数の変更が含まれる。

10分で読める SINGULISM 編集チームが確認・編集

Servo 0.2.0リリース、534コミットの大型アップデート
Photo by Growtika on Unsplash

Rust製ブラウザエンジン「Servo」の開発チームは2026年5月31日、4月の活動報告を公開した。Servo 0.2.0には534のコミット(3月の530を上回る)が含まれ、Android向けユーザーインターフェースの刷新、フォーカス管理の改善、フォーム対応の強化、セキュリティ修正などが盛り込まれている。

Servoプロジェクトは、Mozillaが開発を開始した後、コミュニティ主導で継続されている実験的なブラウザエンジンである。今回のアップデートは、Web標準への準拠をさらに進めると同時に、実用性を高める多くの変更を伴っている。

セキュリティ修正の内容

セキュリティ面では、暗号鍵の取り扱いに関する重要な修正が行われた。CryptoKeyが使用後に鍵素材を含むバッファをゼロクリアするようになった(kkoyung氏、#44597)。この変更は、メモリダンプやプロセス間の情報漏洩リスクを低減する。

また、クロスオリジンアクセスの制限強化も進行中だ。同一サイトでも異なるポート番号を持つ文書へのDOM APIアクセスを本来許可すべきではないが、Servoはこれまで一部のアクセスを許容していた。今回、WindowやLocationオブジェクトのバインディングに関連する不適切なアクセスを一部修正した。完全な修正は今後の課題として残されている。

新規Webプラットフォーム機能

4月のServoには、Web標準への準拠を進める実装が多数含まれている。主な新機能は以下の通り。

  • **<select multiple>**対応(lukewarlow氏、mrobinson氏、#43189)
  • **<template shadowrootslotassignment>**対応(simonwuelker氏、#44246)
  • **<video>**再生のOpenHarmony対応(rayguo17氏、#43208)
  • <meta name=viewport>でのminimum-scale/maximum-scale値対応(shubhamg13氏、#40098、#43715)
  • color-mix()関数で任意の数の<color>値に対応(Loirooriol氏、#43890)
  • ::details-content内での&::beforeおよび&::after対応(Loirooriol氏、#43878)
  • revert-rule対応(Loirooriol氏、#43878)
  • tab-size対応(mrobinson氏、SimonSapin氏、#44480)
  • text-align: match-parent対応(TG199氏、#44073)
  • **new Worker()**でblob URLに対応(jdm氏、#44004)
  • **OffscreenCanvas上のgetContext(“webgl”)**対応(niyabits氏、#44159)
  • PerformanceMarkおよびPerformanceMeasureのdetailプロパティ対応(shubhamg13氏、#44289、#44272)

さらに、多くのDOM APIが新たに実装された。特に注目すべきはcrypto.subtle.supports()(kkoyung氏、#43703)で、Servoは主要ブラウザエンジンとしては初めてこのAPIをサポートした。これは暗号化アルゴリズムのサポート状況を問い合わせるための機能で、Webアプリケーションの暗号処理を効率化する可能性がある。

StorageManagerは実験的モードで導入され(Taym95氏、#43976)、storageの見積もりやアクセス許可の管理が可能になった。selectionchangeイベントがinput要素とtextarea要素で発火するようになった(TimvdLippe氏、#44461)ほか、DocumentとShadowRootでのactiveElement対応(mrobinson氏、#43861)、HTMLTableElementのcellPadding、cellSpacing、alignプロパティ対応(mrobinson氏、#43903)も進んでいる。focus/blurイベントのrelatedTarget対応(mrobinson氏、#43926)や、ImageBitmapRenderingContextでのtransferFromImageBitmap()対応(Messi002氏、#43984)も実装された。

CJKテキスト対応の進展

日本語・中国語・韓国語(CJK)テキストの処理が大幅に改善された。レイアウトエンジンでの正しい行送り(SharanRP氏、#43744)が実現し、Windows、Linux、FreeBSDのservoshellブラウザUIでCJKフォントが有効化された(yezhizhen氏、CynthiaOketch氏、nortti0氏、#44055、#44138、#44514)。これにより、これらのOS上でのデフォルト表示品質が向上し、日本語・中国語・韓国語のWebサイトがより正しくレンダリングされるようになった。

JSONビューワの改善

JSONファイルをトップレベルの文書として開くと、インタラクティブなプリティプリンターでJSONをレンダリングする機能が追加された(webbeef氏、TimvdLippe氏、#43702)。これにより、APIレスポンスの確認やデータ調査がブラウザ上で手軽に行えるようになる。データ可視化の分野で注目を集める技術として、当サイトでも取り上げたMicrosoft MarkItDown(Markdown変換ツール)のようなデータ処理系ツールと同様、開発者の生産性向上に寄与する変更と言える。

開発コミュニティの継続

4月はServoにとって象徴的な月でもあった。一部の自動テストが失敗する原因は、テスト内にハードコードされたCookieの有効期限が「2016年4月+10年」に設定されていたためだ。2016年からちょうど10年が経過し、有効期限が切れたことでテストが失敗した。開発者のjdm氏は「驚きだ。私たちはまだここにいる。次の100年に向けて乾杯」とコメントしている(#44341)。このエピソードは、Mozillaが開発を縮小した後もコミュニティがプロジェクトを継続してきた歴史を象徴している。

Servoは単なる研究プロジェクトではなく、Rust言語の安全性を活かしたモダンなブラウザエンジンとして、Web標準への準拠を着実に進めている。今回のアップデートは、Android UIの刷新やフォーカス管理の改善など、実用性を高める取り組みも含まれており、モバイル環境での将来性を示唆している。一方で、ValveがSteam Machineの再投入を発表するなど、デスクトップゲーム機市場の動きがある中、Servoは組み込み機器やモバイル向けの軽量ブラウザエンジンとしての可能性を模索している。

編集部の見解

短期的影響: Servo 0.2.0のリリースは、Rust製ブラウザエンジンの実用性を一段階引き上げたと言える。特にAndroid UIの刷新とフォーム対応の強化は、モバイル向けアプリケーションや組み込みブラウザとしての採用可能性を広げる。また、crypto.subtle.supports()のような先駆的なAPI実装は、Servoが実験場としての役割を果たしている証拠でもある。今後3〜6カ月で、さらなるクロスオリジン制限の強化や、新たなWeb Component対応が進むと予想される。

長期的視点: Servoが主要ブラウザエンジン(Blink、WebKit、Gecko)の牙城を崩すのは容易ではないが、Rustのメモリ安全性を活かしたセキュリティ重視のアプローチは、特に組み込み機器やIoT向けブラウザとして差別化できる可能性がある。また、Servoのコードベースが他のRustプロジェクト(例えば、Microsoftが発表したAIエージェント専用OS「Solara」のような新興プラットフォーム)に活用されるシナリオも考えられる。1〜3年スパンでは、Web標準の試験実装としての価値が高まり、他のエンジンへのフィードバックが増えるだろう。

編集部からの問い: Servoは「もう一つのブラウザエンジン」として存続できるのか、それともニッチな研究プロジェクトに留まるのか。特にAndroid版の完成度が高まれば、動作の軽さやセキュリティを重視するユーザー層に受け入れられる可能性がある。一方で、Chromiumの支配的なシェアを前に、サードパーティエンジンのエコシステム維持は依然として困難だ。読者の皆さんは、Servoにどのような未来を期待するだろうか。

参考

よくある質問

Servoはどのようなブラウザエンジンですか?
ServoはRustで書かれた実験的なブラウザエンジンです。元々Mozillaが開発を始め、その後コミュニティが引き継ぎました。メモリ安全性と並列処理の性能を重視し、Web標準への準拠を目指しています。
今回のアップデートで特に注目すべき点はどこですか?
534コミットという過去最多のコミット数と、Android UIの刷新、CJKテキスト対応の改善、crypto.subtle.supports()の先駆的実装が注目です。また、クロスオリジンアクセスの制限強化などセキュリティ修正も含まれています。
Servoは実用的なブラウザとして使えますか?
現時点では実験段階ですが、Android向けUIの改善やフォーム対応の強化により、徐々に実用性が高まっています。ただし、主要なWebサイトの完全な互換性はまだ不十分であり、日常的なメインブラウザとして推奨できる段階ではありません。
出典: Lobsters

コメント

← トップへ戻る