Weekly Web Notes 20210312-20210318
Meta
- https://twitter.com/arayaryoma でツイートしていたもののまとめ
- 毎週木曜に新しい投稿を作る予定
Google / Chrome
-
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: 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- AV1エンコーダ
- aspect-ratio の 値をアニメーションで変更可能に
- Array、String、TypedArray の at() method をサポート など
-
Chromium Blog: Mitigating Side-Channel Attacks https://blog.chromium.org/2021/03/mitigating-side-channel-attacks.html
-
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 -
Google Online Security Blog: Google, HTTPS, and device compatibility
https://security.googleblog.com/2021/03/google-https-and-device-compatibility.html -
Google Developers Blog: How online payments work with Steve Klebe
https://developers.googleblog.com/2021/03/how-online-payments-work-with-steve.html -
New resources for video SEO | Google Search Central Blog
https://developers.google.com/search/blog/2021/03/new-resources-for-video-seo- 動画コンテンツのSEO
- VideoObject、高解像度なサムネイル、sitemapなど
Intents
Ship
- Intent to Prototype and Ship: ES Modules for service workers ('module' type option)
https://groups.google.com/a/chromium.org/g/blink-dev/c/iJaPCv9HOrE- ServiceWorker内でのESModulesをサポート
- ES Modules for Service Workers - Google ドキュメント
https://docs.google.com/document/d/1SeQ085YdBTtW3D_ygSpO0Wz2DAe8QiS1gj37IG5lstg/edit#
- Intent to Ship: GravitySensor API
https://groups.google.com/a/chromium.org/g/blink-dev/c/uV1gwoX2fMY- GravitySensor API をship
- Intent to Ship: Class static initializer blocks
https://groups.google.com/a/chromium.org/g/blink-dev/c/pzy_Z3AwmaY - Intent to Ship: Align performance API timer resolution to cross-origin isolated capability
https://groups.google.com/a/chromium.org/g/blink-dev/c/k6M3HJiqmkE-
performance.timeOrigin()
のタイマーの精度をperformance.now()
と同じに合わせる - cross-origin isolated contexts: 5 micro sec
- non-isolated contexts: 100 micro sec
-
- Intent to Ship: adaptivePtime property for RTCRtpEncodingParameters
https://groups.google.com/a/chromium.org/g/blink-dev/c/dsuUWMg2eSk
Remove
- Intent to Remove: webkitBeforeTextInserted & webkitEditableContentChanged JS events
https://groups.google.com/a/chromium.org/g/blink-dev/c/QlEJAuX9pGk
Extend Origin Trial
- Intent to Extend Origin Trial: WebCodecs
https://groups.google.com/a/chromium.org/g/blink-dev/c/55QViQdz5Rc
Origin Trials
New Active
- Trial for Declarative Link Capturing https://developer.chrome.com/origintrials/#/view_trial/4285175045443026945
- Trial for Subresource loading with Web Bundles https://developer.chrome.com/origintrials/#/view_trial/-6307291278132379647
New Complete
Firefox
- These Weeks in Firefox: Issue 89 – Firefox Nightly News
https://blog.nightly.mozilla.org/2021/03/12/these-weeks-in-firefox-issue-89/
Intents
Prototype
- Intent to prototype: glyph-scale-factor descriptor for @font-face rules
https://groups.google.com/g/mozilla.dev.platform/c/joBc4SoTOPc - Intent to Prototype: Media Session API: Video conferencing actions
https://groups.google.com/a/chromium.org/g/blink-dev/c/0WrBY77sfh0- Media Session APIに
togglemicrophone
togglecamera
hangup
を追加 - マイクやカメラの切り替え、hangupがネイティブのUIで出せるため、Picture-in-Pictureでも出すことができる
- Media Session APIに
Ship
- Intent to ship: AbortSignal.abort()
https://groups.google.com/g/mozilla.dev.platform/c/23hnabutNlA - intent to ship: sha2 windows signing
https://groups.google.com/g/mozilla.dev.platform/c/2bTkUj6LmDs - Intent to prototype and ship: Make mac mouse focus model closer to other platforms https://groups.google.com/g/mozilla.dev.platform/c/dCOWnTLiA2o
- macにおけるマウスフォーカスの挙動を修正
- macでは現在form controlsに対してマウスでのフォーカスがされない
Unship
Safari
- Release Notes for Safari Technology Preview 122 | WebKit
https://webkit.org/blog/11577/release-notes-for-safari-technology-preview-122/
Edge
- Serving our customers more effectively with new release cycles for Microsoft Edge - Microsoft Edge Blog
https://blogs.windows.com/msedgedev/2021/03/12/new-release-cycles-microsoft-edge-extended-stable/- EdgeもChromeにあわせて、94のリリースから4週間ごとのStableリリース、8週間ごとのExtend Stableリリースになる。
Blogs
- Next-Gen WAF protection for recent Microsoft Exchange vulnerabilities | Fastly
https://www.fastly.com/blog/next-gen-waf-protection-for-recent-microsoft-exchange-vulnerabilities- Microsoft Exchange Server の前段にignal Sciences Next-Gen WAFをセットするのを推奨
- Enhancing privacy-focused Web Analytics to better meet your metrics needs
https://blog.cloudflare.com/enhancing-privacy-focused-web-analytics-to-better-meet-your-metrics-needs/- Cloudflare のアナリティクスツール
- 世の中には、アナリティクスツールを入れているサイトにアクセスしてくるユーザーをトラッキングして、広告による収益を得ているサービスがあるがCloudflareではそれはやらない。
- エンドユーザーのプライバシーを配慮したアナリティクスツール
- Impact of mobile internet disruption in Niger | Fastly
https://www.fastly.com/blog/impact-of-mobile-internet-disruption-in-niger- ニジェールの大統領選挙で発生した抗議活動に応じて、モバイルのインターネットが停止された。
- Fastlyでも、この期間ニジェールへのトラフィックが非常に減少しているのを観測している
- Comparing Svelte and React - Jack Franklin https://www.jackfranklin.co.uk/blog/comparing-svelte-and-react-javascript/
- Svelte と React の比較記事
- Debugging layout shifts https://web.dev/debugging-layout-shifts/
- Creating Patterns With SVG Filters | CSS-Tricks
https://css-tricks.com/creating-patterns-with-svg-filters/-
<feTurbulence>
などをつかってSVGでフィルターを実装する
-
- Mitigate cross-site scripting (XSS) with a strict Content Security Policy (CSP)
https://web.dev/strict-csp/ - Building a Settings component https://web.dev/building-a-settings-component/
- Vodafone: A 31% improvement in LCP increased sales by 8%
https://web.dev/vodafone/- VodafoneでのLCPの改善が売上の向上につながった事例
W3C
- [css-cascade-5] Make sure rules sandwiched within the layer get rever… · w3c/csswg-drafts@090abe4
https://github.com/w3c/csswg-drafts/commit/090abe4e68e0dde233fa02c33a11add766787be9-
revert-layer
が指定されているときの「何も指定されていないとみなされる」条件を明記
-
- @import layer reset url(reset.css);
https://github.com/w3c/csswg-drafts/issues/5681- 匿名layerに含めるようにimportするときのlayer指定に'layer' keyword を指定させる
- First Public Working Draft: Post-Spectre Web Development | W3C News
https://www.w3.org/blog/news/archives/8956- Post-Spectre Web Development
- Spectre のようなサイドチェンネル攻撃に対しセキュアなWebサイトを実装するための指針
- CORP, COOP, CORB など
- Group Calendaring service enters beta test | W3C Blog https://www.w3.org/blog/2021/03/group-calendaring-service-enters-beta-test/
- 各WGのミーティングの予定を共有するためのカレンダーサービスを出した
- W3C Invites Implementations of Decentralized Identifiers (DIDs) v1.0 | W3C News https://www.w3.org/blog/news/archives/8966
- W3C Invites Implementations of WebRTC Priority Control API | W3C News https://www.w3.org/blog/news/archives/8969
- First Public Working Draft: Open Screen Protocol | W3C News https://www.w3.org/blog/news/archives/8973
- Presentation APIやRemote Playback APIを実装するためのプロトコル
-
The Open Screen Protocol connects browsers to devices capable of rendering Web content for a shared audience.
WHATWG
- Add AbortSignal.abort() static method · whatwg/dom@aa384af
https://github.com/whatwg/dom/commit/aa384af67fbf8862c5ee2ed09dc7afb6696a48ae- DOMのspecにも
AbortSignal.abort()
が入った
- DOMのspecにも
- Ignore title passed to pushState()/replaceState() · whatwg/html@e0b554b
https://github.com/whatwg/html/commit/e0b554bf9f881f4c5a98f13e3ccec1db837241e6
TC39
- ECMAScript® 2021 Language Specification https://tc39.es/ecma262/2021/
- ES2021に入るproposalが固まり始めた
String.prototype.replaceAll
Promise.any
- AggregateError
- logical assignment operators
- WeakRef
- numeric literal separator
Ecosystem
- Node v15.12.0 (Current) | Node.js https://nodejs.org/en/blog/release/v15.12.0/
- fs/promises の
writeFile
、readFile
のパフォーマンス改善 -
AbortSignal.abort()
の実装 - worker に
setEnvironmentData
/getEnvironmentData
を追加
- fs/promises の
- V8 release v9.0 · V8 https://v8.dev/blog/v8-release-90
- RegExp match indices
-
super
プロパティアクセスの高速化 - JSからwasmの関数呼び出しの高速化
Discussion