📝
Weekly Web Notes 20210305-20210311
Meta
- https://twitter.com/arayaryoma でツイートしていたもの + α
- 毎週木曜に新しい投稿を作る予定
Chrome
- Chromium Blog: Speeding up Chrome's release cycle https://blog.chromium.org/2021/03/speeding-up-release-cycle.html
- M94からChrome Stableのリリースサイクルを6週間ごとから4週間ごとに変更する
- release channelに新たにExtended Stable を追加する。
- 2週間ごとに重要な問題を修正するためのリリースがされるが、Stableでリリースされている新機能などは入らない
- M94の次のExtended StableのバージョンはM96
- V8からも記事が出ている: Faster releases · V8 https://v8.dev/blog/faster-releases
- Adding Rank Magnitude to the CrUX Report in BigQuery. | Web
https://developers.google.com/web/updates/2021/03/crux-rank-magnitude- 2021年のデータセットからBigQueryのCrUX reportに試験的に新たなメトリクス rank_magnitude を導入する
- 人気度(popularity)が上位1000, 10000, 100000 ... のorigin
- 例えば上位1000に入っているoriginのうちFCPが1秒未満なのは53.6% のような分析が可能
- master to main branch migration for chromium/src repo. Creating the main branch on April 6th.
https://groups.google.com/a/chromium.org/g/blink-dev/c/3aVsmtmIhc4- chromium/src の main branch が
master
からmain
へ - 4/6 に main branch が作られる。master は main と同期される
- 7/20 に master branchをstaleしてあつかい、一時的に削除しツールなどへの影響をみる。
- その後master branchを完全に削除
- chromium/src の main branch が
Intents
Prototype
- Intent to Prototype: First "Locally-Executed Decision over Groups" Experiment (FLEDGE)
https://groups.google.com/a/chromium.org/g/blink-dev/c/w9hm8eQCmNI- Explainer: https://github.com/WICG/turtledove/blob/master/FLEDGE.md
- ユーザーが今までアクセスしたページを分析し、ユーザーの興味関心がある広告を出すための仕組みを、今までのように広告サーバーで持つのではなくブラウザで保持しAPIを提供するための試験的な取り組み
- Intent to Remove: EME persistent-usage-record session
https://groups.google.com/a/chromium.org/g/blink-dev/c/bTLNlcpbGOg- Encrypted Media Extensions (EME) persistent-usage-record session をremove
- もともとはNetflixから提案されていてM86でshipされていたが、現在Netflixも利用していなく、他のサイトも使っていない
- W3C の WG でもdraftを削除することに意義がなかった
Experiment
- Intent to Experiment: Viewport-height client hint https://groups.google.com/a/chromium.org/g/blink-dev/c/Q2wcqY2UyNs
- Sec-CH-Viewport-Height header field でviewport の hieghtをCHとして伝える
- window.innerHeight の値であるべき
- Intent to Experiment: Subresource loading with Web Bundles
https://groups.google.com/a/chromium.org/g/blink-dev/c/9CwkzaF_eQ4
Ship
-
Intent to Ship: Critical-CH, a Client Hint reliability mechanism https://groups.google.com/a/chromium.org/g/blink-dev/c/V3Yo20_ZZLc
-
Intent to Ship: Single
<compound-selectr>
for :host(), :host-context()
https://groups.google.com/a/chromium.org/g/blink-dev/c/ztanzClftBA-
:host()
,:host-context()
に渡す引数を<compound-selector-list>
から<compound-selector>
に変更 - specに従うようになる
-
-
Intent to Ship: Import Assertions and JSON Modules
https://groups.google.com/a/chromium.org/g/blink-dev/c/dppzCKHI874- Import Assertion(Stage 3)
- JSON modules(Stage 3)
-
Intent to Ship: Block HTTP port 554
https://groups.google.com/a/chromium.org/g/blink-dev/c/kyVo08TtOp8- 554 portへのアクセスをブロック
- エンタープライズユーザーからの申し出により554 port のブロックを解除していたが、議論に決着がつきブロックを再開
Origin Trials
New Active
- Storage Foundation API
https://developer.chrome.com/origintrials/#/view_trial/2916080758722396161 - Canvas color management https://developer.chrome.com/origintrials/#/view_trial/2195504818343116801
Firefox
- WebGPU progress – Mozilla Gfx Team Blog
https://mozillagfx.wordpress.com/2021/03/10/webgpu-progress/- WebGPU の仕様策定と実装の現状
Intents
Prototype
-
Intent to prototype: fit-content() function
https://groups.google.com/g/mozilla.dev.platform/c/K10xFE4xF58-
fit-content
に引数 (<length-percentage>
) を渡せる
-
-
Intent to prototype: Honoring bogo-XML declaration for character encoding in text/html
https://groups.google.com/g/mozilla.dev.platform/c/NtgfaHffE-8
Ship
- Intent to prototype and ship: ruby-position: alternate
https://groups.google.com/g/mozilla.dev.platform/c/paiMEal9m4Q-
ruby-position: alternate
を実装する - https://drafts.csswg.org/css-ruby-1/#rubypos
-
- Intent to ship: Return pixel deltas in wheel event if deltaMode is not checked by authors
https://groups.google.com/g/mozilla.dev.platform/c/fUXLgaSoeLI - Intent to ship: aspect-ratio property
https://groups.google.com/g/mozilla.dev.platform/c/selXOOzcRkU- aspect-ratio propertyのサポートをship
- Intent to Ship: AV1 Still Image File Format (AVIF)
https://groups.google.com/g/mozilla.dev.platform/c/eWIa9XXxHsc- AVIF のサポートを88でship
Unship / Remove
- Intent to remove intl.uidirection pref https://groups.google.com/g/mozilla.dev.platform/c/e8w70uOCmss
- intl.uidirection preferenceの削除
- RTLのテストのために有用だったが pseudolocale のサポートが入ったため不要になった
- Intent to unship: cross-context @@hasInstance in IDL interfaces https://groups.google.com/g/mozilla.dev.platform/c/PSEPdL0MbvM
- Firefoxのみに存在していた、hasInstanceのカスタムされた挙動を削除
- JSのinstanceofの結果が、objectとconstructorのcontextが一致しなかったら
false
を示すようになる
Edge
- Microsoft Edge 89: Delivering improved browser performance to get the job done - Microsoft Edge Blog https://blogs.windows.com/msedgedev/2021/03/04/edge-89-performance/
- Edge 89の新機能であるtab sleepingについて
- デフォルトでは2時間操作されていないタブはスリープ状態となる
- 時間変更やサイトごとの無効化をユーザーが設定可能
- スリープしていないタブと比較すると平均してCPU使用量は26%削減、メモリ使用量は16%削減
- Microsoft Edge Legacy desktop application support ends today - Microsoft Edge Blog
https://blogs.windows.com/msedgedev/2021/03/09/microsoft-edge-legacy-end-of-support/- Legacy Edgeのサポート終了
- 4月のWindows 10の月次アップデートで削除予定
Blogs
- Announcing the New TypeScript Handbook | TypeScript
https://devblogs.microsoft.com/typescript/announcing-the-new-typescript-handbook/- TypeScript Handbookの新しいバージョン
- https://www.typescriptlang.org/docs/handbook/intro.html
- Web, Epub, PDFで配布
- https://blog.cloudflare.com/protecting-against-microsoft-exchange-server-cves/
- JavaScript: What is the meaning of this? https://web.dev/javascript-this/
- JS の
this
について
- JS の
- How CLS optimizations increased Yahoo! JAPAN News's page views per session by 15% https://web.dev/yahoo-japan-news/
- CLSのスコア改善がユーザーのエンゲージメント増加につながった、Yahoo!ニュースでの実例
- Search Consoleで見られるパフォーマンスの低いURLの数が98%減少、lab dataのCLSは0.2 -> 0に改善
- その結果、1セッションごとのページ数は15.1%増加し、セッションあたりの滞在時間も13.3%増加した
- Control web applications with two-clicks in Cloudflare Gateway https://blog.cloudflare.com/gateway-app-policies/
- Agrofy: A 70% improvement in LCP correlated to a 76% reduction in load abandonment https://web.dev/agrofy/
- LCPの改善が、ユーザーがページ読込中にページから離れてしまう率を3.8% -> 0.9%にしたという事例。
- How Wix improved website performance by evolving their infrastructure
https://web.dev/wix/- 様々な採用技術を見直し、wixのウェブサイトのパフォーマンスが改善した事例
- SSR, CDNの活用, ETagでのConditional Request & 304, HTTP/2, brotli など
W3C
- [css-color-4] remove all mention of Adobe® RGB (1998). #6088 · w3c/csswg-drafts@ac71b5c
https://github.com/w3c/csswg-drafts/commit/ac71b5ce461875ac8957b8214948037ed494c908- CSS Color Module Level4 からAdobe RGB(a98-rgb)についての言及を削除。
- 仕様の中でAdobeの用語について言及することがライセンスの侵害にあたる
- https://github.com/w3c/csswg-drafts/issues/6088
WHATWG
- Define processing model for 421 responses · whatwg/fetch@c5eb621
https://github.com/whatwg/fetch/commit/c5eb6214af9ac03bac0cff2b7de7d2e39f2d422f- HTTP-network-or-cache fetch に、status 421 に対しての処理の定義を追記
TC39
- Module Fragments to stage 1, per 2021.03.09 TC39 · tc39/proposals@a01ea44 https://github.com/tc39/proposals/commit/a01ea44595ff06a22b00cfd807b075eeffc4a40d
- Error Cause to stage 3, per 2021.03.10 TC39 · tc39/proposals@127195f https://github.com/tc39/proposals/commit/127195f80cd63a4b49ab0f7fcfa52ed64cecc6eb
- Array find from last to stage 2, per 2021.03.10 TC39 · tc39/proposals@ca977cd
https://github.com/tc39/proposals/commit/ca977cdf5a738487db88ac71a22d6960a0664acb - Temporal to stage 3, per 2021.03.10 TC39 · tc39/proposals@253a4ae
https://github.com/tc39/proposals/commit/253a4ae237a30549849c49b4062972c4ee75e5b4
Discussion