Local blog for Japanese speaking developers
Chrome 56 ベータ版: 「Not Secure」警告、Web Bluetooth、CSS の position: sticky 対応など
2016年12月21日水曜日
[この記事は Vincent Scheib、Web Bluetooth "歯科矯正医" による Chromium Blog の記事 "
Chrome 56 Beta: “Not Secure” warning, Web Bluetooth, and CSS position: sticky
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
特に記載のない限り、下記の変更は Android、Chrome OS、Linux、Mac、Windows 向けの最新の Chrome
ベータ版
に適用されます。
パスワードやクレジット カード情報を含む HTTP ページの「Not Secure」警告
ユーザーが安全にブラウジングできるように、Chrome はアドレスバーのアイコンに接続の安全性を表示しています。今までの Chrome では、HTTP 接続が安全でないことが明示的に表示されていませんでした。しかし、Chrome バージョン 56 より、パスワードやクレジット カードの情報を収集する
HTTP ページは安全でないことが明示
されます。これは、すべての HTTP サイトを安全でないものと明示する長期計画の一環です。この機能は、今後数週間で徐々に反映されます。
安全性に問題があると表示されないようにするには、サイトで
HTTPS を使ってトラフィックを保護
し、
一般的なセキュリティ ガイドライン
に従う必要があります。
HTTP 接続を行っているサイトで URL バーに表示される Chrome の「Not Secure」警告
Web Bluetooth
ウェブサイト上で
Web Bluetooth API
を使った Bluetooth Low Energy(BLE)端末とのやりとりができるようになりました。この機能は、Android、 Chrome OS、
Mac が対象です。Web Bluetooth API は、
GATT プロトコル
を使用します。このプロトコルを使うと、ウェブ デベロッパーは数行の JavaScript を書くだけで
プリンターや LED ディスプレイなどの
Bluetooth 端末
に接続できます。Web Bluetooth と
Physical Web
ビーコンを組み合わせると、付近の端末を検出、操作できます。まずは、GitHub の
サンプル
や
デモ
をご覧ください。
ウェブ経由で BLE 対応の心拍数モニターに接続している Android 端末(
ソース
)
CSS の position: sticky 対応
Chrome で要素を配置する新しい方法として、CSS の
position: sticky
がサポートされます。
position: sticky
が指定された要素は相対的に配置されますが、ユーザーが特定の位置までスクロールすると、
position: fixed
になります。
従来、通常どおりスクロールしてビューポートの一番上までくるとそこに固定されるコンテンツのヘッダーを作る場合、スクロール イベントをリッスンして指定されたしきい値で要素の
position
を
relative
から
fixed
に切り替える必要がありました。この方法では、要素を同期させるのが難しく、なめらかな動きは実現できませんでした。今後は、要素の
position
に
sticky
を指定するだけで、この効果を実現できます。
今回のリリースに追加されたその他の機能
Android の新しい
Remote Playback API
では、サイトがスマート TV やスピーカーの
HTMLMediaElement
の開始や再生の制御ができるようになりました。
Android で
オリジン トライアル
として
WebVR API
が利用できるようになり、デベロッパーがウェブ上でバーチャル リアリティを実現できるようになりました。
デスクトップ プラットフォームで
WebGL 2.0 API
がデフォルトで有効になり、
<canvas>
要素で
OpenGL ES 3.0
レベルのレンダリング機能が利用できるようになりました。
サイトでユーザーによる
有効なインタラクションが
発生していない場合、
navigator.plugins
と
navigator.mimetypes
で Adobe Flash のサポートがアドバタイズされなくなりました。ただし、ユーザーはサイト単位で Flash を再有効化できます。
サイトで
Image Capture
オリジン トライアル
を使って
写真の撮影やズームなどのカメラの設定
を試せるようになりました。
ビューポートより上にあるコンテンツが変更された際に、Chrome はビューポートのコンテンツが動かないように自動的に
スクロール位置
を調整するようになります。ただし、CSS の
overflow-anchor
プロパティが設定されている場合を除きます。
Notifications API
で image プロパティを設定すると、サイトからの
通知にイメージを含める
ことができるようになりました。
Payment Request API
に
requestPayerName
や JSON のシリアライズなど、いくつかの
新機能
が追加されました。
モバイルで URL バーの表示 / 非表示を切り替えても、
vh
などのビューポート単位でサイズが指定された最初から内包されているブロックまたは要素の
サイズが変わらなく
なりました。
512 MB 以上のメモリとシステム辞書を搭載している Android 端末では、デフォルトで
<input type="text">
などのテキスト入力要素のスペルチェックが有効になりました。
すべてのプラットフォームで、UI 内のコンテンツをフィットさせるために使われる標準フォント ファミリーが標準化され、名前が
system-ui
に変更されました。
新しく追加された
Referrer-Policy HTTP
ヘッダーを指定したサイトは、ユーザーのセッション ID やその他の個人情報を漏洩させることなく、指定の URL にサイトのトラフィックを転送できます。
KeyboardEvent.isComposing()
を使うと、サイトで直接キーボード イベントを監視しなくても、ユーザーが直近の
KeyboardEvents
に基づくキーボード入力を行っているかどうかを
判断
できます。
セルラー ネットワークに接続されている場合、Chrome for Android では
metadata
に動画のデフォルトの
preload
属性が設定され、他のモバイル ブラウザと同様にプレビュー イメージと時間情報が表示されるようになりました。
Chrome が
TLS 1.3
をサポートするようになりました。
ドラフト 18
ベースの 1-RTT も含まれます。
サイトで
ImageBitmapRenderingContext
を使い、メモリ消費と
ImageBitmap
形式でのピクセル データのレンダリングのオーバーヘッドを減らせるようになります。
CSS の
touch-action
プロパティで
pinch-zoom
を使用すると、サイトでピンチ操作に応答できるようになります。
ConstantSourceNode
は、
AudioParam
とミキシングされた一定の出力を生成する新しいオーディオ ソースノードです。
Web Audio の
ChannelSplitterNode
インターフェース
で、2 つの新しい読み取り専用属性が使えるようになります。
channelCount
は、
createChannelSplitter()
の
numberOfOutputs
によって定義されます。
PannerNode.rolloffFactor
は、ソースがリスナーから離れる際のボリュームの減衰率を表現する
PannerNode
の距離モデルの公称範囲に固定されるようになります。
ページが現在フォアグラウンドにない場合、
window.prompt()
で親タブにフォーカスが移らなくなりました。
Windows での動作に合わせるため、Mac の Chrome 拡張機能は Chrome
Settings Overrides API
でデフォルトの検索、スタートアップ、ホームページ設定を上書きするようになりました。
FLAC
のサポートが
<audio>
タグと
decodeAudioData()
の FLAC と
Ogg
コンテナ内で有効化されました。
WebAudio API
のオーディオコーデックサポートを拡張し、
decodeAudioData()
で OPUS の利用が可能になりました。
サポートの終了予定と相互運用性の改善
speedOfSound
、
dopplerFactor
、
setVelocity
など、サポートを終了した Doppler API は WebAudio API に含まれなくなりました。
標準に準拠するため、
RTCPeerConnection
が
RTCConfiguration
パラメータとして
iceTransports
だけでなく
iceTransportPolicy
も受け取れるようになりました。
RTCPeerConnection
が
webkit
接頭辞なしに利用できるようになりました。
webkitRTCPeerConnection
も利用できます。
空白以外の Unicode 制御文字は、無視されるのではなく、
仕様
に従って描画されます。
Content Security Policy 2
から
reflected-xss
ディレクティブが削除されています。これは
X-XSS-Protection
ヘッダーの単なるラッパーであり、何の追加機能も提供していないためです。
MediaStreamTrack.getSources()
メソッドのサポートが削除され、
MediaDevices.enumerateDevices()
に置き換えられました。
CSP の
referrer
ディレクティブはサポートが終了し、新しい
Referrer-Policy
ヘッダーに置き換えられました。
ShadowDOM の
slotchange
イベントは、
slot
の
assignedSlot
でバブリングされますが、再発行はされなくなりました。
レガシー CBC モード
ECDSA
暗号化スイートの
ECDHE_ECDSA_WITH_AES_128_CBC_SHA
と
ECDHE_ECDSA_WITH_AES_256_CBC_SHA
は削除され、
ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
などの最新の暗号化に置き換えられました。
SHA-1 と SHA-512 の ECDSA は削除されました。これは、SHA-1 への依存性を削除し、TLS 1.3 の新しい ECDSA ハンドリングと整合性をとるためです。
Chrome では、
touchstart
や
touchmove
などのタッチ スクロール入力時にポップアップを表示できなくなりました。
サイトは、
type="python"
などの無効な
type
または
language
属性を持つスクリプトの取得を開始しなくなりました。ただし、
link
preload
を使った宣言的な取得による場合は除きます。
MIDIMessageEvent.receivedTime
がサポート終了となり、
Event.timeStamp
に置き換えられました。これは、
Event.timeStamp
がエポック時刻の代わりに高精度のモノトニック時刻をサポートするようになったためです。
Posted by
Eiji Kitamura - Developer Relations Team
ラベル
.app
1
.dev
1
#DevFest16
1
#DevFest17
1
#DevFest18
1
#DevFest19
1
#hack4jp
3
A/B Testing
1
A4A
4
Accelerator
1
Actions on Google
16
Activation Atlas
1
Addy Osmani
1
ADK
2
AdMob
31
Ads
48
Ads API
41
AdWords API
11
Agency
1
AI
11
AIY
3
AIY Vision Kit
2
ALPN
1
AMP
84
AMP Cache
6
AMP for Email
3
AMP SSR
1
AMP Story
3
AMP Toolbox
1
amp-bind
1
AMPHTML Ads
1
Analytics
9
Andorid
12
Android
347
Android Auto
1
Android Design Support Library
1
Android Developer Story
4
Android Developers
4
Android Enterprise
5
Android Go
1
Android Jetpack
3
Android N
18
Android O
13
Android P
7
Android Pay
1
Android Q
13
Android Security Year in Review
1
Android Studio
38
Android Support Library
6
Android Things
15
Android TV
10
Android Vitals
3
Android Wear
29
androidmarket
3
AndroidX
5
Angular
2
Angular 2
2
AngularJS
2
AoG
1
API
25
APIExpert
45
apk
2
APM
1
app
3
App Action
1
app engine
23
App Indexing
7
App Invites
6
App Maker
2
AppCompat
2
Apps Script
11
aprilfool
4
AR
2
Architecture Components
7
ARCore
1
ArtTech
1
Associate Android Developer Certificate
1
Audio
7
Auth Code
1
Authentication
8
AuthSub
2
Autofill
1
AutoML
1
Autotrack
2
award
1
Awareness API
1
Beacons
6
Better Ads Standards
1
BigQuery
9
Billing
1
BLE
4
Blink
1
Blockly
1
blogger
1
BodyPix
1
Brillo
1
Brotli
2
Budou
1
Calendar
3
Canvas
1
Cardboard
4
Career
1
Case Study
1
Certificate
2
chrome
133
Chrome Custom Tab
2
Chrome Dev Summit
3
chrome extension
11
Chrome for Android
2
Chrome for iOS
2
Chrome OS
6
Chrome Tech Talk Night
4
Chromebook
3
Chromecast
7
chromewebstore
7
Chromium
5
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
21
Cloud Firestore
5
Cloud Functions
9
Cloud IoT Device SDK
1
Cloud Next
8
Cloud OnBoard
3
Cloud PubSub
1
Cloud Storage
1
Cloud Study Jams
3
Cloud Summit
1
Cloud Test Lab
2
Cloudflare
1
CNN
1
Coalition for Better Ads
1
CocoaPods
1
code review
1
codejam
5
codelab
4
Colaboratory
1
Community
3
compute engine
3
Context
1
Cookie
2
Coral
2
Crash Reporting
2
Crashlytics
2
Dart
2
DataCenter
1
Daydream
4
Deep Learning
4
Demo Party
1
Design Sprint
3
DesignBytes
1
DevArt
3
DevBytes
6
Developer
14
Developer Console
4
Developer Preview
6
Developer Relations
2
DevFest
8
DevFestX
3
DevOps
1
devtools
4
Dialogflow
1
Differential privacy
1
DirectShare
1
DNS-over-HTTPS
2
Domain
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
Dynamic Links
3
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
egypt
1
Encryption
1
English
2
ES2015
1
ES2016
1
ES6
2
ES7
1
Event
1
Featured
2
Firebase
118
Firebase Admin SDK
6
Firebase Analytics
10
Firebase Auth
4
Firebase Cloud Messaging
10
Firebase Crashlytics
2
Firebase Database
5
Firebase Libraries
1
Firebase Notifications
1
Firebase Performance
3
Firebase Remote Config
5
Flash
1
Flutter
6
font
3
fraud
1
G Suite
18
game
39
Game Developers Conference 2018
1
Game Developers Conference 2019
1
Gboard
1
GCP
13
GCPUG
1
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
18
GDG Cloud
1
Geo
54
Gingerbread
1
GLIDE
5
Gmail
4
Gmail API
2
Go
1
golang
5
goo.gl
1
Google
6
Google Analytics
3
Google API
1
Google Apps
14
Google Apps Script
4
Google Assistant
10
Google Assistant SDK
2
Google Cast
8
Google Cloud
25
Google Cloud INSIDE Digital
1
Google Cloud INSIDE Games & Apps
6
Google Cloud INSIDE Retail
1
Google Cloud Messaging
11
Google Cloud Platform
11
Google Code-in
1
Google Developer Experts
2
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
2
Google Drive
6
Google Earth
1
Google Fit
2
Google for Mobile
2
Google for Startups
1
Google for Work
1
Google I/O
17
Google Impact Challenge
1
Google Maps
62
Google Maps Platform
13
Google ML Summit
1
Google Pay
2
Google Photo
1
Google Play
110
Google Play Console
9
Google Play Game Services
9
Google Play Instant
1
Google Play Services
23
Google Plus
14
Google Search
7
Google Sheets API
3
Google Sign-In
12
Google Slides API
5
Google Summer of Code
1
Google Tag Manager
1
Google Trust Services
1
Google マップ
4
Google+
2
Googleapps
10
GoogleGames
1
GoogleI/O
28
GoogleLabs
1
GooglePlay
1
GoogleTV
1
Gradle
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
7
Hangouts Chat
2
Hosting
3
HTML5
17
HTML5Rocks
1
HTTP/2
5
HTTPS
13
I/O Extended
4
ID Token
1
Identity
15
Identity Toolkit
1
Ignite
4
IME
11
Indie Games Festival 2018
2
Indie Games Festival 2019
12
Inevitable ja Night
27
Instagram
1
Instant Apps
6
intern
2
Invites
1
IO19
3
iOS
20
IoT
6
IPv6
1
Issue Tracker
2
Japanese Input
1
JavaScript
9
Jetpack
1
K-12
1
Key Transparency
1
Knowledge Graph
1
Kotlin
10
Kubernetes
1
l10n
8
LaunchPad
2
Lighthouse
1
LINE
1
Local AI
1
Lollipop
10
Machine Learning
22
Maker Faire Tokyo
1
Marshmallow
10
Material
1
Material Design
30
MDL
1
MDN
1
metrics
1
MIDI
2
ML Kit
11
Mobile
14
Mobile Bootcamp
4
Mobile Sites certification
1
Mobile Vision
4
mod_pagespeed
1
monetize
3
Mozc
15
Music
1
NativeDriver
2
NativeScript
1
NBU
1
ndk
3
Nearby
5
Next Extended
1
Next Tokyo
3
Nexus
2
Nexus S
1
NFC
1
Node.js
3
Noto CJK
1
NPAPI
2
NPN
1
oauth
11
OpenAI
1
opencensus
1
OpenGL
4
OpenID
3
OpenID Connect
4
OpenSocial
1
opensource
17
Optimization
1
Payment
4
PEM
33
People API
2
Performance
12
Performance budget
1
PersonFinder
1
Physical Web
3
Pi
1
Place Picker
1
Play Billing Library
2
Player Analytics
4
Playtime 2017
1
Policy
4
Polymer
7
privacy
5
Progressive Web Apps
14
project hosting
1
Promise
1
Promo code
1
Protocol Buffers
1
PRPL
1
publicdata
1
Push API
1
Push Notification
3
PWA
3
Python
2
QUIC
1
QWIKLABS
3
RAIL
1
React
1
React Native
2
Realtime Database
9
Recap Live Japan 2019
3
reCaptcha
1
Redux
1
Remote Config
3
Remote Display API
1
Resonance Audio
1
Rewarded Video Ads
2
Runtime Permission
1
Safe Browsing
1
Sample Code
2
Santa Tracker
1
schema.org
1
secur
1
security
53
Service Worker
4
SHA-1
1
sketchup
1
SmartLock for Passwords
4
social
4
Social Good
1
Social Media
1
software development
1
SPDY
3
speak2tweet
1
Spreadsheet
3
SSR
1
startup
5
Storage
2
story
1
streetview
3
Study Jams
7
Swift
2
SwiftShader
1
Symantec
1
Task
4
Team Drive
1
techtalk
12
TensorFlow
27
TensorFlow Federated
1
TensorFlow Lite
4
TensorFlow Object Detection API
1
TensorFlow Probability
2
TensorFlow.js
1
test
4
Test Lab
6
TFX
1
ToS
1
trace
1
Transliteration
1
Twitter
1
Udacity
20
Unity
3
UX
4
V8
2
VP9
1
VR
11
Vulkan
2
Watch Face
2
wave
2
Wear OS
2
Weave
1
Web
27
Web Animations
1
Web Components
6
Web Manifest
1
Web Packaging
3
WebAssembly
4
WebGL
1
WebMusic
5
WebView
1
Women Techmakers Scholars Program
1
WTM
5
Xcode
1
YouTube
17
YouTube API
1
インタビュー
1
コードサンプル
1
プライバシー
1
機械学習
2
言論の自由
1
節電
3
東日本大震災
9
日本語入力
41
ブログ アーカイブ
2019
12
11
10
9
8
7
6
5
4
3
2
1
2018
12
11
10
9
8
7
6
5
4
3
2
1
2017
12
11
10
9
8
7
6
5
4
3
2
1
2016
12
11
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
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"