ウェブブラウザ「Google Chrome」の最新安定版であるバージョン86.0.4240.75がリリースされました。ファイルシステムAPIが追加されてより高機能なウェブアプリを開発できるようになっています。

New in Chrome 86  |  Web  |  Google Developers

https://developers.google.com/web/updates/2020/10/nic86

V8 release v8.6 · V8

https://v8.dev/blog/v8-release-86

New in Chrome 86: File System Access, WebHID, new CSS features, and more! - YouTube

◆ファイルシステムAPIが利用可能に

これまでも、「input」の「type="file"」を利用することでウェブアプリなどからPC内のファイルにアクセスすることが可能でしたが、ファイルを保存する際はいちいち新しい内容のファイルをダウンロードする必要がありました。

Chrome 86からは、「showOpenFilePicker()」や「showDirectoryPicker()」を利用することでPC上のファイルへよりシンプルにアクセスできるようになり、ブラウザ上でより高機能なIDEやメディアプレーヤーを実現できるようになりました。なお、最初にファイルを上書き保存する際には確認ダイアログが表示されます。



◆CSSのアップデート

・「:focus-visible」をサポート

要素にフォーカスを当てた際の表示をユーザーの入力方法によってカスタマイズできる「:focus-visible」セレクターが実装されました。要素に「:focus:not(:focus-visible)」を加えることで「クリックやタップでフォーカスを当てた場合」のみ見た目を変更することが可能です。

・「::marker」をサポート

新たに疑似要素「::marker」がサポートされ、リストの頭にある点や番号を自由にカスタマイズ可能になりました。



◆オリジントライアルに「WebHID API」と「Multi-Screen Window Placement API」が追加

Chromeへの実装が検討されている要素を実験できる機能であるオリジントライアルに、「WebHID API」と「Multi-Screen Window Placement API」が追加されました。

「WebHID API」はJoy-Conなどの「入出力をともに備えた」デバイスをJavaScriptからコントロール可能にするもので、このAPIを利用するとブラウザゲームの操作をゲームコントローラーで行ったり、適切なタイミングでLEDを光らせたり振動させたりすることが可能になります。



「Multi-Screen Window Placement API」はPCが複数のディスプレイを備えている場合に、全てのスクリーンの情報を得るためのAPIで、ウィンドウを開いたりフルスクリーン表示を行ったりする際に別のディスプレイに開くことができるとのこと。どのような動作を行うのかが分かりやすいデモページが公開されています。

◆JavaScriptで数値の文字列への変換が高速に

数値の変換は浮動小数点の精度やNaNなどさまざまな要素を考慮する必要がありますが、実際の変換で多くを占める小さな整数の場合に専用パスを用意することでより高速に変換ができるようになったとのこと。

また、Chrome 86には35個のセキュリティバグフィックスが含まれています。