BlinkGTK v1.2.0-build6 — Chromium 151.0.7922.108
Chromium 151.0.7922.108 に更新しました。151 系の最新安定版です。
何が変わったか
エンジンの更新
ウィンドウを閉じる・隠す・入力を扱う経路の解放後利用 (use-after-free) が 10 件
直っています。長く開いたまま使うアプリでは「ときどき落ちる」という形でしか
現れず、再現条件を掴みにくい種類の不具合です。
BlinkGTK が日常的に通る経路に当たるもの:
| 直ったところ | 効くところ |
|---|---|
| GTK と Wayland から受け取るカーソルテーマ名・サイズの検証 | 描画経路そのもの |
RenderWidgetHostViewEventHandler のウィンドウ破棄 |
マウス・キーボードの入力 |
WidgetBase (2 件) / TransientWindowManager |
ウィンドウの表示・非表示 |
HTMLSlotElement の子要素の走査 |
Web Components |
このほか CSS セレクタ :nth-child(0) の誤動作、WebAudio の ended 二重発火、
GPU ドライバ回避策の追加などが入っています。
ユーザースクリプトがページ本文より先に走ります
blink_web_view_inject_user_script(view, script, TRUE) で登録したスクリプトが、
ページ自身の <script> より前に実行されるようになりました。
これまでは登録も実行もされていましたが、実行のタイミングがページ本文より後に
なっており、document_start の約束を果たしていませんでした。
- 最初の
load_uri()より前に登録してください。 レンダラープロセス起動後に
足したスクリプトは、そのプロセスには届きません (警告を出します) - 同じレンダラープロセスを使う複数の
BlinkWebViewでは共有されます
JavaScript の実行結果が JSON で返ります
blink_web_view_execute_javascript() のコールバックに渡る文字列が、常に妥当な
JSON になりました。以前は文字列が引用符なしで返るため JSON.parse が壊れました。
同梱ドキュメントを最新にしました
API リファレンスの索引・環境変数一覧など 14 ファイルが配布物に届いていません
でした。あわせて、GObject 化以前の内部ヘッダ blink_web_view.h の同梱をやめて
います (blink_gtk.h と同時に include すると必ずコンパイルエラーになるため)。
インストール
dnf をお使いの場合は、リポジトリ登録後 dnf upgrade で更新できます。
tarball / RPM / DEB は下記アセットからどうぞ。
すべてのパッケージに署名しています。SHA256SUMS.asc で一括検証できます。
gpg --import BlinkGTK-GPG-KEY.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing