BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Google Chrome 51公開,Interaction Observer,Credential Management APIを追加

Google Chrome 51公開,Interaction Observer,Credential Management APIを追加

原文(投稿日:2016/06/07)へのリンク

GoogleはChrome 51をローンチした。Intersection Observer,Credential Management APIなどによるアップグレードの他,多数のセキュリティ修正が含まれる。

51安定版リリースの新機能であるIntersection Observer APIについて,同社ソフトウェアエンジニアのAlexander Surma氏は,簡単に言うと”IntersectionObserverが,オブザーバエレメントがブラウザのビューポートに入るか,あるいは出たことを知らせてくれるもの”だ,と説明している

開発者にとってこれは,エレメント追跡が必要な場合の問題点の解決策となるものだ,従来型のアプローチであるgetBoundingClientRectの呼び出しでは,Surma氏の言葉を借りれば,動作が”痛々しいほど遅かった”。

氏は次のような例をあげている。

var io = new IntersectionObserver(
	entries => {
		console.log(entries);
	},
	{
		/* Using default options. Details below */
	}
);
// Start observing an element
io.observe(element);

// Stop observing an element
// io.unobserve(element);

// Disable entire IntersectionObserver
// io.disconnect();

IntersectionObserverのデフォルトオプションを使えば,要素の一部がビューに入った時とビューポートから完全に出た時の両方で,コールバックがコールされます”,と氏は説明している。

しかし,これでは必ずしも十分ではない,とSurma氏はいう。そのため,intersectionRatioしきい値を定義するthresholdオプションが用意されている。IntersectionObserverに関する詳細については,https://developers.google.com/web/updates/2016/04/intersectionobserverを参照されたい。

最新の安定版リリースの,もうひとつの新機能がCrendetrial Management APIだ。このAPIでは,パスワード資格情報の格納,取得,連結という3つの機能を提供する。

  • navigator.credentials.get() – ユーザの資格情報を取得し,サインイン操作を開始する。
  • navigator.credentials.store() – 資格証明マネージャに資格情報を保存する。
  • navigator.credentials.requireUserMediation() – 自動サインインを無効にする。

デベロッパアドボケートのEiji Kitamura氏は,“Streamlining the Sign-in Flow Using Credential Management API”と題したブログ記事でこのAPIを取り上げて,ワンタップでのサインイン,ユーザが使用したフェデレーションアカウントの記録,セッション期限が切れた場合の復帰が可能になる,と説明している。

Chromeの実装では,資格情報はChromeのパスワードマネージャに保管されます。ユーザがChromeにサインインすれば,デバイス間でのパスワード同期が可能になります。このようにして同期されたパスワードは,AndroidのSmartLock for Password APIに統合されたAndroidアプリでも利用可能なので,シームレスなクロスプラットフォーム・エクスペリエンスが実現されます。

Kitamura氏は,Credential Management APIのWebサイトでの使用方法はそのアーキテクチャによって異なるため,すべてのユースケースをひとつのブログ記事で紹介するのは不可能に近い,と前置きした上で,典型的な単一ページアプリについて説明している。APIのデモがこちらに, APIの完全な詳細は https://developers.google.com/web/updates/2016/04/credential-management-apiに,それぞれ提供されている。

Kitamura氏はさらに,資格情報管理に関するFAQにも回答している。

Webサイト上のJavaScriptで生のパスワードを取得することは可能ですか?
いいえ,パスワードはPasswordCredentialの一部としてのみ取得が可能です。その内容を確認する手段はありません。

Credential Management APIで使用するIDとして,3桁の数字を格納することは可能ですか?
現時点ではできません。仕様に対するフィードバックに感謝します。

Iframe内でCredential Management APIを使用できますか?
APIの利用はトップレベルのコンテキストに制限されています。iframe内で.get()あるいは.store()をコールすれば,影響を与えることなく問題をすぐに解決できます。

独自のパスワード管理用ChromeエクステンションをCredential Management APIに統合することは可能ですか?
navigator.credentialsをオーバーライドすれば,自身のChromeエクステンションで資格情報のget()あるいはstore()を行なうことができます。

GoogleのQAエンジニアであるKrishna Govind氏が”Stable Channel Update”に記したところによれば,Chrome 51リリースでは“多数の修正や改善も行なわれている”。42件の独立したセキュリティフィックス中,クロスオリジンのバイパスに関連する問題(CVE-2016-1672からCVE-2016-1676まで)を含む9件が“高”として記載されている。

GoogleデベロッパアドボケートのPete LePage氏によるリリースの概要紹介がこちらにある – https://youtu.be/LXbtIeHIQJA

 
 

この記事を評価

関連性
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT