|
Description:
|
|
# ep50 Monthly Web 201903
第 50 回のテーマは 2019 年 03 月の Monthly Web です。
## Show Note
### Chrome 動向
- Stable: 73.0
- Updates
- New in Chrome 73
- https://developers.google.com/web/updates/2019/03/nic73
- Progressive Web Apps work everywhere (macOS)
- Signed HTTP exchanges.
- Constructable Style Sheets.
- What's New In DevTools (Chrome 74)
- https://developers.google.com/web/updates/2019/03/devtools
- Highlight all nodes affected by CSS property
- Lighthouse v4 in the Audits panel
- WebSocket binary message viewer
- Capture area screenshot in the Command Menu
- Service worker filters in the Network panel
- Performance panel updates
- Long tasks in Performance recordings
- First Paint in the Timings section
- New DOM tutorial
- *KV Storage: the Web's First Built-in Module*
- https://developers.google.com/web/updates/2019/03/kv-storage
- AsyncLocalStorage が KV Storage になった
- Built-in で `'std:kv-storage'` に
- import-map で polyfill にフォールバック可能になった
- Move Ya! Or maybe, don't, if the user prefers-reduced-motion!
- https://developers.google.com/web/updates/2019/03/prefers-reduced-motion
- prefers-reduces-motion
- *Chromium Blog: Chrome Lite Pages - For a faster, leaner loading experience*
- https://blog.chromium.org/2019/03/chrome-lite-pages-for-faster-leaner.html
- data-saver を利用していると Google のサーバで最適化されたページが表示される
- Introducing JsDbg - Browser-based debugging extensions for Chromium
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/6zhD3VuHi8s/pS4UkiKoCQAJ
- https://github.com/MicrosoftEdge/JsDbg
- DOM tree や AOM Tree まで触れるデバッガ
- Web 技術(HTML/CSS/JS) で作られている
- 今は Windows のみで、 WinDbg や VS debugger で使える
- 他の OS や他のデバッガ(GDB)などは future work
- BlinkOn 10 で話すらしい
- *Chromium Blog: Chrome 74 beta: reducing unwanted motion, private class fields, and feature policy API*
- https://blog.chromium.org/2019/03/chrome-74-beta-reducing-unwanted-motion.html
- prefers-reduced-motion
- Private class fields (blog)
- JavaScript API for feature policy
- sampleRate option for the AudioContext constructor
- Intl.Locale
- Signed exchange reporting for distributors
- TextEncoder encodeInto() method
- Service worker: client.postMessage() is buffered until the document is ready.
- CSS transition events
- RTCIceCandidate and RTCIceCandidateInit
- XHR falls back to UTF-8 when invalid encoding is specified
- Remove Custom Elements v0
- Remove PaymentAddress's languageCode property
- Don't allow popups during page unload
- Deprecate drive-by downloads in sandboxed iframes
- Intents
- Ship: Background Fetch
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-iAATJCpcNY/o6Kb_ktrBQAJ
- *Ship: Feature Policy control over document.domain*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/rZOaOONFCNI/4IZTJBYMCAAJ
- `document.domain` に代入すると `throw error` するようになる
- Ship: WebAssembly non-trapping float-to-int conversions
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ERkU6ysNVz4/ush9rOJVBgAJ
- Ship: lowLatency canvas contexts (now: `|desynchronized|`)
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/nxjWgMIeC1Q/LyC1sle2BQAJ
- Implement and Ship: Backdrop Filter
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/GRl1_Qy97jM/h7v1qIDsBwAJ
- Implement and Ship: ImageCapture support for Pan/Tilt
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/j-Q08QgBipM/F3a5sau1BwAJ
- *Implement and Ship: HTMLVideoElement.playsInline*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/0TJyePKiegs/24w8YsCQCAAJ
- mobile で fullscreen にならないための属性
- iPhone Safari の独自だったもの
- *Implement: line-break: anywhere*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/r7PkIqQDvlU/X0aocVo9BQAJ
- 単語の途中などでも任意の Character Unit で折り返しする
- *Implement: Impl threaded scrollbar scrolling*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/hwZCeiK4wR8/qZvGvW8WBwAJ
- Scrollbar のスクロールを off the main thread する話
- メインループが混んでてもスクロールができる
- イベントは Queue に貯めといてメインが空いたら上げる
- Implement: Add charLength Attribute to SpeechSynthesisEvent
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/SwwNS8tPkzw/K1UaiYgqCAAJ
- Implement outline-color: invert
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/p0nHeY_ZSEg/-leLPafWCQAJ
- *Implement: Subresource prefetching+loading via Signed HTTP Exchange*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/zdvJLcditVA/FPuTNAKnCQAJ
- https://docs.google.com/document/d/1tARwhN_yymddnhyGrYmmM8b9RP0RKPKW_6T9yEI5CAg/edit
- AMP Cache から index.html.sxg を取る場合、サブリソースも AMP Cache から取りたい
- でも index.html.sxg の img タグは元の Origin で書かれている
- 署名されているから img タグを AMP Cache の URL に書き換えることもできない
- あらかじめ AMP Cache からとっても良いことを allowed-alt-sxg という meta タグで書いておく
- AMP Cache は index.html.sxg の中身を見てキャッシュにある img を認識しておく
- AMP Cache は index.html.sxg のレスポンスで Link タグに AMP Cache に別の URL で img があるよということを教える
- ブラウザは img を読む時にその AMP Cache 側にリクエストを投げる
- 署名されてるので AMP Cache が勝手に中身を差し替えたりできないし
- HTML を書き換えなくても origin のリクエストを全部 AMP Cache に向けられる
- *Implement: Alternative Text in CSS Generated Content*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/xnoMlEorXxw/mZisL9zqBwAJ
- CSS の background-image などで貼った画像に alt をつける
- content タグに書いた文字が alt として扱われる予定
- Safari は別の名前 (`-webkit-alt` プロパティ) としてサポート済み
- 質問した https://github.com/w3ctag/design-reviews/issues/351
- Implement: ElementTiming for text
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/9B7OHgwwEzs/jnmdgx_7DAAJ
- Implement: Native Caret Browsing
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ZEEwLuKlmcw/Nrj2wFkJAwAJ
- *Implement: requestPostAnimationFrame*
- https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/m-UwqK3cdjA
- Remove: overflow: -webkit-paged-x , overflow: -webkit-paged-y
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/_UhJEz04sqA/aCcX58-mBwAJ
- Deprecate: Prevent download in ad frame without user activation
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/tXKnmZD3P9o/WXBYboSXCwAJ
- Deprecate and Remove: aria-help
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/LS5I962Wlnk/wwIjHS-bCwAJ
- PSA: Layered API/built-in modules experimental flag renamed
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Rtv6BM6pLyc/cGxsG6RxBgAJ
- PSA: Fast Flat Tree Traversal enabled on trunk
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/2SsgfcYYE1U/4qyqdjsZCwAJ
- Experiment: WebRTC audio relative packet arrival delay statistic
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/YbhMyqLXXXo/gwuazcvpCQAJ
- *Experiment: KV storage built-in module + import maps*
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/sEwWEF80T4s/Nss9VxM3BAAJ
- Experiment: navigator.scheduling.isInputPending
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ItkbDBevOrs/yFffQlqTBQAJ
- Implement and Experiment: Mute in Picture-in-Picture window
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/BaOreKhdOwg/YJdACNLLCAAJ
- Extend Origin Trial: Background Fetch
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/TcQgTVk_wmM/Tkdb6EtrBQAJ
- Extend Origin Trial: Configurable WebRTC jitter buffer max size
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/kyb06SYn_v0/j8lQiSdiBQAJ
- Unified V8-Blink Garbage Collected Heaps
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/WosJkkBDY_c/uyRYvR_4BgAJ
- Team Weekly Snippet
- v8
- *JIT-less V8*
- https://v8.dev/blog/jitless
- 組み込み用途では実行可能メモリへのアクセスを許可できないため V8 が使えなかった
- そこで JIT 無しのインタプリタのみのモードを入れた
- 遅くはなるが、色々な用途が広がる
- v8 blog
- V8 release v7.4 · V8
- https://v8.dev/blog/v8-release-74
- Blazingly fast parsing, part 1: optimizing the scanner · V8
- https://v8.dev/blog/scanner
- Other
- Welcome to the AMP Roadshow 2019. First stop: Africa!
- https://amphtml.wordpress.com/2019/03/05/welcome-to-the-amp-roadshow-2019-first-stop-africa/
- Encouraging more voices in AMP
- https://amphtml.wordpress.com/2019/03/06/encouraging-more-voices-in-amp/
- *Browser Bug Searcher*
- https://browser-issue-tracker-search.appspot.com/
- [BlinkOn 10] Draft schedule
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/HxTVkDgXDWw/jCSkQlsCBwAJ
- Announcing the AMP Conf Lineup!
- https://amphtml.wordpress.com/2019/03/11/announcing-the-amp-conf-lineup/
- *Take action and stay up-to-date with dynamic email in Gmail*
- https://www.blog.google/products/gmail/take-action-and-stay-up-to-date-with-dynamic-email-in-gmail/
- AMP for Email
- Building the future of email with AMP - Accelerated Mobile Pages Project
- https://blog.amp.dev/2019/03/26/building-the-future-of-email-with-amp/
- Elliott Sprehn on Twitter: "I'm rethinking my former advice around web storage: localStorage reads are super fast since they read an in memory cache, writes are very slow. IndexedDB KV storage (like the built-in API proposal) has slow reads *and* writes and event loop delays on reads. @shubhie @_developit"
- https://twitter.com/ElliottZ/status/1105342069449474048
### Firefox 動向
- Stable: 66.0.1
- Firefox 66 for developers - Mozilla | MDN
- https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/66
- Firefox 66.0, See All New Features, Updates and Fixes
- https://www.mozilla.org/en-US/firefox/66.0/releasenotes/
- Firefox 66: The Sound of Silence - Mozilla Hacks - the Web developer blog
- https://hacks.mozilla.org/2019/03/firefox-66-the-sound-of-silence/
- Updates
- These Weeks in Firefox: Issue 54
- https://blog.nightly.mozilla.org/2019/03/05/these-weeks-in-firefox-issue-54/
- These Weeks in Firefox: Issue 55
- https://blog.nightly.mozilla.org/2019/03/15/these-weeks-in-firefox-issue-55/
- Firefox Front-End Performance Update #14 | Mike Conley's Blog
- https://mikeconley.ca/blog/2019/03/08/firefox-front-end-performance-update-14/
- Firefox Front-End Performance Update #15 | Mike Conley's Blog
- https://mikeconley.ca/blog/2019/03/22/firefox-front-end-performance-update-15/
- Intents
- *Ship: Dynamic module imports (JS 'import()' syntax)*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/Mji-LGbuPOg/heV3n1BvAwAJ
- *Ship: String.prototype.matchAll*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/BTnxShq-LQc/eWZIcxQjCQAJ
- *Ship: CSS Containment*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/lcGPwhu1Bcg/TxZz8qz2BgAJ
- Ship: Backward-Compatibility FIDO U2F support for Google Accounts
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/q5cj38hGTEA/lC834665BQAJ
- Ship: Ignore custom cursors over 32 pixels intersecting UI
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/ke-KMmY1Mak/1yNRc4ATBQAJ
- Ship: URL classifier classification by default
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/7tsOBwlpgw0/_NaqDRJGCQAJ
- Intent-to-Ship: Backward-Compatibility FIDO U2F support for Google Accounts - Google Groups
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/q5cj38hGTEA
- *Implement and ship the CSS Scroll Snap Module Level 1 and unship old scroll snap properties*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/s0rMvOBnO_4/AFjL0qHpAwAJ
- *Implement and Ship: CSS revert keyword.*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/AvR6VqGeSJs/HgWB907xCAAJ
- *Implement and ship: CSS ::marker pseudo-element*
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/PSbIck_Jj4s
- Implement and ship: built-in CSS counter 'list-item'
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/5V37Xg997Mg
- Implement and ship: CSS counter-set property
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/vOGqau_-5qo
- Implement: Trim the Referer header sent to third-party tracking resources to origin by default through modifying the default referrer policy
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/pCZkdNluLTk/GW-QWJ_VAwAJ
- blog
- Implement: Limit the maximum life-time of cookies set through document.cookie to seven days
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/lECBPeiGTy4/cPP52vyZAwAJ
- *Implement: cryptomining and fingerprinting resource blocking*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/8KLyZ_pisEI/_1itq_i9CQAJ
- コンテンツブロッキングのリストに Mining/Fingerprint が追加された
- Coinhive なども入っている
- https://github.com/mozilla-services/shavar-prod-lists/blob/7eaadac98bc9dcc95ce917eff7bbb21cb71484ec/disconnect-blacklist.json
- これについては「セキュリティ動向」で
- Intermediate CA Preloading is enabled for desktop Nightly users
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/ATbLAQpWLXE/naA1CZreAwAJ
- Disabling document.createEvent("TouchEvent"), document.createTouch* and ontouch* event handlers on desktop
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/dwRNENReBuU/81z1N78zAwAJ
- *Implement and experiment: Require user interaction for notification permission prompts*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/15s-U_wXHeA/cekU32UyBwAJ
- *Unship: Some Shadow DOM v0 APIs*
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/zFwps4VTiXw/mT44PT8dBgAJ
- Site Compat
- https://www.fxsitecompat.com
- Other
- Real virtuality: connecting real things to virtual reality using web technologies - Mozilla Hacks - the Web developer blog
- https://hacks.mozilla.org/2019/03/connecting-real-things-to-virtual-worlds-using-web/
- *Fast, Bump-Allocated Virtual DOMs with Rust and Wasm*
- https://hacks.mozilla.org/2019/03/fast-bump-allocated-virtual-doms-with-rust-and-wasm/
- Dodrio
### Safari 動向
- Stable: 12.1
- Safari Technology Preview NN
- Release Notes for Safari Technology Preview 77
- https://webkit.org/blog/8658/release-notes-for-safari-technology-preview-77/
- Fixed getUserMedia with an ideal deviceId constraint to always select the correct device (r241489)
- *Made navigator.mediaDevices SecureContext (r241602)*
- Fixed WebSocket to not fire events after being stopped (r241599)
- Fixed Same-Site Lax cookies to be sent with cross-site redirect from a client-initiated load (r241918)
- Updated the MIME type parser (r241863)
- Changed to handle indefinite percentages in fit-content() (r241746)
- Fixed HTML5 ` |