ep115 Monthly Platform 202302

published_at
2023-03-06
guest
@myakura
toc
headings

Theme

第 115 回のテーマは 2022 年 2 月の Monthly Platform です。

Show Note

Chrome 動向

Stable: 110

Updates

  • New in Chrome 110
  • What's New In DevTools (Chrome 110)
    • https://developer.chrome.com/en/blog/new-in-devtools-110/
    • Clearing Performance Panel on reload
    • Recorder updates
      • View and highlight the code of your user flow in the Recorder
      • Customize selector types of a recording
      • Edit user flow while recording
    • Automatic in-place pretty print
    • Better syntax highlight and inline preview for Vue, SCSS and more
    • Ergonomic and consistent Autocomplete in the Console
    • Miscellaneous highlights
  • Chrome 111 beta
    • https://developer.chrome.com/en/blog/chrome-111-beta/
    • CSS
      • New CSS color types and spaces
      • The color-mix() function
      • CSS Selectors 4 Pseudo-Class :nth-child(an + b of S)
      • CSS root font units
      • CSS trigonometric functions
      • Style Container Queries for CSS Custom Properties
      • The baseline-source property
    • Web APIs
      • The window-management permission and permission policy string
      • Media Session API: Presenting slides actions
      • Resizable ArrayBuffer and growable SharedArrayBuffer
      • Speculation rules: referrer policy key
      • Streaming declarative shadow DOM
      • View Transitions API
      • WebRTC Scalable Video Coding extensions
      • WebXR enabledFeatures attribute
    • Origin trials in progress
      • Deprecation trial for removal of the connect-src CSP bypass in Web Payment API
      • Document Picture-in-Picture
    • Deprecations and removals
      • Remove PaymentInstruments
      • Remove connect-src CSP bypass in Web Payment API
      • Merchant identity in canmakepayment event
  • What's New in DevTools (Chrome 111)
    • https://developer.chrome.com/en/blog/new-in-devtools-111/
    • Debugging HD color with the Styles pane
    • Enhanced breakpoint UX
    • Customizable Recorder shortcuts
    • Better syntax highlight for Angular
    • Reorganize caches in the Application panel
    • To better facilitate debugging, DevTools now supports evaluating expressions with private class members.

Intents

V8

Other

Firefox 動向

Stable: 110.0.1

Updates

Intents

Other

Safari 動向

Stable: 16.3

Updates

  • Release Notes for Safari Technology Preview 163
    • https://webkit.org/blog/13839/release-notes-for-safari-technology-preview-163/
    • Masonry Layout
      • Enabled Masonry layout by default (258694@main, 259308@main)
    • :has() pseudo-class
      • Made :has() require valid selectors for all selectors in the selector list (258712@main)
    • CSS
      • Added support for leading-trim (258766@main)
    • Web API
      • Enabled default ARIA for custom elements (258743@main)
      • Implemented StorageManager.estimate() (258610@main)
      • Added support for Ed25519 keys to Web Crypto (259277@main, 259489@main)
      • Updated Content Security Policy when the header is sent as part of a 304 response (258931@main)
  • Release Notes for Safari Technology Preview 164
  • Safari 16.4 Beta Release Notes | Apple Developer Documentation
    • https://developer.apple.com/documentation/safari-release-notes/safari-16_4-release-notes
    • CSS
      • Added support for :user-invalid and :user-valid pseudo-classes.
      • Added support for currentColor with color-mix().
      • Added support for margin-trim.
      • Added support for outline following the curve of border-radius.
      • Added support for CSS Properties and Values API with support for @property.
      • Added support for CSS relative color syntax.
      • Added support for new named colors to match CSS Color Level 4.
      • Added support for the :dir() pseudo-class.
      • Added support for the :modal pseudo-class to match fullscreen elements.
      • Added support for the lh and rlh units.
      • Added support for the range syntax from Media Queries level 4.
      • Added support for the unprefixed :fullscreen pseudo-class.
      • Added support for the unprefixed absolute size keyword xxx-large.
    • CSS API
      • Added support for CSS Typed OM.
      • Added support for constructible and adoptable CSSStyleSheet objects.
      • Added support for input validation for CSSColorValues as part of CSS Typed OM.
    • Custom Elements
      • Added support for Declarative Shadow DOM.
      • Added support for ElementInternals.
      • Added support for form-associated custom elements.
      • Added support for Imperative Slot API.
    • JavaScript
      • Added support for RegExp lookbehind assertions.
      • Added support for Array.fromAsync.
      • Added support for Array#group and Array#groupToMap.
      • Added support for Atomics.waitAsync .
      • Added support for import.meta.resolve().
      • Added support for Intl.DurationFormat.
      • Added support for String#isWellFormed and String#toWellFormed.
      • Added support for class static initialization blocks.
      • Added support for growable SharedArrayBuffer.
      • Added support for Import Maps.
      • Added support for resizable ArrayBuffer.
      • Added support for using Symbols in WeakMap and WeakSet.
    • HTML
      • Added support for lazy loading iframes.
    • HTTP
      • Added support for the Clear-Site-Data HTTP header.
    • Images
      • Added support for AVIF on macOS Monterey and macOS Big Sur.
    • Lockdown Mode
      • Disabled binary fonts in the CSS Font Loading API.
      • Disabled Cache API.
      • Disabled CacheStorage API.
      • Disabled ServiceWorkers.
      • Disabled SVG fonts.
      • Disabled the WebLocks API.
      • Disabled WebSpeech API.
      • Fixed common cases of missing glyphs due to custom icon fonts.
    • Media
      • Added improvements to audio quality for web video conferencing.
      • Added support for a subset of the AudioSession Web API.
      • Added support for AVCapture virtual cameras.
      • Added support for inbound rtp trackIdentifier stat field.
      • Added support for video stats overlay with developer tools enabled.
      • Added support for VTT-based extended audio descriptions.
      • Added support to allow a site to provide an "alternate" URL to be used during AirPlay.
      • Added video-only support for Web Codecs.
    • Text
      • Added support for font-size-adjust.
    • WebAssembly
      • Added support for WASM SIMD.
    • Web Animations
      • Added animation support for align-tracks and justify-tracks.
      • Added support for KeyframeEffect.iterationComposite.
      • Added support for animating custom properties.
      • Added support for blending of mismatched filter lists.
    • Web API
      • Added support for 2D-only OffscreenCanvas.
      • Added support for gamepad.vibrationActuator.
      • Added support for a submitter parameter in the FormData constructor.
      • Added support for COEP violation reporting.
      • Added support for COOP/COEP navigation violation reporting.
      • Added support for Fetch Initiator.
      • Added support for Fetch Metadata Request Headers.
      • Added support for importing compressed EC keys in WebCrypto.
      • Added support for loading scripts for nested workers.
      • Added support for non-autofill credential type for the autocomplete attribute.
      • Added support for revoking Blob URLs across same-origin contexts.
      • Added support for Scroll to Text Fragment
      • Added support for Service Workers and Shared Workers to the Permissions API.
      • Added support for the isComposing attribute on InputEvent.
      • Added support for the Compression Streams API.
      • Added support for the Notification API in dedicated workers.
      • Added support for the Reporting API.
      • Added support for the Screen Orientation API.
      • Added support for the Screen Wake Lock API.
      • Added support for the termination of nested workers.
      • Added support for the unprefixed Fullscreen API on macOS and iPadOS.
      • Added support for the UserActivation API.
      • Added support for transfer size metrics for first parties in ServerTiming and PerformanceResourceTiming.
    • Added support to the Permissions API for dedicated workers.
    • Web Apps
      • Added support for Web Push in web apps saved to the home screen on iOS.
      • Added support for the "id" member in Web App Manifest files.
      • Added support for the Badging API.
      • Added support for third-party browsers to offer Add to Home Screen from the Share menu.
  • Web Push for Web Apps on iOS and iPadOS
  • ElementInternals and Form-Associated Custom Elements
  • Allowing Web Share on Third-Party Sites
  • Pushing Interop Forward in 2023
  • Try out CSS Nesting today
  • Declarative Shadow DOM
  • The User Activation API

Other

Edge 動向

Stable: 110

Updates

Chakra

Other

WHATWG/W3C 動向

Draft

Other

TC39 動向

  • ミーティングが終わって Minutes が出た月のみ実施
  • それ以外の月はスキップ

Meeting

  • 2023/01
  • TC39 Minutes を読む
  • Problems with import assertions for module types and a possible general solution + downgrade to Stage 2
    • import assertions で assert { type: "css" } とかしても実際は script として読み込まれる
    • すると CSP の script-src が適用されるが、それでいいのか?
    • という HTML の issue から始まった
    • assert が制御してるのは読み込みと評価のみで、どう取得するかは定義してない
    • これをどうするか
    • with とか as とかで色々構文を直す? 構文は同じで semantics だけ変える?
    • Stage 3 -> 2 に落として、構文(assert)は考え直すことに
  • Prototype pollution mitigation / Symbol.proto
    • https://github.com/tc39/proposal-symbol-proto
    • Prototype 汚染攻撃を防ぎたい
    • Prototype に文字列でアクセスできなくするモードを用意する
    • アクセスしたい場合はシンボルを使う
    • 導入方法は
      • 1. HTTP ヘッダ
      • 2. "use secure-mode" か Object.enableSecureMode()
      • 3. 一回でも Symbol.proto/constructor を呼んだら
    • Stage 1
  • A procedure for multiple active supporters in committee to achieve consensus
    • コンセンサスのとり方を変えよう
    • 現状は強い反対意見のあるものだけが表面化しがち
    • だれも反対してないものもあるが、それが興味がないだけか、賛成なのかはっきりしない
    • そのへんをはっきりさせつつ、コンセンサスの取り方を how-we-work として明確にしよう

Proposals Diff

New Proposals

Other

IETF 動向

  • RSS が軒並み止まっていくので追うのが難しくなってる。
  • ML は RSS がないものもあって日常的にスレッドを全部追うのが難しい
  • いくつかの WG に絞り、ミーティングベースで追いかける感じにする
  • それ以外は試行錯誤中

WG

Other

CDN 動向

Cloudflare

Fastly

Other

セキュリティ動向

  • 当サイトへの不正アクセスによる個人情報漏えいに関するお詫びとお知らせ|ソースネクスト
    • https://www.sourcenext.com/support/i/2023/0214_info/
    • 原因

    • 弊社が運営するサイトのシステムの一部の脆弱性を利用した第三者の不正アクセスにより、ペイメントアプリケーションの改ざんが行なわれたため。

  • ペイメントアプリケーションの改ざん(Web スキミング)に関する概説と対策手法について - セキュリティ研究センターブログ

周辺動向

イベント

Wrap Up

  • Chrome
    • 110
      • :picture-in-picture
      • iframe credentialless
    • DevTools 110
      • Clearing Performance Panel on reload
    • 111
      • new CSS color features
      • :nth-child( of S )
      • Style container queries for Custom props
      • Streaming Declarative Shadow DOM
      • View Transitions API
      • Document Picture-in-Picture Origin trial
    • DevTools 111
      • evaluating expressions with private class members
    • Ship
      • CSS overflow/update media features
      • CSS headline balancing
      • change beforeunload handler dialog condition
      • Headers.getSetCookie()
      • remove Authorization header upon cross-origin redirect
      • Least Restrictive CSP (prefetch-src removal)
    • Prototype
      • CSS top-layer property
      • Long Animation Frame Timing (LoAF)
      • Interoperable Private Attribution (by Meta)
    • Experiment
    • Deprecate and Remove
      • CSP block-all-mixed-content directive
      • CSP prefetch-src directive
      • shadowroot attribute
    • other intents
      • iframe render throttling
    • web.dev
      • Interop 2023
      • Learn Images/Privacy/HTML
    • Google Developer Blog
      • TrustCor revocation
      • Chromium + Rust
    • Chrome Developers
      • soft navigation
      • CrUX History API
      • Style Quereis
      • UA reduction
      • CSS anchor positioning
      • Lighthouse 10 (TTI → CLS)
    • Chromium blog
    • other blogs
    • other
      • remove navigation to web-bundles
      • Root Program Policy 更新
  • Firefox
    • 110
      • Container Queries (style)
      • AsyncIterator on ReadableStream
    • Ship
      • forced-color-adjust
      • linear() easing function
    • Prototype
    • other intents
    • other
      • SpiderMonkey で Import Maps の解説
      • MDN と Open Web Docs ミーティング
  • Safari
    • TP 163
      • CSS Masonry layout
      • unforgiving :has()
      • CSS leading-trim
      • ARIA for Custom Elements
    • TP 164
      • Disabled Import Assertions
      • Clear-Site-Data
    • Safari 16.4 Beta
      • CSS
        • :user-valid/:user-invalid
        • margin-trim
        • @property
        • Media Queries range syntax
        • Typed OM
      • Custom Elements
        • Declarative Shadow DOM
        • ElementInternals
      • JavaScript
        • RegExp lookbehind assertions
        • Array.fromAsync
        • Array.group
        • import.meta.resolve()
        • String.isWellFormed
        • Import Maps
      • HTML lazyloading iframes
      • Clear-Site-Data
      • AVIF on Monterey/Big Sur
      • Web API
        • 2D OffscreenCanvas
        • Scroll to Text Fragment
        • Compression Streams
        • Reporting API
        • User Activation API
        • Web Push for iOS
        • Badging API
    • blog
      • iOS16.4 の Web Push について。ホーム追加必須など。
      • Interop 2023 の紹介
      • Declarative Shadow DOM の解説
      • User Activation API の解説
    • other
      • Alex Russel による Safari 16.4 への Admission ブログ
  • Edge
    • Edge のサイドバーに Bing チャットを埋め込む
    • Interop のアナウンス
    • .office が HSTS Preload に入り MS の Intra サイトが壊れた話
    • Eric Rawrense 先生の半生ブログ
  • W3C/WHATWG
    • Spec
      • CSS Box Model Module Lv3
    • Other
      • 新しい W3C サイトのベータ公開
      • Permission Workshop のレポート
      • 台湾デジタル発展部が W3C 参加
  • TC39
    • import assertion の assert が取得方法を定義してないことにより見直しで Stage 2 に down
    • Prototype 汚染を防ぐために文字列アクセスできなくするモードの提案
    • コンセンサスの取り方の見直しとドキュメント化
  • IETF
    • やり方の見直し
  • CDN 動向
    • 1.1.1.1 での Rust / WASM の利用
    • Cloudflare と Fastly が Fediverse の話
    • Fastly が GoDaddy と Cross Root で CA 参加
  • セキュリティ動向
    • ソースネクストでの Web スキミングによる漏洩報告と解説
  • 周辺動向
    • Hixi による新しい Web 技術スタック(ほぼ Flatter for Web)の話
    • ShadowDOM によるアクセシビリティ支援技術の影響について
    • Brave に入る HTTPS by Default 機能と、非対応ドメインリストについて
    • img 要素が提案されてから 30 年経った
    • mnot 先生による meta への「Platform を作るのは簡単じゃないよ」って話