|
Description:
|
|
# ep48 Monthly Web 201901
第 48 回のテーマは 2019 年 01 月の Monthly Web です。
## Show Note
### Chrome 動向
- Stable: 72
- Updates
- *New in Chrome 72*
- https://developers.google.com/web/updates/2019/01/nic72
- public class fields
- User Activation API
- Intl.ListFormat()
- *What's New In DevTools (Chrome 73)*
- https://developers.google.com/web/updates/2019/01/devtools
- logpoints
- AAA contrast ratio line in the Color Picker
- A Picture is Worth a Thousand Words, Faces, and Barcodes-The Shape Detection API
- https://developers.google.com/web/updates/2019/01/shape-detection
- ハードウェアが持つ顔認識やバーコードスキャナーを活用するための API
- *Making user activation consistent across APIs*
- https://developers.google.com/web/updates/2019/01/user-activation
- *Emscripten and npm*
- https://developers.google.com/web/updates/2019/01/emscripten-npm
- Docker でツールをまとめてるからそれ使うと npm モジュールも開発しやすいよという話
- Intents
- Ship: WebRTC RTCDtlsTransport object
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/bm-eQd1fKRQ/o3DqG4wxEAAJ
- Ship: imagesrcset and imagesizes attributes on
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/07CbItWfA4M/CG1qF8IoEAAJ
- *Ship: Signed HTTP Exchanges (SXG)*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/gPH_BcOBEtc/Z41GR0mwEQAJ
- Ship: IntersectionObserver V2
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/g-pdQdSR0HI/LY6lcGKOCgAJ
- *Ship: Hashbang Interpreter Line Syntax*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/xSD0PYiZq9U/Af87U7wWDAAJ
- https://tc39.github.io/proposal-hashbang/ の実装
- Shebang/Hashbang を許容するようにし、 CLI 向けのコードがそのまま動くように
- Implement: Media Queries: prefers-color-scheme feature
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Muw0N43ntSw/WZZZI7w7DQAJ
- Implement and Ship: OverconstrainedErrorEvent
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/QwFpOPom5HQ/pJh1YSQ0EQAJ
- *Implement and Ship: CSS prefers-reduced-motion media query*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/NZ3c9d4ivA8/BIHFbOj6DAAJ
- *Implement and Ship: Cross-Origin Resource Policy*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/TBNHorRPhZk/4_gfRjfzDgAJ
- Implement and Ship: RTCError, RTCErrorEvent, RTCErrorEventInit
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/TsJA1XX7mTE/nlQ0FFjSDgAJ
- Implement and Ship: Prevent downloads in sandboxed iframes without user activation
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/JdAQ6HNoZvk/WQZfXIMADgAJ
- Implement and Ship: `|type|` in PerformanceObserverInit
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/IPl_CSXhMbw/F0rSlAvzDQAJ
- Implement and Ship: CSS property font-optical-sizing
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Y3lhEykjfV0/FKa0H8zwDQAJ
- Implement and Ship: RTCRtpEncodingParameters.scaleResolutionDownBy & RTCRtpEncodingParameters.maxFramerate
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/SV8evGSU_dw/DIrx9XzvDQAJ
- *Implement and Ship: CSS Transition Events*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/L5J1DUzfQIw/3SSWuKkaDAAJ
- `transitionrun`, `transitionstart`, `transitionend`, `transitioncancel` が仕様にはある
- Blink は `transitionend` しか実装してない、他はわりと実装している
- これを実装すると、いつアニメーションしてるのかとかわかる。
- Implement and Ship: Make RTCIceCandidate/RTCIceCandidateInit spec compliant
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/T6zlVFZhRVY/-bOrMI_rDQAJ
- Implement: back-forward cache
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/OVROmzNUng0/1gTmi-I3EQAJ
- Implement: Web Share Level 2
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/AiKgWvv3cq0/xAsjfSfMDQAJ
- *Implement: HTML Modules*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ewfRSdqcOd8/w_Fr6rJ3DQAJ
- Chromium の intents だが MS Edge の人から出ている
- かなりよく書かれた intents
- *Implement: `Sec-CH-UA-` Client Hints.*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/WQ0eC_Gf8bw/dhWMhCYYDwAJ
- User-Agent ヘッダのエントロピーが高く、ほとんど無駄なのに fingerprint に使える
- 減らしたいので Client-Hints で opt-in にしたい
- そこで Sec-CH-UA-Arch, Sec-CH-UA-Platform などにわける
- *Implement: APIs for Main Thread Scheduling*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/eLq8t56CbaQ/KdbOY7ZHCwAJ
- スケジューリングのプリミティブを JS に出す
- TaskQueue API を追加する
- *Implement: High Contrast support*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/N77UCHle_rw/omPE8XRzFQAJ
- MSEdge チームから、 Windows にあったコントラスト系の API を出したい模様
- Media Queries lv5 の prefers-contrast とは違う
- ブラウザがデフォルトでハイコントラストを提供し、コンテンツがオプトアウトするための仕組み、らしい。
- 下の supported-color-schemes meta tag と被ってそう?
- *Implement: supported-color-schemes meta tag*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/8NsJruvDJIw/xgtAfWJoDAAJ
- コンテンツがサポートしている Color Scheme をメタタグに明示する
- UA はそれを元に、何がサポートされているのかを知ることができる
- この有無により、 UA による自動変換での Color Scheme 変更などをコントロールしたい
- ``
- light dark: UA はユーザのセッティングによってリストから選んで適用、いいのがなかったら自動変換できる
- light dark only: UA はリストから選ぶ。自動変換はしない
- なし: UA は自動変換できる
- Implement: MediaCapabilities: encrypted (EME) decodingInfo()
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/bBUZGuJ4VfY/yBfMs4d0DAAJ
- *Experiment: ElementTiming for Images*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/9LV2L8sDgPY/5-PSyCOkBwAJ
- Performance Observer の Element Timing で Image の表示完了をとる
- *Experiment: Feature Policy Reporting*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/2aHJE8YNXE0/9oo5x3s2EQAJ
- 待っていたやつ
- Experiment: [Web Perf] Layout Jank API
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/QRK6RbAwsb4/L6s-XUAvEQAJ
- PerformanceObserver で取れるように
- Experiment: Handle retransmission in WebRTC audio jitter buffer
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/A31F88qhQLQ/TZYAm2dIEAAJ
- *Experiment: Trusted Types*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/I9To21DXcLo/NrU9P0M4EAAJ
- blog
- Experiment: getInstalledRelatedApps()
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/hi1RKJcdplo/T_BvnpHhDgAJ
- *Experiment: Priority Hints*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/jpeSdM897Xw/CY6tothSDgAJ
- Experiment: Per-method quota for PaymentRequest.canMakePayment()
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-h-_ecsReLg/Cm11b3juDQAJ
- Experiment: Contact API
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/GBgoS_eCmzM/Ot7ePqCbCgAJ
- *Experiment: Auto Picture-in-Picture*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/eFZ3h_A3VTY/NuXabBbQDQAJ
- タブを変えたりした時に自動で PinP すると、ビデオ会議とかで便利な場合がある
- Extend Origin Trial: EventTiming
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/sJ4lxamz2V0/YSRPP3SwBgAJ
- Extend Origin Trial: lowLatency canvas contexts (AGAIN)
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/MasDDXg75Jc/bbylvOtrFQAJ
- Change:
- Unship:
- Deprecate and Remove: Web MIDI use on insecure origins
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/_2XZt3yInCI/d98O63x7CgAJ
- Deprecate and Remove: googHotword constraint.
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/WlIzSK6-xq0/E1bm3vdwCgAJ
- *Deprecate and Remove: Shadow DOM V0, Custom Elements V0, HTML Imports*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/h-JwMiPUnuU/RgmCstxKDwAJ
- WebComponents v0 仕様の deprecation が Chrome 74 に延期(従来は 73 を予定していた)
- Chrome 内部のコードで v0 を使っているものなどのマイグレーションがうまくいかなかった
- *Temporarily Remove: link rel=preload types 'audio' and 'video'*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/QnwPuiiYuQE/or9tagG4DAAJ
- 音声/映像の preload と要素での再取得によって、二回ダウンロードすることがある
- 実装によって曖昧なことが WPT で判明したっぽい
- Fetch でのキャッシュの挙動が仕様/実装共に直るまではおいておく
- Team Weekly Snippet
- v8
- v8 blog
- Trash talk: the Orinoco garbage collector · V8
- https://v8.dev/blog/trash-talk
- Other
- A year of open source funding - Accelerated Mobile Pages Project
- https://amphtml.wordpress.com/2019/01/09/a-year-of-open-source-funding/
- *Chromium Blog: Building a Better World Wide Web*
- https://blog.chromium.org/2019/01/building-better-world-wide-web.html
- Better Ads Standard の最初の成果の紹介
- サイトの改善も広がり、 UX が向上しつつあるとのこと
- Test your site speed automatically with Speed Demon
- https://medium.com/dev-channel/introducing-speed-demon-a36d95dd0174
- WebPageTest を定期的に叩いて spreadsheet に保存する app script
- 閾値を超えたら通知してくれる
- *PSA: H264 simulcast available in Chrome*
- https://groups.google.com/forum/#!msg/discuss-webrtc/_lxG4Yg1A2U/9UH3JCjlEwAJ
- https://bugs.chromium.org/p/webrtc/issues/detail?id=5840
- *Chrome University 2018 - YouTube*
- https://www.youtube.com/playlist?list=PL9ioqAuyl6UIFAdsM5KU6P-hRJdh-BPmm
- Chrome の新規開発者向けに内部でやっていた Chrome University が公開された
- 何度か前に紹介した Life of a Pixel などもここでやっていたものらしい
- *Custom Elements v1 が v0 の利用量を抜く*
- https://twitter.com/abraham/status/1085314381951520769
- 去年の 8 月にでかいリリースがあった模様
- Google Japan Blog: Google しごと検索で、仕事探しをもっとスムーズに!
- https://japan.googleblog.com/2019/01/shigoto-search.html
- 検索結果に仕事が出るように
- Structured Data から出してるっぽい
- *Wow, fancy that. Web ad giant Google to block ad-blockers in Chrome. For safety, apparently • The Register*
- https://www.theregister.co.uk/2019/01/22/google_chrome_browser_ad_content_block_change/
- https://bugs.chromium.org/p/chromium/issues/detail?id=896897&desc=2#c23
- Chrome Extensions の Manifest v3 で WebRequest が廃止になり declarativeNetRequest API になる。
- https://developers.chrome.com/extensions/declarativeNetRequest
- MAX_NUMBER_OF_ALLOWED_PAGES = 100
- MAX_NUMBER_OF_RULES = 30,000
- https://twitter.com/bulkneets/status/1088112760712421377
- *Guidelines for URL Display*
- https://chromium.googlesource.com/chromium/src/+/master/docs/security/url_display_guidelines/url_display_guidelines.md
- Where possible, avoid displaying URLs, especially when the user is likely to be making a trust decision. Instead, display only the origin. Additionally, if the connection is not secure, add an indicator to that effect:
- If the URL display only applies to secure URLs (for example, a permission prompt that can only be requested by HTTPS pages), omit the scheme and non-default ports (443 for HTTPS).
- *12e546d6fee1d2a669733feaad7e85145ae4c02f - chromium/src - Git at Google*
- https://chromium.googlesource.com/chromium/src/+/12e546d6fee1d2a669733feaad7e85145ae4c02f
- macOS の Chrome で Dark mode がサポートされた
- 73 でリリース予定
- |