|
Description:
|
|
# ep81 Monthly Web 202103
第 80 回のテーマは 2021 年 3 月の Monthly Web です。
### Chrome 動向
#### Stable: 89
#### Updates
- *Chromium Blog: Speeding up Chrome's release cycle*
- https://blog.chromium.org/2021/03/speeding-up-release-cycle.html
- https://developer.chrome.com/blog/faster-release-cycle/
- M94 から 6 週間ごとのリリースが 4 週間ごとになる
- さらに組み込み利用などにむけ 8 週間ごとの Extended Stable を並行リリース
- Extended もセキュリティ更新は 2 週間ごとにくる
- *Chromium Blog: Chrome 90 Beta: AV1 Encoder for WebRTC, New Origin Trials, and More*
- https://blog.chromium.org/2021/03/chrome-90-beta-av1-encoder-for-webrtc.html
- https://developers-jp.googleblog.com/2021/04/chrome-90-webrtc-av1.html
- AV1 Encoder
- Origin Trials
- New Origin Trials
- getCurrentBrowsingContextMedia()
- MediaStreamTrack Insertable Streams (a.k.a. Breakout Box)
- Subresource Loading with Web Bundles
- WebAssembly Exception Handling
- Completed Origin Trials
- WebXR AR Lighting Estimation
- Other Features in this Release
- CSS
- *aspect-ratio Interpolation*
- Custom State Pseudo Classes
- Implement 'auto' value for appearance and -webkit-appearance
- overflow: clip Property
- overflow-clip-margin Property
- *Permissions-Policy Header*
- Protect application/x-protobuffer via Cross-Origin-Read-Blocking
- Seeking Past the End of a File in the File System Access API
- StaticRange Constructor
- Support Specifying Width and Height on `` Elements for ``
- WebAudio: OscillatorOptions.periodicWave is Not Nullable
- JavaScript
- *Relative Indexing Method for Array, String, and TypedArrays*
- Deprecations, and Removals
- Remove Content Security Policy Directive 'plugin-types'
- Remove WebRTC RTP Data Channels
- Return Empty for navigator.plugins and navigator.mimeTypes
- *What's New In DevTools (Chrome 90)*
- https://developer.chrome.com/blog/new-in-devtools-90/
- *New CSS flexbox debugging tools*
- *New Core Web Vitals overlay*
- Issues tab updates
- Moved issue count to the Console status bar
- Report Trusted Web Activity issues
- Format strings as (valid) JavaScript string literals in the Console
- New Trust Tokens pane in the Application panel
- Emulate the CSS color-gamut media feature
- Improved Progressive Web Apps tooling
- New Remote Address Space column in the Network panel
- Performance improvements
- Display allowed/disallowed features in the Frame details view
- *New SameParty column in the Cookies pane*
- Deprecated non-standard fn.displayName support
- Deprecation of Don't show Chrome Data Saver warning in the Settings menu
- Experimental features
- Automatic low-contrast issue reporting in the Issues tab
- Full accessibility tree view in the Elements panel
- *Chromium Blog: Mitigating Side-Channel Attacks*
- https://blog.chromium.org/2021/03/mitigating-side-channel-attacks.html
- Sec-Fetch
- CORP
- Frame-Option
- COOP
- CORB
- X-Content-Type-Option
- などを組み合わせると Side Channel 攻撃対策になるという話
- Chromium Blog: Advanced memory management and more performance improvements in M89
- https://blog.chromium.org/2021/03/advanced-memory-management-and-more.html
- *Chromium Blog: A safer default for navigation: HTTPS*
- https://blog.chromium.org/2021/03/a-safer-default-for-navigation-https.html
- M90 から URL の直接入力で HTTPS がデフォルトになる
- だめだったら HTTP にフォールバック
- localhost などは別
- *Google Online Security Blog: A Spectre proof-of-concept for a Spectre-proof web*
- https://security.googleblog.com/2021/03/a-spectre-proof-of-concept-for-spectre.html
- https://leaky.page/
- これまであまり公開されてこなかった Spectre の DEMO が公開された
- 2020 Q4 Summary from Chrome Security
- https://groups.google.com/a/chromium.org/g/security-dev/c/lSebbMvUBeY/m/yPa1YYOrBAAJ
#### Intents
- *Ship: Critical-CH, a Client Hint reliability mechanism*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/V3Yo20_ZZLc
- Ship: Single `` for :host(), :host-context()
- https://groups.google.com/a/chromium.org/g/blink-dev/c/ztanzClftBA
- *Ship: Import Assertions and JSON Modules*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/dppzCKHI874
- Ship: Block HTTP port 554
- https://groups.google.com/a/chromium.org/g/blink-dev/c/kyVo08TtOp8
- *Ship: Class static initializer blocks*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/pzy_Z3AwmaY/m/FeXzN3hnAwAJ
- 別で Temporal の Position を Mozilla に聞いた
- Anne "反対だったら Stage 3 になる前に止めてるからいちいち聞くな"
- そのコメントが引用されて「mozilla は stage 3 には全部 positive だ」と使われている
- Ship: GravitySensor API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/uV1gwoX2fMY/m/vWrj0BA6AwAJ
- Ship: adaptivePtime property for RTCRtpEncodingParameters
- https://groups.google.com/a/chromium.org/g/blink-dev/c/dsuUWMg2eSk/m/QCDH_i0GBAAJ
- Ship: Align performance API timer resolution to cross-origin isolated capability
- https://groups.google.com/a/chromium.org/g/blink-dev/c/k6M3HJiqmkE/m/zgaVyKfnAwAJ
- Ship: CTAP2 credBlob extension
- https://groups.google.com/a/chromium.org/g/blink-dev/c/Vfg2o0peyYg/m/Vp0h8i5VBQAJ
- Ship: WebOTP API: cross-origin iframe support
- https://groups.google.com/a/chromium.org/g/blink-dev/c/clPEmywkX4w/m/LbIZZv-fBQAJ
- Ship: Managed configuration for Web Applications
- https://groups.google.com/a/chromium.org/g/blink-dev/c/xPQYlcf-N-0/m/se6xRssBCAAJ
- *Ship: inert attribute*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/_P5bxPTo6XE/m/1tqu3dzCBwAJ
- Ship: Clear window name for cross-site navigations that switches browsing context group
- https://groups.google.com/a/chromium.org/g/blink-dev/c/86VeIi5sZzc/m/fPOAbuRHCAAJ
- Ship: Suggested file name and location for the File System Access API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/2JspuQ0dj7I/m/GQkji2pCCAAJ
- Ship: Dedicated workers as service worker clients
- https://groups.google.com/a/chromium.org/g/blink-dev/c/FhGd1AqB3ng/m/f0_yXSGNCAAJ
- Implement and Ship: Honor media HTML attribute for link icon
- https://groups.google.com/a/chromium.org/g/blink-dev/c/OwUSsHWokpA
- Prototype and Ship: ES Modules for service workers ('module' type option)
- https://groups.google.com/a/chromium.org/g/blink-dev/c/iJaPCv9HOrE/m/MRJDqCRvAgAJ
- *Prototype: document.prerendering*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/8R6kvHjiqdw
- もともと `document.visibilityState == 'prerendering'` が Ship されていた
- しかし `hidden` でも `prerendering` な場合もあるため Unship
- 代わりにに `document.prerendering` が追加された
- prerender2 の準備っぽい
- Prototype: App history API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/R1D5xYccqb0
- *Prototype: First "Locally-Executed Decision over Groups" Experiment (FLEDGE)*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/w9hm8eQCmNI
- *Prototype: Media Session API: Video conferencing actions*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/0WrBY77sfh0/m/78tjw5GsAwAJ
- Prototype: Note taking new note URL
- https://groups.google.com/a/chromium.org/g/blink-dev/c/uJ1tuT7HTd8/m/gP8ixHXiBQAJ
- Prototype: Lock Screen API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/006tkVwj1yw/m/7i4d1XXiBQAJ
- Prototype: JPEG XL decoding support (image/jxl) in blink
- https://groups.google.com/a/chromium.org/g/blink-dev/c/WjCKcBw219k/m/BK9qXyz1BwAJ
- *Prototype: Compute Pressure*
- https://groups.google.com/a/chromium.org/g/blink-dev/c/LTIRZ24C5Os/m/BPSeJ8y0BwAJ
- Prototype: ALPS and ACCEPT_CH HTTP/2 and HTTP/3 frames
- https://groups.google.com/a/chromium.org/g/blink-dev/c/DJEygGmiSz4/m/UGcmivJBCAAJ
- Experiment: Secure Payment Confirmation V2
- https://groups.google.com/a/chromium.org/g/blink-dev/c/6Dd00NJ-td8
- Experiment: Federated Learning of Cohorts
- https://groups.google.com/a/chromium.org/g/blink-dev/c/MmijXrmwrJs
- Experiment: Viewport-height client hint
- https://groups.google.com/a/chromium.org/g/blink-dev/c/Q2wcqY2UyNs
- Experiment: Subresource loading with Web Bundles
- https://groups.google.com/a/chromium.org/g/blink-dev/c/9CwkzaF_eQ4
- Extend Origin Trial: WebCodecs
- https://groups.google.com/a/chromium.org/g/blink-dev/c/55QViQdz5Rc/m/UxytBsZ5AgAJ
- Experiment: File Handling API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/Fb-NdCvbgmU/m/68nHOaFPBQAJ
- Experiment: Handwriting Recognition API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/o8RqlFwZItQ/m/zDlYHEhYBAAJ
- Experiment: WebXR Plane Detection API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/51Yd2t6quik/m/6AWd7G07CAAJ
- Change:
- Unship:
- Remove: EME persistent-usage-record session
- https://groups.google.com/a/chromium.org/g/blink-dev/c/bTLNlcpbGOg
- Remove: webkitBeforeTextInserted & webkitEditableContentChanged JS events
- https://groups.google.com/a/chromium.org/g/blink-dev/c/QlEJAuX9pGk/m/a9c_hmgdAgAJ
- Ready for Trial: JPEG XL decoding support (image/jxl) in blink
- https://groups.google.com/a/chromium.org/g/blink-dev/c/NttEYOmuB5U/m/Hqojb5WdAwAJ
- Ready for Trial: Sanitizer API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/OrWQnXVQJ0A/m/TbF-0Dw3BQAJ
- PSA: CSS property 'font-size-adjust' will no longer be a Web Platform Experimental Feature
- https://groups.google.com/a/chromium.org/g/blink-dev/c/OCDD4-vVbQs/m/3fE0ufytBQAJ
- FYI: DNS-over-HTTPS (DoH) support coming soon to Linux
- https://groups.google.com/a/chromium.org/g/blink-dev/c/5zF0xa0rHFg/m/h5xNvZX8BwAJ
- Action required: You're invited to BlinkOn 14 in 1H 2021!
- https://groups.google.com/a/chromium.org/g/blink-dev/c/E0-ZogbHoH8/m/mG0NvQQNBAAJ
- [blink-dev] Reminder - action required: You're invited to BlinkOn 14 in 1H 2021!
- https://groups.google.com/a/chromium.org/g/blink-dev/c/D6Y0OLYcjpk/m/Rx3Iu6ubBwAJ
- Call for lightning talks at BlinkOn 14!!
- https://groups.google.com/a/chromium.org/g/blink-dev/c/-P5UnWO6-yo/m/KjKoRCK7BwAJ
#### V8
- Faster releases · V8
- https://v8.dev/blog/faster-releases
- Chrome と同じく 4 週間
- Extended Stable も提供
- V8 release v9.0 · V8
- https://v8.dev/blog/v8-release-90
#### Other
- web.dev
- Agrofy: A 70% improvement in LCP correlated to a 76% reduction in load abandonment
- https://web.dev/agrofy/
- *How CLS optimizations increased Yahoo! JAPAN News's page views per session by 15%*
- https://web.dev/yahoo-japan-news/
- JavaScript: What is the meaning of this?
- https://web.dev/javascript-this/
- *Debugging layout shifts*
- https://web.dev/debugging-layout-shifts/
- URL が変わった? => debug-layout-shifts
- How Wix improved website performance by evolving their infrastructure
- https://web.dev/wix/
- Vodafone: A 31% improvement in LCP increased sales by 8%
- https://web.dev/vodafone/
- Building a Settings component
- https://web.dev/building-a-settings-component/
- Mitigate cross-site scripting (XSS) with a strict Content Security Policy (CSP)
- https://web.dev/strict-csp/
- Lowe's website is among fastest performing e-commerce websites
- https://web.dev/lowes/
- *Compat2021: Eliminating five top compatibility pain points on the web*
- https://web.dev/compat2021/
- 互換性に関する調査から、特に 5 つの問題にフォーカスする
- CSS Flexbox
- CSS Grid
- CSS position: sticky
- CSS aspect-ratio property
- CSS transforms
- What is Federated Learning of Cohorts (FLoC)?
- https://web.dev/floc/
- *Best practices for cookie notices*
- https://web.dev/cookie-notice-best-practices/
- *Debug Web Vitals in the field*
- https://web.dev/debug-web-vitals-in-the-field/
- Debug layout shifts
- https://web.dev/debug-layout-shifts/
- Adding Rank Magnitude to the CrUX Report in BigQuery.
- https://developers.google.com/web/updates/2021/03/crux-rank-magnitude
- google developer blog
- https://developers.googleblog.com/
- *Clarifications about the SharedArrayBuffer object message*
- https://developers.google.com/search/blog/2021/03/sharedarraybuffer-notes
- *New resources for video SEO \| Google Search Central Blog*
- https://developers.google.com/search/blog/2021/03/new-resources-for-video-seo
- Make your videos available on the web
- Provide structured data with VideoObject markup
- Include high-quality thumbnails
- Submit a video sitemap
- Make video content files accessible
- Google Developers Blog: Modernizing your Google App Engine applications
- https://developers.googleblog.com/2021/03/modernizing-your-google-app-engine-applications.html
- google developer japan blog
- https://developers-jp.googleblog.com/
- chromium blog
- https://blog.chromium.org/
- canary
- https://www.chromium.org/getting-involved/dev-channel
- amp
- Optimizing your AMP page experience for Core Web Vitals – The AMP Blog
- https://blog.amp.dev/2021/03/23/optimizing-your-amp-page-experience-for-core-web-vitals/
- *Privacy, sustainability and the importance of "and"*
- https://blog.google/products/chrome/privacy-sustainability-and-the-importance-of-and/
- FLoC の Origin Trial を一部地域で開始するというアナウンス
- Australia, Brazil, Canada, India, Indonesia, Japan, Mexico, New Zealand, Philippines and the U.S
- あわせて https://www.privacysandbox.com/ も公開
- *Android の Chrome と WebView で障害*
- https://twitter.com/googlejapan/status/1374269162961268741
- Google Japan on Twitter: "Android アプリが一部のユーザーで強制終了する問題を修正しました。不具合が解消しない場合は、 Google Play ストアから Android システムの WebView と Google Chrome をアップデートしてください。ご迷惑をおかけした皆さまにお詫び申し上げます。" / Twitter
### Firefox 動向
#### Stable: 87.0
#### Updates
- In March, we see Firefox 87 - Mozilla Hacks - the Web developer blog
- https://hacks.mozilla.org/2021/03/in-march-we-see-firefox-87/
- Firefox 87 for developers - Mozilla \| MDN
- https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/87
- Firefox 87.0, See All New Features, Updates and Fixes
- https://www.mozilla.org/en-US/firefox/87.0/releasenotes/
- Firefox 87 trims HTTP Referrers by default to protect user privacy - Mozilla Security Blog
- https://blog.mozilla.org/security/2021/03/22/firefox-87-trims-http-referrers-by-default-to-protect-user-privacy/
- デフォルトの Referrer が strict-origin-when-cross-origin に
- *Firefox 87 introduces SmartBlock for Private Browsing - Mozilla Security Blog*
- https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/
- ETP の Strict mode ではリソースの読み込みをブロックしている
- ブロックされたスクリプトに依存したページが読めない問題があった
- ページが表示されるように shim を用意し提供
- These Weeks in Firefox: Issue 89 – Firefox Nightly News
- https://blog.nightly.mozilla.org/2021/03/12/these-weeks-in-firefox-issue-89/
- These Weeks in Firefox: Issue 90 – Firefox Nightly News
- https://blog.nightly.mozilla.org/2021/03/25/these-weeks-in-firefox-issue-90/
#### Intents
- Ship:
- Enable State Partitioning in Private Browsing Mode
- https://groups.google.com/g/mozilla.dev.platform/c/-S-28sBh9-I/m/hCT3m7utAwAJ
- *Top Level Await*
- https://groups.google.com/g/mozilla.dev.platform/c/YcLW7hzQp8U/m/Oe0mS5BoAwAJ
- PerformanceEventTiming API
- https://groups.google.com/g/mozilla.dev.platform/c/eLXz442Icxs/m/KKqM5_KuAQAJ
- Honoring bogo-XML declaration for character encoding in text/html
- https://groups.google.com/g/mozilla.dev.platform/c/-DF65QZSmzs/m/fxnzasFoBgAJ
- sha2 windows signing
- https://groups.google.com/g/mozilla.dev.platform/c/2bTkUj6LmDs/m/k9mbK-02AgAJ
- *AbortSignal.abort()*
- https://groups.google.com/g/mozilla.dev.platform/c/23hnabutNlA/m/VV6OTp12AgAJ
- AV1 Still Image File Format (AVIF)
- https://groups.google.com/g/mozilla.dev.platform/c/eWIa9XXxHsc/m/Wzs20e0kAAAJ
- *aspect-ratio property*
- https://groups.google.com/g/mozilla.dev.platform/c/selXOOzcRkU/m/GKxYv-0kAAAJ
- Prototype and Ship
- Support `document.execCommand` and related API in `` and ` |