BlinkGTK 1.2.3-build4 リリースノート

リリース日: 2026-09-28 / Chromium: 154.0.8037.57 / 言語: 日本語 | English

レンダリングエンジンを Chromium 154 に更新しました。


build4 で速くなったこと

build4 で修正したこと

build4 で配布物から外したもの

build3 で修正したこと

build2 でできるようになったこと

ページを PDF ファイルに書き出せます

blink_web_view_print_to_pdf_with_options() で、用紙・余白・背景・ページ範囲を指定して
書き出せます。callback は PDF をファイルに書き終えてから 呼ばれ、失敗したときは理由が渡ります。
縦組み・ルビ・傍点・縦中横も PDF の上で組まれます。

BlinkPdfOptions* o = blink_pdf_options_new();
blink_pdf_options_set_paper_size(o, 8.27, 11.69);   /* A4 (インチ) */
blink_web_view_print_to_pdf_with_options(view, "/tmp/page.pdf", o, on_pdf, NULL);
blink_pdf_options_free(o);

スクロールする容器 (overflow: auto など) の中の本文は、ページに分けられません。容器に見えている
分だけが 1 ページに入ります (C API リファレンスの「PDF の書き出し」)。

ダウンロードを保存できます

blink_web_view_set_download_handler() のハンドラが保存先を返すと、そこに保存します
(NULL なら XDG の Download ディレクトリ、"" なら保存しない)。download-started シグナルで
BlinkDownload を受け取り、進捗・完了・失敗を知り、blink_download_cancel() で取り消せます。
ハンドラを付けていないビューでは保存しません。

リンク先と新しいウィンドウの開き方をアプリが決められます

decide-navigation シグナルで、今のビューで開く / 止める / 外部ブラウザで開く / 別のビューで開く /
新しいビューで開く、から選べます。window.open() で開いたページを新しいビューで受け取ると、
window.opener が保たれます。

カメラとマイクを使えます

getUserMedia() が permission-request を通るようになりました。許可すると実際に使えます
(1.2.3-build1 までは常に NotSupportedError)。

許可に後から答え、要求元を知り、決定を覚えさせられます

blink_permission_request_ref() で要求を持ったまま後で allow / deny できます。
要求元は blink_permission_request_get_origin()、埋め込み元は get_embedding_origin()。
blink_permission_request_set_remember() で決定を覚えさせると、次からは同じ要求が届きません。

HTTP 認証 (Basic など) にアプリが答えられます

blink_web_view_set_auth_handler() のハンドラに届きます。blink_web_view_auth_response() で
ユーザー名とパスワードを返します。2 件目以降の認証は、1 件ずつ順に届きます。

既定のフォントと最小文字サイズを選べます

blink_web_view_set_font_family() で明朝・ゴシック・等幅などの既定のフォントを、
blink_web_view_set_minimum_font_size() で最小文字サイズを指定できます。最小文字サイズは
ルビにも適用されます (本文 16px・下限 12px なら、ルビは 8px から 12px になります)。

独自スキームを初期化の前に登録できます

blink_gtk_register_scheme() を blink_gtk_init() の前に呼ぶと、環境変数
BLINKGTK_EXTRA_SCHEMES を使わずにスキームを登録できます。そのスキームのページには origin が付き、
fetch() が使えます。

window.blinkgtk をページの最初のスクリプトから使えます

1.2.3-build1 までは読み込みが終わってから入っていました。

画面へ出さない宣言の下でも撮影できます

提示ポリシーで画面への表示を止めている間でも、blink_web_view_capture_screenshot_async() を
呼ぶと 1 枚だけ表示して撮ります (1.2.3-build1 までは 2 秒で失敗していました)。

build2 で修正したこと

build2 で挙動が変わるもの

build1 でできるようになったこと

JavaScript・画像・localStorage の有効/無効がページに反映されるようになりました

blink_web_view_set_javascript_enabled() などの設定が、ページに反映されるように
なりました。1.2.2 までは値を覚えるだけで、FALSE にしてもページのスクリプトは
実行されていました
。

関数 1.2.3 (出荷形で実測)
blink_web_view_set_javascript_enabled() 反映される (FALSE でページのスクリプトが止まる)
blink_web_view_set_images_enabled() 反映される (FALSE で画像が読み込まれない)
blink_web_view_set_local_storage_enabled() 反映される (FALSE で localStorage が使えない)
blink_web_view_set_default_font_size() 反映される (30 を渡すと本文が 30px)
blink_web_view_set_default_encoding() まだ反映されません (文字コードの指定が無いページは windows-1252 のまま)

スクリプトを止めたいページを扱うアプリは、この版に更新してください。
set_default_encoding() は原因を調べて次の版以降で扱います。

独自スキームで Web 開発の書き方がそのまま通るようになりました

パッケージ版で、リソースの場所を指定せずに起動できます

blink_gtk_set_resources_path() を呼ばなくても、libblinkgtk の置き場所から
icudtl.dat などを探すようになりました。1.2.2 までは実行ファイルの隣しか見ておらず、
rpm / deb 版で自分のアプリを作ると ICU のエラーで起動できませんでした。
探す順は次のとおりです。

  1. 実行ファイルと同じディレクトリ
  2. <libdir>/blinkgtk-0.1/chromium/ (rpm / deb)
  3. <libdir>/chromium/ (tarball)
  4. <libdir>/

場所を指定するアプリは、これまでどおり動きます。

入力メソッドは GTK の選択に従います

日本語入力の経路を、BlinkGTK が決めずに GTK に任せるようにしました。Wayland では
GTK4 の既定である text-input 経路になり、入力メソッドの側 (IBus) が推奨する形です。
Fedora 45 / GNOME の実機で、この経路を選んだときに変換モードが通ることと、ビューを
繰り返し閉じても入力メソッドの警告が出ないことを確かめています (1.2.2 に入れた
切り替えで同じ経路を選んで測りました)。

1.2.2 と同じ動作 (IBus を名指しする) にしたい場合は、BLINKGTK_IM_MODULE=ibus を
指定してください。この指定が適用されるのは BlinkGTK のビューだけです。blink_gtk_get_im_module() で
いま設定している値を確かめられます (既定は空文字列 = GTK に任せる)。

計測したい区間に、自分で目印を打てます

blink_gtk_trace_mark("名前") を呼ぶと、トレースに目印が入ります。イベント名が
その名前になり、Web の performance.mark() と同じ形で並びます。

// 起動: --trace-startup=toplevel,blink.user_timing
blink_gtk_trace_mark("workload_ready");
/* ... 測りたい区間 ... */
blink_gtk_trace_mark("idle_static_ready");

カテゴリ blink.user_timing を足していなければ、この呼び出しは何もしません。

Chromium 154 で既定で有効になった機能

機能の一覧は chromestatus.com の Chromium 154 のものです。当方で実測したのは
上記の縦組みに関わるものではなく、描画・入力・起動の範囲です。

build1 で修正したこと


この版で変わらないこと

挙動が変わるもの


動作を確かめた範囲