Googleがウェブブラウザ・Google Chromeの安定版「58.0.3029.81」をリリースしました。新機能追加のほか、脆弱性修正が29件行われています。

New in Chrome 58  |  Web  |  Google Developers

https://developers.google.com/web/updates/2017/04/nic58



更新内容をウェブチーム所属のPete LePageさんが語る映像も公開されています。

Chrome 58: IndexedDB 2.0, display: fullscreen and New Options for Sandboxed iFrames - YouTube

大きな変更の1点目は「IndexedDB 2.0」のフルサポート。アップデートを容易にするためにリファクタリング後にオブジェクトストアやインデックスの名前をその場で変更可能になったほか、バイナリキーを活用することでパフォーマンスに影響を与えることなく自然なキーを使うことができます。また、データ取得が「getKey()」「openKeyCursor()」「continuePrimaryKey()」メソッドでかんたんに行えます。データセット全体の一括取得なら「getAll()」「getAllKeys()」メソッドが役立ちます。



また、フルスクリーン版プログレッシブウェブアプリ(PWA)にも対応。プレイヤーやゲームなどのアプリでシステムバーなどのUIを隠すことで、さらに没入感を高めることができます。



フルスクリーンにするにはウェブアプリマニフェストで「display: fullscreen」を指定。



見え方の違いは以下のような感じ。それぞれPWAをホーム画面から起動したところですが、左は普通に起動したところ、真ん中はスタンドアロンモードで起動したところ、右はフルスクリーンモードで起動したところ。



iFrameサンドボックスも改良され、新たに「allow-top-navigation-by-user-activation」をサポート。iFrameサンドボックスでもユーザーの操作に応じて、自動リダイレクトはブロックしつつ、トップレベルページをナビゲートする機能が使えます。



開発者向けには他にもいろいろとあるのですが、LePageさんが挙げたのは「display: flow-root」。これを利用することで「float」「clear」などのレイアウトプロパティを手動でリセットすることなく、新しいブロックフォーマットコンテキストを追加できるようになります。



具体的にどのようになるかはcodepen.ioにて見ることができます。

display: flow-root

https://codepen.io/rachelandrew/pen/RKgevX

「PointerEvents.getCoalescedEvents()」を使えば、直近のPointerEvent以降のすべての入力イベントにアクセスできるようになるとのこと。これで、描画アプリは正確なポイントの履歴を使い、スムーズな曲線を作成しやすくなります。



また、Data URIsを使ってWorker・SharedWorkerが作れるようになり、Workerを利用した開発が安全になるとのこと。



Chrome 59は2017年6月にリリースされる予定です。