Google Chrome の最新版である Chrome 66 が日本ではゴールデンウィーク中に公開されましたが、このバージョンで、Google は Web サイトにおける音声の自動再生に関する新たなポリシーを発表。基本的には Web ページを開いた際に自動で再生される音声をブロック (ミュート) するようになりました。
Chrome 64 以降のバージョンには、Web サイトごとに音声をミュートする機能は搭載されていましたが、これを一部の Web サイトを除いて自動的にブロックする形へと変更したもの。
例えば Web ページを開いたと同時に自動再生される動画が Web サイト上に掲載されていた場合など、音声の再生を許可するまでは無音で動画が再生されます。
Chrome does this by learning your preferences. If you don't have browsing history, Chrome allows autoplay for over 1,000 sites where we see that the highest percentage of visitors play media with sound. As you browse the web, that list changes as Chrome learns and enables autoplay on sites where you play media with sound during most of your visits, and disables it on sites where you don't. This way, Chrome gives you a personalized, predictable browsing experience.
ユーザーのブラウザに閲覧履歴がない場合は、あらかじめ所謂ホワイトリスト的に登録された 「ユーザーが自動再生を許可する率が高い 1,000 以上の Web サイト」 のみ自動再生され、それ以外の Web サイトについては自動再生がブロックされます。Chrome はユーザーの操作を学習し、ユーザーが自動再生を許可すれば、それによって自動再生が許可される Web サイトは増えていくことになります。
つまり、一部の Web サイトでは音声の自動再生を許可する操作が必要になって手間は増えますが、一方で知らない Web サイトを開いたとき、望んでもいないのに大音量で音声が流れて慌てるなんてことは減る可能性が高いです。
まだ実際にブロックされるケースを確認していないのでわかりませんが、マウスをちょっと乗せただけで勝手に再生される迷惑な動画広告なんかも音声がブロックされるならそれはそれで便利かなと思います。
Symantec の認証局が 2016年 6月 1日以前に発行した SSL 証明書が無効に
このバージョンでの大きなトピックスのひとつとして、以前、Symantec (シマンテック) 傘下の認証局が、信頼性の低い SSL 証明書を発行していた問題に関連して発表されていた、該当認証局が発行した SSL 証明書を段階的に失効させる計画に基づき、2016年 6月 1日以前に発行された SSL 証明書が無効になっています。
- 参考 Google Chrome でシマンテック (旧ベリサイン) 発行 SSL 証明書の有効期限が強制的に短縮されたり、EV (拡張認証) が無効になるかもという話
- 参考 Google Online Security Blog: Chrome's Plan to Distrust Symantec Certificates - Google Security Blog
ちなみに、2018年 10月 23日に正式リリース予定の Chrome 70 では、計画の最終処置として、該当認証局が発行した SSL 証明書は全て信用できないものとして扱われます。
CSS Typed Object Model をサポート
以前、Google Chrome 65 が Beta リリースされ、CSS Paint API がサポートされた時にも書いた 「Houdini」 の一環として、今回リリースされた Chrome 66 では、一部の CSS プロパティにおいて 「CSS Typed Object Model(OM)Level 1」 をサポートしています。
「CSS Typed OM」 は、従来の文字列ではなく、型付き JavaScript オブジェクトとして JavaScript から CSS プロパティに値を渡せるようにしたものです。パフォーマンスの向上はもちろん、開発者側としても、より直感的で可読性の高いコードを記述することができるようになります。
従来は、下記のように記述した場合、typeof
の戻り値は文字列で、
el.style.opacity = 0.3; typeof el.style.opacity === 'string'
それを忘れてこんなことやろうとするとおかしいことになっていましたが、
el.style.opacity += 0.1; el.style.opacity === '0.30.1' //白目
新しい、CSS Typed OM では下記のように記述することが可能で、typeof
の戻り値は数値になります。
el.attributeStyleMap.set('opacity', 0.3); typeof el.attributeStyleMap.get('opacity').value === 'number'