ep94 Monthly Web 202202
- published_at
- 2022-02-20
- guest
- @myakura
- toc
-
headings
Theme
第 94 回のテーマは 2022 年 2 月の Monthly Web です。
Show Note
Chrome 動向
Stable: 98
Updates
-
Chromium Blog: Chrome 99: CSS Cascade Layers, a New Picker for Input Elements, and More
- https://blog.chromium.org/2022/02/chrome-99-css-cascade-layers-new-picker.html
- Preparing for Chrome 100
- CSS Cascade Layers
- New
showPicker()
Method on HTMLInputElement Objects -
Origin Trials
-
New Origin Trials
- Dark Mode Support for Web Apps
-
Completed Origin Trials
- Handwriting Recognition API
- Window Controls Overlay for Installed Desktop Web Apps
-
New Origin Trials
-
Other Features in this Release
- Allow infinity, -infinity and NaN in CSS calc()
- CSS Color Adjust: 'only' Keyword for color-scheme
- document.adoptedStyleSheets is Now Mutable
- Improve Alignment with Spec for Exposing nextHopProtocol Across Origin Boundaries
- New Canvas 2D Features
- Unprefixed text-emphasis Properties
-
Deprecations, and Removals
- Remove Battery Status API on Insecure Origins
- Remove font-family -webkit-standard
- Remove GamepadList
- Update WebCodecs to Match Spec
-
Deprecations and removals in Chrome 99 - Chrome Developers
- https://developer.chrome.com/en/blog/deps-rems-99/
- Remove Battery Status API on insecure origins
- Remove font-family -webkit-standard
- Remove GamepadList
- Update WebCodecs to match the specification
-
New in Chrome 98 - Chrome Developers
- https://developer.chrome.com/en/blog/new-in-chrome-98/
- Opting out of auto-dark themes on Android
- COLRv1 font support
- Emulate Chrome 100 in the UA string
- Google Developers Japan: Chrome 98 ベータ版: カラー グラデーション ベクター フォント、リージョン キャプチャのオリジン トライアルなど
-
Chrome and Firefox soon to reach major version 100
- https://web.dev/chrome-firefox-100/
-
Chrome: 2022 年 3 月 29 日
- backup に Major を 99 に固定する flag をリリース
-
Firefox 2022 年 5 月 3 日
- backup に site intervention mechanism などが利用可能
- 壊れるサイトの報告
Intents
- Ship: Multi-Screen Window Placement
-
Ship: Autofill in ShadowDOM
- https://groups.google.com/a/chromium.org/g/blink-dev/c/RY9leYMu5hI/m/hXkUj8J6AgAJ
- これまで ShadowDOM 内の input は Autofill 対象外だった
- Ship: Omnibox Prerendering
-
Ship: AbortSignal.prototype.throwIfAborted
- https://groups.google.com/a/chromium.org/g/blink-dev/c/bpiezft1AIc/m/62I9XS5UAQAJ
- signal が abort されたら reason を含む AbortError を Throw する
- Safari も Mozilla も Ship 予定
-
Ship:
hwb()
color notation -
Ship: HIDDevice
forget()
- Ship: Network State Partitioning
- Ship: Digital Goods API v2.0
- Ship: NDEFReader makeReadOnly()
- Ship: Capability Delegation with Payment Request
- Ship: Allow cookie domain attributes to be the empty string
- Prototype and Ship: SerialPort integration with WritableStream controller AbortSignal
- Prototype and Ship: User-Agent Reduction Phase 4 (minor version reduction)
- Prototype and Ship: Sec-CH-UA-WoW64 Client Hint
- Prototype + PSA: making Back/Forward Cache work despite Cache-control: no-store
- Prototype: Confirmation of Action API
-
Prototype:
AbortSignal.timeout()
Static Method - Implement: Fluent Scrollbars.
- Prototype: Digital Goods API v2.1
- Prototype: Document picture-in-picture
- Prototype: AbortSignal.prototype.throwIfAborted
- Experiment: Cookies Having Independent Partitioned State (CHIPS)
- Experiment: User-Agent Client Hints GREASE Update
- Extend Origin Trial: MSE in Workers
- Ready for Trial: Federated Credentials Management API (was WebID)
- Continue Experimenting: Speculation Rules (Prefetch)
- Extend Experiment: Digital Goods API
- Change:
- Unship:
- Deprecate and Remove: Event.path
- Deprecate and Remove: Support for filesystem URLs on Android media
- Request for deprecation trial (I2E): Sending the full User-Agent string after User-Agent reduction
V8
-
V8 release v9.9 · V8
- https://v8.dev/blog/v8-release-99
- Intl.Locale extensions
- Intl Enumeration
Other
-
web.dev
- Improve security and privacy by updating HTTP Cache
- Drawing to canvas in Emscripten
- New to the web platform in January
- Porting USB applications to the web. Part 2: gPhoto2
- WebAssembly feature detection
- google developer blog
-
google developer japan blog
- Google Developers Japan: 安全なオンライン エコシステムを作るための差分プライバシーへのアクセスの拡大について
-
chrome developer blog
- The Chromium Chronicle #28: Getting started with Chrome on iOS - Chrome Developers
-
Permissions request chip - Chrome Developers
- https://developer.chrome.com/en/blog/permissions-chip/
- Allow: 6.69%
- Block: 9.20%
- Dismiss: 35.76%
- Ignore: 47.19%
- Cascade layers are coming to your browser - Chrome Developers
- Show a browser picker for date, time, color, and files - Chrome Developers
- FLEDGE API developer guide - Chrome Developers
- Topics API - Chrome Developers
-
chromium blog
- Project Zero: A walk through Project Zero metrics
-
google japan blog
- Google Japan Blog: プライバシー サンドボックスの新しい Topics API について
- canary
-
other
- Introducing the Privacy Sandbox on Android
- Privacy Sandbox on Android
Firefox 動向
Stable: 97.0.1
Updates
-
Firefox 97.0, See All New Features, Updates and Fixes
- https://www.mozilla.org/en-US/firefox/97.0/releasenotes/
- Windows 11 のオーバーレイスクロールバーに対応
-
Firefox 97 for developers
- https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/97
- CSS
cap
andic
unit - Cascade Layers
- CSS
scroll-gutter
プロパティ - CSS
d
プロパティ AbortSignal.reason
AbortSignal.throwIfAborted()
-
These Weeks in Firefox: Issue 109
-
https://blog.nightly.mozilla.org/2022/02/10/these-weeks-in-firefox-issue-109/
- Firefox 98 で新しい Performance パネルが有効に
- 拡張の Event Page の実装スタート
-
https://blog.nightly.mozilla.org/2022/02/10/these-weeks-in-firefox-issue-109/
-
These Weeks in Firefox: Issue 108
-
https://blog.nightly.mozilla.org/2022/01/28/these-weeks-in-firefox-issue-108/
- DevTools の Compatibility パネル
-
https://blog.nightly.mozilla.org/2022/01/28/these-weeks-in-firefox-issue-108/
Intents
-
Ship: OffscreenCanvas on limited domains
- https://groups.google.com/a/mozilla.org/g/dev-platform/c/kp9SZL-0wW0
- 現状は WebGL のみを OffscreenCanvas でサポートしており、 Canvas2D はこれから
- 部分的な実装を Nightly で有効にしてみたら壊れるサイトが出たのでバックアウト
- WebGL だけでもいいので使いたいというパートナーが出てきた
- Firefox 99 で Zoom にのみ有効にする
- (re-)Ship: Readable Streams
- Ship: Changing cache re-validation on a soft reload
-
Ship: CSS property
hyphenate-character
- Implement and Ship:
- Experiment:
- Change:
- Remove:
Other
-
Retrospective and Technical Details on the recent Firefox Outage
- https://hacks.mozilla.org/2022/02/retrospective-and-technical-details-on-the-recent-firefox-outage/
- H3 に対応したところテレメトリ収集部分に
Content-Length
の大文字小文字の差が吸収できないバグがあり障害につながった
- Improving the Storage Access API in Firefox
- Version 100 in Chrome and Firefox
-
1751465 - [Experiment] Staged Rollout: Disable cookie sameSite=lax and sameSite noneRequiresSecure in Firefox 96 Fx 96.0 to 96.0 Release
- https://bugzilla.mozilla.org/show_bug.cgi?id=1751465
- Schemeful SameSite に続き SameSite=Lax デフォルト化もバックアウト
- Privacy Preserving Attribution for Advertising
Safari 動向
Stable: 15.3
- マイナーが奇数ならセキュリティリリース
- メジャーで機能追加
-
Version History
- https://en.wikipedia.org/wiki/Safari_version_history
- 15.0: September 20, 2021
- 15.1: October 25, 2021
- 15.2: December 13, 2021
- 15.3: January 26, 2022
- 6~8 週くらいになった?
Updates
-
Safari 15.4 Beta Release Notes | Apple Developer Documentation
-
https://developer.apple.com/documentation/safari-release-notes/safari-15_4-release-notes
-
CSS
- Containment contain property
- Cascade Layers
accent-color
:has()
text-decoration-skip-ink
- small/large/dynamic viewport units (
svw
,svh
etc.) :focus-visible
ic
unitcalc()
math functions (sin
,cos
,tan
,log
etc.)- unprefix
appearance
,mask
,backface-visibility
,text-combine-upright
etc.
-
HTML
<dialog>
<img loading>
-
Web API
- BroadcastChannel
- ServiceWorker Navigation Preload
scroll-behavior
andScrollOptions
- Web Locks
- removed XSS Auditor
-
JavaScript
Object.hasOwn()
self.structuredClone()
Array.prototype.findLast()
andArray.prototype.findLastIndex()
at()
- Intl enhancements
-
Security
- CSP3 improvements
-
CSS
-
https://developer.apple.com/documentation/safari-release-notes/safari-15_4-release-notes
-
Release Notes for Safari Technology Preview 139 | WebKit
- https://webkit.org/blog/12193/release-notes-for-safari-technology-preview-139/
- Web Inspector
- CSS
-
:has()
- Added style invalidation for :disabled, :enabled, :valid, and :invalid (r287445, r287551)
-
Web Animations
- Added support for the animation shorthand property in the computed style (r287535)
-
Rendering
- Changed to pre-layout orthogonal children to compute the preferred logical width inside a flexbox (r287263)
- SVG
- WebAuthn
-
Web API
- Added support for using a user-specified preference before using the system's preferred color scheme (r287030)
-
JavaScript
- Aligned Array.prototype.toLocaleString to ECMA402 definition (r287560)
-
Content Security Policy
- Changed to always use UTF-8 encoded content when checking hashes (r287270)
- Implemented CSP strict-dynamic for module scripts (r287756)
-
Media
- Added MediaRecorder support for the bitsPerSecond option (r287613)
-
Service Workers
- Added full support for Service Worker interception of fetch requests with FormData body (r287612)
-
Web Extensions
- Added support for the redirect rule type in declarativeNetRequest, which requires host permissions to be granted for the host of the URL being redirected
- Added support for declarativeNetRequest.getMatchedRules, which requires host permissions to be granted to view the URLs of blocked resources
-
Release Notes for Safari Technology Preview 140 | WebKit
- https://webkit.org/blog/12255/release-notes-for-safari-technology-preview-140/
- Web Inspector
-
:has() Pseudo-Class
- Added support for :has(:not(foo)) (r288303)
- Avoided complex style invalidation with repeated DOM mutations (r288012, r287973)
-
CSS
- Added support for intrinsic sizes in flex-basis (r288113)
- Added support for intrinsic sizes to the flex shorthand (r288184)
- Added support for "missing"/"none" color components (r288143)
- Added support for interpolating colors with "missing"/"none" components via color-mix() (r288427)
- Added support for preloading of layered @import rules (r288099)
-
Web API
- Added support for FetchEvent.handled API for Service Workers (r287915)
- Enabled form.requestSubmit() (r288179)
-
Web Animations
- Added support for animation-composition CSS property (r288433)
- JavaScript
- WebAssembly
-
Dialog Element
- Added visibility: visible to modal dialogs in the user-agent stylesheet (r288233)
- HTML
- Media
-
WebAuthn
- Allowed single use of WebAuthn without user gesture for all relying parties (r287957)
-
Accessibility
- Exposed toggle buttons using role="button" as form controls (r288100)
- Improved support for aria-owns in ARIA trees (r288117)
-
Content Security Policy
- Improved handling of multiple policies (r288132)
-
Privacy
- Fixed an issue where a website may be able to track sensitive user information (r288078)
- SVG
- Scrolling
- Web Extensions
- The File System Access API with Origin Private File System | WebKit
- Introducing the Dialog Element | WebKit
- The Focus-Indicated Pseudo-class :focus-visible | WebKit
Position
- 特になし
Other
-
No, Apple Did Not Crowdfund :focus-visible in Safari - Eric's Archived Thoughts
- https://meyerweb.com/eric/thoughts/2022/01/24/no-apple-did-not-crowdfund-focus-visible-in-safari/
- Safari TP で
:focus-visible
が有効になったことを Apple の人がツイート - Igalia の貢献とクラウドファンディングについて言及したところ、 Apple が自分で実装せずにクラウドファンディングに頼ったと見られちょっと炎上
- Igalia の Eric Meyer が、 Apple が Igalia に実装を頼んだわけではないこと、 Open Prioritization プロジェクトの目的について改めて説明
Edge 動向
Stable: 98
Updates
- Introducing Enhanced Security for Microsoft Edge | Microsoft Browser Vulnerability Research
- Memory tooling improvements in DevTools for Retainers - Microsoft Edge Blog
- Unminifying function names in DevTools performance profiles - Microsoft Edge Blog
- Test IE mode in Microsoft Edge with Internet Explorer Driver - Microsoft Edge Blog
Chakra
Other
- Smarter Defaults by Paying Attention - text/plain
- MHTML in Chromium - text/plain
- Adding Protocol Schemes to Chromium - text/plain
- Microsoft Edge Add-ons: NEW features to improve extension discoverability - Microsoft Tech Community
WHATWG/W3C 動向
Draft
- Recommendation
- Proposed Recommendation
-
Candidate Recommendation
- CSS Conditional Rules Module Level 4
- CSS Color Adjustment Module Level 1
- Working Draft
-
First Public Working Draft
- First Public Working Draft: MediaStreamTrack Insertable Media Processing using Streams | W3C News
- First Public Working Draft: Incremental Font Transfer via Range Request | W3C News
-
Chartering
- Call for Participation: Accessible Rich Internet Applications Working Group; Join ARIA WG
- W3C invites implementations of CSS Color Adjustment Module Level 1 | W3C News
Other
TC39 動向
Meeting
- 2021-01
- 2022-03
Proposals Diff
New Proposals
Other
IETF 動向
WG
- IETF
-
httpwg
- https://lists.w3.org/Archives/Public/ietf-http-wg/
- https://github.com/httpwg/wg-materials/
-
Interim Minutes
- https://github.com/httpwg/wg-materials/blob/gh-pages/interim-22-02/minutes.md
- The Geohash HTTP Client Hint
- Retrofit Structured Fields for HTTP
- draft-ietf-httpbis-client-cert-field-01 - Client-Cert HTTP Header Field
- Working Group Last Call for draft-ietf-httpbis-binary-message-01
- DRAFT minutes from this week's interim from Mark Nottingham
- Protocol Action: 'Targeted HTTP Cache Control' to Proposed Standard
-
quicwg
- https://mailarchive.ietf.org/arch/browse/quic/
- https://github.com/quicwg/wg-materials
- draft-ietf-quic-multipath-00 - Multipath Extension for QUIC
- draft-ietf-avtcore-rfc7983bis-02 - Multiplexing Scheme Updates for QUIC
- draft-dawkins-avtcore-sdp-rtp-quic-00 - SDP Offer/Answer for RTP using QUIC as Transport
- draft-shi-quic-dtp-05 - Deadline-aware Transport Protocol
- webtrans
- tlswg
- wpack
- masque
- pearg
- privacypass
- dispatch
- secdispatch
-
Other
- draft-thomson-httpapi-date-requests-00 - Using The Date Header Field In HTTP Requests
- draft-pauly-privacypass-auth-scheme-00 - The Privacy Pass HTTP Authentication Scheme
Other
-
AUTH48 status page for C430 > RFC Editor
-
https://www.rfc-editor.org/auth48/C430
-
HTTP/3 と QPACK に割り当てられていた RFC 番号が変更
- HTTP3: 9113 -> 9114
- QPACK: 9114 -> 9204
- bcp56bis に RFC 9205 が割当てられた
- 9110 draft-ietf-httpbis-semantics-19.txt
- 9111 draft-ietf-httpbis-cache-19.txt
- 9112 draft-ietf-httpbis-messaging-19.txt
- 9114 draft-ietf-quic-http-34.txt
- 9163 draft-ietf-httpbis-expect-ct-08.txt
- 9180 draft-irtf-cfrg-hpke-12.txt
- 9193 draft-ietf-core-senml-data-ct-07.txt
- 9204 draft-ietf-quic-qpack-21.txt
- 9205 draft-ietf-httpbis-bcp56bis-15.txt
-
HTTP/3 と QPACK に割り当てられていた RFC 番号が変更
-
https://www.rfc-editor.org/auth48/C430
- AUTH48 for HTTP/3 and QPACK from Mike Bishop
CDN 動向
Cloudflare
- Announcing the public launch of Cloudflare's bug bounty program
Fastly
Other
セキュリティ動向
周辺動向
-
Welcome to Wolvic
- https://wolvic.com/
- Igalia が Mozilla Reality を fork したブラウザ実装
- WebXR にフォーカスしている
- Enter: Wolvic
- Amazon Prime Video が動画再生に WebAssembly を採用。再生デバイス上に Wasm VM をデプロイ、高フレームレートなど実現 - Publickey
- Minimum Standards for iOS Browser Competition - Infrequently Noted
- A Week to Define the Web for Decades - Infrequently Noted
- Server-Sent Events, WebSockets, and HTTP
- ヤフーの IE11 サポート終了の進め方 - Yahoo! JAPAN Tech Blog
イベント
-
2 月
- 1-3: httpwg interim
-
3 月
- 28-31: 89th meeting of Ecma TC39
- 19-25: IETF | IETF 113 Vienna
- 4 月
- 5 月
Wrap Up
-
Chrome
-
98
- COLRv1
-
99
- Cascade Layers
input.showPicker()
- Window Controls Overlay
-
Ship
- Autofill in ShadowDOM
AbortSignal.throwIfAborted()
- Network State Partitioning
- UA reduction phase 4 (MAJOR.0.0.0)
- Sec-CH-UA-WoW64
-
Prototype
- bfcache on Cache-Control: no-store
AbortSignal.timeout()
- Document Picture-in-Picture
-
Ready for Trial
- FedCM
-
Other
- Version 100 on March 29
-
98
-
Firefox
-
97
- CSS
cap
/ic
unit - Cascade Layers
scroll-gutter
- CSS
d
AbortSignal.throwIfAborted()
- CSS
-
Ship
- OffScreenCanvas (WebGL only) for Zoom
- Soft reload cache revalidation
-
Other
- SameSite=Lax デフォルト化のバックアウト
- Privacy Preserving Attributes for Advertising
-
97
-
Safari
-
15.4 Beta
-
CSS
- Containment
contain
property - Cascade Layers
:has()
- new viewport units
:focus-visible
- CSS
sin()
/cos()
/tan()
etc. - unprefix
- Containment
-
HTML
<dialog>
<img loading>
-
Web API
- BroadCastChannel
- Navigation Preload
- Web Locks
-
JavaScript
Object.hasOwn()
self.structuredClone()
Array.findLast()
/Array.findLastIndex()
at()
-
Security
- CSP3
-
CSS
- TP 139
-
TP 140
:has(:not(foo))
form.requestSubtmit()
- Origin Private File System
- Intro Dialog Element
-
Other
:focus-visible
のための Igalia のクラファンが Apple によるものという勘違い炎上
-
15.4 Beta
-
Edge
- 88 から Guard 系のセキュリティ強化
- IE を Selenium でテストする方法
- WHATWG/W3C
- TC39
-
IETF
-
HTTPWG interim
- Retrofit Structured Fields for HTTP
- The Geohash HTTP Client Hint
-
Auth48 で番号が変わった
- HTTP3: 9113 -> 9114
- QPACK: 9114 -> 9204
-
HTTPWG interim
- CDN 動向
- セキュリティ動向
-
周辺動向
- Igalia が Firefox Reality を Fork した Wolvic ブラウザ