HN 日本語サマリー

← 一覧へ戻る
Web開発

今月のLadybird — 2026年8月

This Month in Ladybird – August 2026 (ladybird.org)

110 pointsby exploraz10 コメント

要約

2026年8月のLadybirdブラウザは、Twitchでのビデオ再生、YouTubeでのより多くのビデオフォーマット対応、CSSスクロールスナップ、DevToolsでのJavaScriptデバッグ、一時停止・再開可能なダウンロード、セッション復元などの新機能を追加しました。また、新しいスタイルエンジン、レイアウトキャッシュ、メインスレッドから分離されたCSSアニメーションなど、エンジンパフォーマンスの向上に注力しました。さらに、多くのサイトでのアダプティブビットレートビデオ再生が可能になり、JavaScriptデバッグ機能も実装されました。

全文翻訳

今月のLadybird — 2026年8月 皆さん、こんにちは!8月、LadybirdはTwitchでのビデオ再生、YouTubeでのより多くのビデオフォーマット対応、DevToolsでのJavaScriptデバッグ、一時停止・再開可能なダウンロード、セッション復元などの機能が追加されました。また、エンジンパフォーマンスが一時的な関心事から持続的な注力へと移行した月でもあり、新しいスタイルエンジン、レイアウトキャッシュ、メインスレッドから分離されたCSSアニメーションなどが導入されました。JavaScript値に格納されるセルポインタのためのケージングが追加され、CSS解析とペインティングパイプラインはRustに移行しました。 新しいスポンサーの歓迎 Ladybirdは、オープンウェブを信じる企業や個人の寛大な支援によって完全に資金提供されています。今月、以下の新しいスポンサーを歓迎できることを嬉しく思います。 Arnav Guleria氏 $5,000 現在プロジェクトを支援しているすべての人々をスポンサーページで確認できます。彼らすべてに感謝しています。スポンサーにご興味のある方は、お問い合わせください。 Twitchでのビデオ、YouTubeでのより多くのフォーマット Media Source Extensionsの実装に、フラグメント化されたMP4、およびAVC (H.264)、HEVC (H.265)、AV1、AACコーデックのサポートが追加され、サポートクエリは私たちの実際の機能を通信するようになりました(#11251)。これにより、TwitchやPlexを含む多くのサイトでアダプティブビットレートビデオを再生できるようになります。YouTubeはLadybirdですでに動作していましたが、すべてのビデオはWebM形式のVP9/Opusで利用可能だからです。しかし、一部の古い/人気のないビデオはAVCで複数の品質レベルしか持たず、より高い品質(特に8K)はAV1としてのみ提供されることがよくあります。また、再生バグのバッチも修正しました。YouTubeのビデオカードプレビューをホバーしてもクラッシュしなくなりました(#10992)。preload="none"を使用するプレーヤーはハングしなくなりました(#11454)。HLS.jsベースのプレーヤーが再生を開始するようになりました(#11480)。 CSSスクロールスナップ スクロールスナップが実装されました(#10944):scroll-snap-type、scroll-snap-align、scroll-snap-stop。ホイール、キーボード、スクロールバーのドラッグ、タッチパッドのフリング、programmatic scrollTo()はすべてスナップし、レイアウトが変更されるとコンテンツも再スナップします。(scrollIntoView()はまだスナップしません。)カルーセルやフルページスクローラーはこれに基づいています。 DevToolsでのJavaScriptデバッグ LadybirdでJavaScriptをデバッグできるようになりました。ブレークポイントの設定、コードの行ごとのステップ実行、ウォッチ式の評価(#11128)が可能で、JavaScriptエンジンの新しいブレークポイントサポート(#10936)に基づいています。WasmデバッグとDOMミューテーションブレークポイントはまだ欠けていますが、コアワークフローは機能します。(以前と同様に、Firefox DevToolsフロントエンドは、独自のものを構築するまでのつなぎです。) 一時停止と再開が可能なダウンロード サーバーがサポートしている場合、ダウンロードを一時停止および再開でき、ブラウザの再起動後も継続できるようになりました(#10932)。また、可能な場合は4つ以上の並列接続でダウンロードします。 セッション復元 Ctrl+Shift+Tで閉じたタブを再度開くと、URLだけでなく、タブの完全なセッション履歴(バック/フォワード状態を含む)が復元されるようになりました。これはブラウザの再起動後も持続します(#11178)。「タブを複製」もセッション履歴を複製します(#11286)。フォーム送信データはまだ永続化していません。これは慎重な処理が必要です。 ブラウザUI mailto:リンクはメールクライアントを開き、他の外部URLスキームは確認を求めます。危険なスキームや再帰的な起動に対する保護機能も備えています(#10846)。JavaScriptダイアログはブラウザ全体をブロックしなくなりました。alert()、confirm()、prompt()は、Qt UIではモーダルシステムダイアログではなく、ページ上のオーバーレイになりました。そのため、while (true) alert("lol")のようなものでロックアウトされることはありません。タブを切り替えたり、タブを閉じたりできます(#11264)。クラッシュリカバリはセッション履歴に偽のページを挿入しなくなりました。クラッシュ画面が表示され、実際の履歴エントリは保持されます。リロードはクラッシュが中断したところから再開します(#11402)。URLバーにlocalhost:8000または127.0.0.1と入力すると、失敗する代わりにhttp経由でそこに移動するようになりました(#11007)。Waylandの修正の数々:オムニボックスが所定の位置にとどまるようになりました(#10862、#11149)。タブがページフォーカスを正しく切り替えるようになりました(#10868)。ウィンドウから離れたスクロールバーのドラッグでマウスリリースがドロップされなくなりました(これはLinux全体で修正されました、#11343)。 サイト互換性ルール 一部のサイトは、User-Agentスニッフィングに基づいて壊れたコンテンツをLadybirdに提供します。これは、ブラウザにサイトごとのポリシーをハードコーディングするのではなく、実行時にロードされる宣言的なサイト互換性ルールで処理されるようになりました(#11327)。ルールはプレーンなJSONなので、誰でも私たちがどのサイトに対して何を行っているかを確認できます。最初のユーザーはnytimes.comとcnn.comで、User-Agent文字列から「Ladybird」を非表示にすると、どちらも正しくレンダリングされます(#11333)。 BeforeAfter よりうまく機能するサイト chatgpt.com:ログインページでのクラッシュと3つのレイアウト修正(#11398)。 vscode.dev:新しいファイルを開いた数秒後にクラッシュしました。ヒットテストが間違った要素からpointer-eventsを読み取り、VS Codeの空のエディターヒントがそれをトリガーしました(#11342)。 icloud.com:ページの1KB以上先に文字エンコーディングを宣言するサイトは、もう文字化けしなくなりました(#11219)。 strava.com:2つの個別の修正により、アクティビティマップの読み込み時間がそれぞれ約半分になりました(#11133、#11114)。SVG.getScreenCTM()が実装されたため、チャートポップアップがマウスを追跡するようになりました(#11177)。かつてメモリ不足になるまで成長していたアクティビティページがそうならなくなり、保持していたメモリは17.8 GiBから61 MiBに減少しました(#11055)。 outlook.comとWord:Outlookのクラッシュが修正され、Wordへのサインインが機能するようになりました(#11216)。 milliondollarhomepage.comとxkcd:<area>イメージマップリンクがクリック可能になりました(#10863)。 CSS 3D変換:一連の修正により、3Dレンダリングの大きな欠落部分が埋められました。transform-style: flat境界でのフラット化(#11009)、backface-visibility(#10960)、BSPツリーを使用した交差する3D平面の正しい深度ソート(#11045)。深度ソートは、純粋なCSS 3D変換で構築されたDOOMレンダラーであるcssDOOMに対してテストされました。壁が正しい順序で描画され、サーフェスがちらつかなくなりました(#11466)。 overflow-wrap:長い単語がコンテナからはみ出す代わりに、グリフ境界で緊急改行されるようになりました(RTLテキストはまだ緊急改行されません)(#11416)。Google翻訳で顕著に改善されました。右から左へのスクロールコンテナが正しい方向にスクロールするようになりました。以前は一部のRTLコンテンツに到達できませんでした(#11023)。テキスト装飾は、装飾ボックスの色、太さ、フォントジオメトリで描画され、BBC Weatherの無条件の下線が修正されました(#10744)。 以下は、cssDOOMの最初のレベルをLadybirdで実行した様子です。 BeforeAfter overflow-wrapの前のGoogle翻訳と後のGoogle翻訳: BeforeAfter パフォーマンスを真剣に捉える ブラウザベンチマークを継続的にマスターに対して実行し、linegodown.lolで結果を追跡しています。8月、Speedometer 2スコアは約47から約64に、Speedometer 3は約2.5から約3.9に、StyleBenchは約3.5から約83に向上しました。これらは成熟したエンジンと比較するとまだ控えめな数字ですが、その進歩は本物です。このプッシュの一部は体系的です。個々の操作を他のブラウザと比較してベンチマークし、著しく遅いものを見つけ、その理由を突き止めます。Chromiumよりも100倍遅いDOM操作は、通常、深い理由で100倍遅いわけではありません。何かが単に間違っており、それを見つけることが実際のページを助けます。1ヶ月のこの作業により、多くのそのような比率が1桁以上削減されました。canvas fillStyleの解析は、Chromiumより約90倍遅いものから約2倍に(#11300)、replaceChildren()は13倍から4倍未満に(#11306)、リストの挿入と削除は120倍以上から20倍未満になりました(#11389)。JavaScriptエンジンも、プロパティアクセス(#11175)、スプレッド(#11383)、Promiseコンビネータ(#11374)、およびJSON.stringify(当社のベンチマークでV8の約15%以内に収まりました)(#11329)のために、独自の高速パスバッチを取得しました。最も満足のいく修正:一時的にスパースになった配列が、遅いハッシュテーブルストレージに永遠に残っていました。30行後、Minecraft4kは10.2 FPSから14.5 FPSに向上しました(#11423)。 新しいスタイルエンジン セレクタマッチング、スタイル無効化、カスケード、計算スタイル保持を新しいエンジンに置き換えました(#11088)。スタイル作業は、変更された可能性のあるものに比例するのではなく、変更されたものに比例するようにしたいと考えています。歴史的に、何かが変更されたとき、ブラウザエンジンは