Japan
このブログでは、Google から開発者のみなさま向けの情報をいち早くお届けします。
Chrome 54 ベータ版:Custom Elements V1、BroadcastChannel、メディア プラットフォームの強化
2016年10月4日火曜日
この記事は Marijn Kruisselbrink、ブロードキャスト海賊による Chromium Blog の記事 "
Chromium Blog: Chrome 54 Beta: Custom Elements V1, BroadcastChannel, and media platform improvements
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
特に記載のない限り、下記の変更は Android、Chrome OS、Linux、Mac、Windows 向けの最新の Chrome
ベータ版
に適用されます。
Custom Elements V1
多くの場合、複雑なユーザー インターフェースには大量の HTML が必要になります。ほとんどの言語では、この冗長さを回避するため、デベロッパーが言語プリミティブ上に独自のコンポーネントを構築できるようになっていますが、ブラウザでも Custom Elements を使うことで、
デベロッパーが独自の HTML タグを作成
し、JavaScript で新しい要素の API や動作を定義することができます。これにより、再利用や相互利用が可能なブラウザネイティブ コンポーネントを構築できるようになります。
Chrome 54 は、主要なブラウザ ベンダーが広く合意している最新の Custom Elements
V1 仕様
をサポートしています。十分な数のデベロッパーが V1 に移行するまで、Chrome は
V0 API
もサポートします。
BroadcastChannel
デスクトップ ユーザーが複数のウィンドウやタブを開くのは珍しいことではありません。各タブでドキュメントを開くウェブエディタなど、サイトの中にはこの動作を活用しているものもあります。かねてより、タブ間の通信は難しいものでした。
BroadcastChannel
は、新しく導入されたウィンドウ、タブ、iframe、Web Worker、Service Worker 間で動作する 1 対多のメッセージング API です。この機能を利用すると、スクリプトで名前付きチャンネルを作成し、同じソースのブラウジング コンテキスト間でメッセージを送信することができます。
Chrome for Android でのメディア プラットフォームの強化
モバイル端末でブラウジングを行う際のメディアの重要性は増し続けており、メディアには画面全体をなめらかに活用することが求められます。
Element.requestFullScreen()
を使うと、ユーザーの操作を検知した時だけでなく、
画面の向きが変わった
時にフルスクリーン モードに切り替えることができます。これによって、メディア プレイヤーで回転操作を行ってフルスクリーンに切り替えられるようになります。
フルスクリーン関連の機能強化に加え、Android の Chrome ではバックグラウンドの
HTMLVideoElement
のメディア通知を永続化できるようになっており、表示されていない動画を再生し続けることができるようになります。バックグラウンドの動画再生は、
Page Visibility API
で検知できます。
Chrome 54 のバックグラウンド動画再生
今回のリリースに追加されたその他の機能
unload ハンドラ内で開始されたナビゲーションは
ブロックされ
、その前に行われたナビゲーションが継続されます。
CanvasRenderingContext2D
の
imageSmoothingQuality
属性で拡大縮小時の解像度を調整し、パフォーマンスと画質のバランスが取れるようになります。
サイトで
Node.getRootNode(options)
を使用すると、指定したノードのルートを取得できるようになります。
サイトで
PushSubscription.options
を使用すると、オフラインで保存しなくても
applicationServerKeys
をトラッキングできるようになります。
Resource Timing API
で
transfer
、
encoded
、
decoded
の各サイズ属性が利用できるようになります。これによって、キャッシュ ヒット率や使用バイトを計測できるようになります。
user-select
プロパティを使って、ユーザーがどの要素をどうやって選択したかを判断できるようになります。
Foreign Fetch
と
WebUSB
が
オリジン トライアル
の試験運用版として利用できるようになります。
text-size-adjust
プロパティーを使うことで、モバイルデバイス上のフォントサイズを自動的に調整すべきかどうか制御できるようになります。
サポートの終了予定と相互運用性の改善
他のブラウザと動作を一致させるため、Chrome が埋め込み YouTube Flash プレイヤーを書き換えて HTML5 埋め込みスタイルを使うようになります。これによってデスクトップ版 Chrome のパフォーマンスとセキュリティが改善されます。
CacheQueryOptions
は、すべての
CacheStorage
のメソッドの仕様に準拠するようになります。
initTouchEvent
は
new TouchEvent()
コンストラクタで置き換えられ、削除されます。
SVGZoomEvent
は SVG 2.0 仕様に含まれなくなったため、削除されます。
SVGSVGElement.currentView
、
SVGSVGElement.useCurrentView
、
SVGViewSpec
インターフェース、
SVGSVGElement.viewport
は
SVG 2.0 仕様
に含まれなくなったため、
削除
されます。
SVGTests.requiredFeatures
属性
は SVG 2.0 仕様で有用な機能を提供しなくなったため、サポート終了となります。
SVGElement
で
dataset
プロパティがサポートされるようになります。
KeyEvent.keyIdentifier
フィールドは
KeyboardEvent.key
フィールドで置き換えられ、削除されます。
window.external.IsSearchProviderInstalled()
および
AddSearchProvider()
は他のほとんどのブラウザでサポートされていないため、廃止されます。
Posted by
Eiji Kitamura - Developer Relations Team
コメントを投稿
ラベル
#DevFest16
1
#hack4jp
3
Addy Osmani
1
ADK
2
AdMob
8
Ads
2
ALPN
1
AMP
7
Analytics
8
Andorid
8
Android
179
Android Auto
1
Android Design Support Library
1
Android Developer Story
3
Android N
14
Android Pay
1
Android Studio
16
Android Support Library
3
Android TV
8
Android Wear
21
androidmarket
3
Angular 2
1
AngularJS
2
API
21
APIExpert
45
apk
1
app engine
21
App Indexing
7
App Invites
6
AppCompat
2
Apps Script
6
aprilfool
3
ArtTech
1
Audio
3
Auth Code
1
Authentication
3
AuthSub
2
Autotrack
2
Awareness API
1
Beacons
6
BigQuery
7
BLE
4
Blink
1
blogger
1
Brillo
1
Brotli
1
Calendar
1
Cardboard
3
Career
1
Case Study
1
chrome
59
Chrome Custom Tab
1
chrome extension
4
Chrome for Android
2
Chrome for iOS
1
Chrome OS
2
Chromebook
2
Chromecast
7
chromewebstore
6
Chromium
4
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
8
Cloud Test Lab
2
CocoaPods
1
codejam
5
codelab
2
compute engine
3
Context
1
Dart
2
DataCenter
1
Daydream
3
Deep Learning
1
Demo Party
1
Design Sprint
3
DesignBytes
1
DevArt
3
DevBytes
6
Developer
14
Developer Console
4
Developer Preview
3
Developer Relations
2
DevFest
7
DevFestX
3
devtools
3
DirectShare
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
Dynamic Links
1
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
egypt
1
English
2
ES2015
1
ES2016
1
ES6
2
ES7
1
Firebase
34
Firebase Cloud Messaging
1
Firebase Database
1
font
2
game
16
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
11
Geo
30
Gingerbread
1
GLIDE
5
Gmail
1
Go
1
golang
4
goo.gl
1
Google
5
Google Apps
4
Google Apps Script
3
Google Cast
8
Google Cloud Messaging
10
Google Cloud Platform
6
Google Developer Experts
2
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
1
Google Drive
3
Google Fit
2
Google for Mobile
1
Google for Work
1
Google Maps
35
Google Play
37
Google Play Game Services
6
Google Play Services
18
Google Plus
14
Google Search
4
Google Sign-In
10
Google Tag Manager
1
Google+
1
Googleapps
10
GoogleGames
1
GoogleI/O
27
GoogleLabs
1
GoogleTV
1
Gradle
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
6
Hosting
1
HTML5
17
HTML5Rocks
1
HTTP/2
3
HTTPS
3
ID Token
1
Identity
12
Identity Toolkit
1
Ignite
4
IME
10
Instant Apps
1
intern
2
Invites
1
iOS
12
IoT
1
IPv6
1
Japanese Input
1
JavaScript
5
K-12
1
Knowledge Graph
1
l10n
8
Lollipop
10
Machine Learning
1
Marshmallow
10
Material
1
Material Design
18
MDL
1
MIDI
2
Mobile
11
Mobile Bootcamp
4
Mobile Vision
3
mod_pagespeed
1
monetize
3
Mozc
14
Music
1
NativeDriver
2
Nearby
4
Nexus
2
Nexus S
1
NFC
1
Node.js
1
NPAPI
2
NPN
1
oauth
8
OpenGL
3
OpenID
3
OpenID Connect
2
OpenSocial
1
opensource
12
Optimization
1
Payment
2
People API
1
Performance
6
PersonFinder
1
Physical Web
3
Place Picker
1
Player Analytics
4
Policy
2
Polymer
7
Progressive Web Apps
6
project hosting
1
Promise
1
Promo code
1
Protocol Buffers
1
publicdata
1
Push API
1
Push Notification
3
QUIC
1
RAIL
1
React Native
2
Realtime Database
1
Remote Config
1
Remote Display API
1
Runtime Permission
1
Sample Code
2
schema.org
1
security
15
Service Worker
3
sketchup
1
SmartLock for Passwords
4
social
4
SPDY
3
speak2tweet
1
startup
3
Storage
1
streetview
3
Study Jams
3
Swift
1
SwiftShader
1
Task
1
techtalk
12
TensorFlow
2
test
2
Test Lab
1
ToS
1
Transliteration
1
Twitter
1
Udacity
15
Unity
2
UX
1
V8
2
VP9
1
VR
4
Vulkan
2
Watch Face
2
wave
2
Weave
1
Web
4
Web Animations
1
Web Components
5
Web Manifest
1
WebAssembly
1
WebMusic
4
WTM
2
Xcode
1
YouTube
15
YouTube API
1
インタビュー
1
コードサンプル
1
プライバシー
1
言論の自由
1
節電
3
東日本大震災
9
日本語入力
40
ブログ アーカイブ
2016
10
9
8
7
6
5
4
3
2
1
2015
12
11
10
9
8
7
6
5
4
3
2
2014
12
11
10
9
8
7
6
5
4
3
2
1
2013
12
11
10
9
8
7
6
5
4
3
2
1
2012
12
11
10
9
8
7
6
5
4
3
2
1
2011
12
11
10
9
8
7
6
5
4
3
2
1
2010
12
11
Feed
Google
on
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"