Googleは先日Chrome 80をリリースした。Chrome 80はCookieポリシーに重要な変更をし、ワーカーのモジュールと、JavaScriptのオプションのチェーンをサポートする。また、以前のオリジントライアルを卒業して、新しいオリジントライアルが追加され、新しいハッシュタグ構文を使用して、ページ上のフラグメントに直接リンクする。その他いくつかの変更がもたらされている。
2019年5月に発表されたように、 ChromeブラウザーはChrome 80で新しいsecure-by-default cookie分類システムを開始し、宣言されたSameSite
値がない場合、SameSite=Lax
Cookieとして扱われる。SameSite=None; Secure
として構成されたCookieは、セキュアな接続によるアクセスでは、サードパーティーのコンテキストとして引き続き利用できる。
Module workersはJavaScript modulesに人間工学とパフォーマンスの利点を持つWeb workersである。module workersを使うには、開発者は{type: "module"}
オプションでWorker
コンストラクターを使用する。新しいオプションは、<script type="module">
に一致するようにスクリプトのロードと実行を変更する:
const worker = new Worker('worker.js', { type: 'module'});
module workersは標準のJavaScriptモジュールであるため、importとexportステートメントが使用できる。この新機能により、workerの実行をブロックすることなく遅延読み込みコードに対して動的なインポートが可能になる。Web workerの標準である同期のimportScripts
はmodule workersに対しては無効になっている。
module workerスクリプトはJavaScript moduleのように読み込まれ、解析されて、実行されるため、標準のWeb Workerスクリプトでは実現できない、事前にロードして解析が可能になっている:
<!-- worker.jsとその依存関係を事前に読み込む: -->
<link rel="modulepreload" href="worker.js">
<script>
addEventListener('load', () => {
// workerコードはすでに解析されて実行可能!
const worker = new Worker('worker.js', { type: 'module' });
});
</script>
Chrome 80はJavaScriptで、optional chainingをサポートするようになった。Optional chainingは以下のように書ける:
// エラーチェックをしつつ読みやすい
const nameLength = db?.user?.name?.length;
以下と同じである:
// エラーが起きにくいが読みにくい
let nameLength;
if (db && db.user && db.user.name) nameLength = db.user.name.length;
Contact Picker APIはオリジントライアルを卒業した。Contact Picker APIはユーザーの連絡先からWebサイトに連絡先を共有する。WebベースのEメールクライアントなど受信者のEメールが必要な場合や、voice-over-IPアプリなど呼び出しに電話番号を探す場合などに利用できる。
Content Indexing APIはChromeのCapabilitiesプロジェクトの一部として(Chrome82まで継続され、2020年6月まで予定されている)オリジントライアルフェーズに入っている。Content Indexing APIはWebサイトがブラウザーにオフラインコンテンツを登録できるWeb APIである。これは、ブラウザーのオフライン機能を改善し、オフライン中にユーザーが見れるコンテンツを提供できる。Chromeチームは次のように説明する:
Content Indexing APIはコンテンツをキャッシュする代替手段ではありません。これはservice workerがすでにキャッシュしているページに関するメタデータを提供する方法です。これによりブラウザーはユーザーがページを閲覧したい時にそれを表示できる。 Content Indexing APIはキャッシュされたページを見つけやすくします。
Chrome 80は、更新されたタグ構文#:~:text=something
(たとえばhttps://en.wikipedia.org/wiki/Rickrolling#:~:text=New%20York
)によりユーザーがページ内にあるテキストのフラグメントに対して直接リンクできるようにすることでリンクを改善している。Chromeは特定のテキストの最初のインスタンスまでスクロールして強調表示する。
一部のユーザーは、Chrome 80でWebサイトを表示するときに初期フォーマットの問題を報告したが、この問題は現在、修正されている。
Chrome 80ではさらに、56のセキュリティ修正が実装されている。オリジントライアルの完全なリストはリリースノートで提供されている。開発者ツールもまた追加機能の恩恵を受ける。