|
Description:
|
|
# ep33 Monthly Web 201801
第 33 回のテーマは 2018 年 1 月の Monthly Web です。
## Show Note
### Spectore/Meltdown
- Side Channel Attack 対策のため、高精度クロックに使用できる `performance.now()` の精度低下と SharedArrayBuffers (+Atomics)の無効化が実施。将来的には戻す予定。
- Fantastic Timers and Where to Find Them: High-Resolution Microarchitectural Attacks in JavaScript
- https://gruss.cc/files/fantastictimers.pdf
- How can SharedArrayBuffer be used for timing attacks?
- https://security.stackexchange.com/questions/177033/how-can-sharedarraybuffer-be-used-for-timing-attacks
- Google
- Google Online Security Blog: Today's CPU vulnerability: what you need to know
- https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html
- Actions required to mitigate Speculative Side-Channel Attack techniques
- https://www.chromium.org/Home/chromium-security/ssca
- Correct Content-Type, nosniff, same-site cookie if possible
- Safari
- What Spectre and Meltdown Mean For WebKit
- https://webkit.org/blog/8048/what-spectre-and-meltdown-mean-for-webkit/
- Disable SharedArrayBuffers from Web API
- https://bugs.webkit.org/show_bug.cgi?id=181266
- performance.now() should truncate to 100us
- https://bugs.webkit.org/show_bug.cgi?id=165503
- Mozilla
- Mitigations landing for new class of timing attack
- https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
- `performance.now()` が 20us に
- Edge/IE
- Mitigating speculative execution side-channel attacks in Microsoft Edge and Internet Explorer
- https://blogs.windows.com/msedgedev/2018/01/03/speculative-execution-mitigations-microsoft-edge-internet-explorer/
- `performance.now()` が 5us -> 20us に
### Chrome 動向
- Updates
- Chrome 64
- https://developers.google.com/web/updates/2018/01/nic64
- https://developers.google.com/web/updates/2017/12/chrome-64-deprecations
- http://blog.chromium.org/2017/12/chrome-64-beta-stronger-pop-up-blocker_14.html
- https://groups.google.com/forum/#!msg/discuss-webrtc/fIWg5n67xHo/QIhRnv6vBgAJ
- ResizeObserver blog
- import.meta
- `element.focus({ preventScroll: true })`
- The pop-up blocker gets strong.
- `window.alert()` no longer changes focus.
- `addTrack()`, `removeTrack()`, `ontrack`
- getSenders()
- What's New In DevTools (Chrome 65)
- https://developers.google.com/web/updates/2018/01/devtools
- **Local Overrides**
- new in 64 で紹介されていたはずが、消されてここで再紹介
- 機能も一旦隠されていた
- **New accessibility tools**
- Accessibility pane
- Contrast ratio in the Color Picker
- **The Changes tab**
- local overrides の差分が見える
- New performance and SEO audits
- **Multiple recordings in the Performance panel**
- 直近 5 件の測定結果を保存し比較できる
- Reliable code stepping with workers and asynchronous code
- **An update on Better Ads**
- https://developers.google.com/web/updates/2017/12/better-ads
- Better Ads Standards を 2018 からサポート
- Starting on February 15
- サイトオーナーは Ad Experience Report から広告の BAS 違反をチェックできる
- 30 日以上改善されない場合はその広告が表示されなくなる
- Lighthouse 2.7 Updates
- https://developers.google.com/web/updates/2018/01/lighthouse
- New SEO audits
- New, manual accessibility audits
- Updates to the WebP audit
- **Improving URLs for AMP pages**
- https://amphtml.wordpress.com/2018/01/09/improving-urls-for-amp-pages/
- https://github.com/WICG/webpackage/blob/master/explainer.md
- AMP を Web Packaging ベースにしてゆく
- Google のオリジンからの配布される現状を変えられる予定
- **AMP letter**
- http://ampletter.org/
- AMP の仕組みは良いとして、検索で優先しすぎるのはどうか、という嘆願
- Speed Index などを用いて、公平な仕組みでサーチランクに加点してほしい
- URL については、前述の WebPackage で解決するはず
- AMP'ing Up The AMP Framework
- https://amphtml.wordpress.com/2018/01/19/amping-up-the-amp-framework/
- **Using page speed in mobile search ranking**
- http://webmasters.googleblog.com/2018/01/using-page-speed-in-mobile-search.html
- 上記に呼応するかのように Speed Index をサーチランクに
- Measuring AMP Performance
- https://amphtml.wordpress.com/2018/01/17/measuring-amp-performance/
- Real-world data in PageSpeed Insights
- https://developers.googleblog.com/2018/01/real-world-data-in-pagespeed-insights.html
- **CSS Paint API**
- https://developers.google.com/web/updates/2018/01/paintapi
- blog
- Using DevTools Features Without Opening DevTools
- https://developers.google.com/web/updates/2018/01/devtools-without-devtools
- DevTools の機能を Puppeteer (DevTools Protocol) から使う話
- **Site Isolation Status - Availability, field trials, improved support in Chrome 64**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/9muOIl2boUs/A0uxQK1uAgAJ
- Chrome User Experience Report: New country dimension
- https://developers.google.com/web/updates/2018/01/crux
- **Chrome welcomes Speedometer 2.0!**
- https://v8project.blogspot.jp/2018/01/speedometer-2.html
- JavaScript フレームワークを使った Web アプリを使いパフォーマンスをチェックする
- Apple がつくったものだが、他のブラウザにも受け入れられて、 2.0 のアップデートには Chrome チームも関わった
- PSA: `replaceTrack()` shipping in M65
- https://groups.google.com/forum/#!msg/discuss-webrtc/C6Z5XstxHhc/E9HPASujAAAJ
- Intents
- **Ship: display: contents**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/XzdNrEvn4Qk/650SpqXTBAAJ
- **Ship: Fetch API: keepalive**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/8vqcABTnDF4/2kZzScnzBgAJ
- その後色々あった模様
- Ship: More spec conformant SendBeacon quota
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/zMnLGlhlrzk/ZAHTehm2BAAJ
- 送信サイズの上限周りが仕様に沿うように
- Ship: Async Clipboard API
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/epeaao7l13M/b8ewAH5uBwAJ
- Ship: overscroll-behavior
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/6fVRnF4_g8s/piNtMNxBAAAJ
- Ship: Optional catch binding
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/fxsrVALo0R8/wsHpHaTWAwAJ
- Ship: CSS Typed OM
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/6ai8np0DSOA/XJak-Nw0AgAJ
- blog
- Ship: justify-items: legacy; Deprecate and Remove: justify-items: auto
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/wP4NWLgbIpA/P1rebd9ZAgAJ
- Create V8 contexts from snapshot by default
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/llHBIsHBb8M/EjBFxvu0AAAJ
- **Implement and Ship: Fetch API Cancellation (AbortController and AbortSignal)**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/9vNZh4fhV2U/ZVxD2iQACgAJ
- https://docs.google.com/document/d/1OuoCG2uiijbAwbCw9jaS7tHEO0LBO_4gMNio1ox0qlY/edit
- Implement and Ship: Feature Policies for the Device Orientation API
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/RX0GN4PyCF8/6XVhJ_oTCgAJ
- Implement and Ship: Support HTMLAnchorElement.relList property
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/lgA_loKD_XU/DlJ_LppLBwAJ
- Implement and Ship: Support HTMLAreaElement.relList property
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/T-TADMbtYYY/j-sk7AYhAQAJ
- Implement and Ship: window.focus() exits HTML5 fullscreen
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/OOLMw8qKoTc/lO_Tw2RgAQAJ
- Implement and Ship: Send "input" event on checkbox click
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Qc-bOSyU0FQ/tczXROBoCQAJ
- Implement and Ship: PerformanceObserver takeRecords()
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/xEXD9C48c1k/HRCCs311CgAJ
- **Implement and Ship: Feature Policy control over Synchronous XHR**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/RWWG6ZJYDhc/VBKxlCuVAgAJ
- Implement and Ship: Send "input" Event on activation behavior for radio and file type
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/o9Pnen-jNcI/8thpmgMHAwAJ
- Implement and Ship: make with transform be a containing block
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/dnvWXuX70YE/xntUNkPpBAAJ
- Implement and Ship: CSS calc() in media queries
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Hudukgo_fB4/6FPRvvBtBQAJ
- Implement and Ship: Unprefix CSS Grid Layout gutter properties
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/UViBfJuuIq8/w7_2W7lLAgAJ
- 仕様に追従して rename
- grid-gap => gap
- grid-row-gap => row-gap
- grid-column-gap => column-gap
- 古いのは alias として残る
- Implement and ship: New CSS Value 'legacy" for the alignment behavior of HTML's element
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/QDhDKXJqKVE/SVeKgDw4AgAJ
- Implement and Ship: Reading Blob URL for invalid/nonexistent Blob should end with a network error
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/zm0ZUCINXBk/2uFi9MvPAwAJ
- Implement and Ship: Support 'x' as a CSS resolution
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/FsD97U77tss/n3m_yvyoAAAJ
- Implement: WebRTC Unified Plan SDP
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Qgwfl-nD0Zs/u45qUqRHBwAJ
- blog
- Implement: Unified Touch adjustment
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/VjFBlOBwkmY/rDS04njmCAAJ
- Implement :matches()
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/kqD_G4sxfZE/6CJM01X2BwAJ
- Implement: Support HTMLAnchorElement.relList property
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/R5HQheg5P9k/spR1Wa4xBwAJ
- Implement: window.focus() exits HTML5 fullscreen
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/8Z36QLPkCd0/xrGkjvLcAAAJ
- **Implement: CSS Layout API**
- https://groups.google.com/a/chromium.org/forum/#!msg/layout-dev/cr8lEkYwEQ4/Kt25Q-hsAQAJ
- Implement: Permission Delegation
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/irAY53rSXIE/p0oZ5j4mAgAJ
- Permission Delegation Proposal
- https://docs.google.com/document/d/1x5QejvpyQ71LPWhMLsaM1lWCfSsBsSQ8Dap9kJ6uLv0/
- **Implement: Origin-Signed
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/n7cZXSTwBTY/l7rXucIwBAAJ
- Signature をヘッダに乗せてレスポンスに署名する
- **Implement: Picture-in-Picture (PiP)**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/U8Apo-WLBm4/03sO4ITYAQAJ
- Safari は macOS/iOS の PiP 導入時に違う API を接頭辞付きで実装
- **Implement: Lazily load below-the-fold iframes and images**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/czmmZUd4Vww/1-H6j-zdAwAJ
- speedindex が 18% 、ページサイズが 35% 削減の見込み
- below-the-fold な画像を自動的に lazyload できないか
- https://docs.google.com/document/d/1e8ZbVyUwgIkQMvJma3kKUDg8UUkLRRdANStqKuOIvHg/edit
- Deprecate and Remove: URL.createObjectURL with MediaStream
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/tWzutytXsqc/lGaWCFdHAgAJ
- Remove: style application from stylesheets in HTML imports
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/VllurNrBlL0/sJ197zthBgAJ
- Deprecate and Remove: support for position values with 3 parts (excluding background)
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/oBKMVCOX1sY/BLsXXiukAgAJ
- Deprecate and Remove: Extra form data , if "value" attribute is present with non-empty value for
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/hp1_-1tgvDs/GxqaqXGwAgAJ
- Deprecate and Remove: Support for '#' in data URI body
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/_g_HnAHkMPo/1DrejG5mAgAJ
- Experiment: EME Extension - Policy Check
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/ITzZ_yx4bF8/jpEQNzgnBAAJ
- HDCP(High-bandwidth Digital Content Protection) などのチェックを行う
- **Experiment: Signature-based Resource Loading Restrictions**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/sWa31BxDO0g/fHNukicyAgAJ
- SRI に署名も追加するという提案
- Continue Experimenting: WebVR 1.1
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/-s4pWwshKhI/md53uVDRBgAJ
- Extend Origin Trial - Media Capabilities: decoding
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Dpw4IJ0hQdg/BAPNQsJgAQAJ
- **Disabling SharedArrayBuffer**
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/wvV42Hxct3g/ziKAQOB4EQAJ
- Team Weekly Snippet
- Loading Team
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/jPjGiKF4VRI/BLg_KqD9CQAJ
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/3mS1-xnHM14/UvTONo-AAgAJ
- Platform Architecture Team
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/uppk4EmFCSI/9icfcPdqBAAJ
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/B4ThhCi8hQ0/DboWBhEkAgAJ
- OWP Storage Team
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/4ou3k2xhKXs/iNEOPqNfBQAJ
- **Async Cookie**
- **Locks API**
- Layout Team
- https://groups.google.com/a/chromium.org/forum/#!msg/layout-dev/Zr65LgYQ5P4/9HO_tsBUAgAJ
- V8
- **V8 JavaScript Engine: V8 release v6.4**
- https://v8project.blogspot.jp/2017/12/v8-release-64.html
- 高速化 (web tooling bench)
- instanceof が 3.6 倍
- WeakMap/WeakSet が 5 倍
- Array の slice/map/filter が 10 倍
- ES feature
- `/u` flag
- named capture group
- `import.meta`
- `Intl.NumberFormat.prototype.formatToParts`
- V8 JavaScript Engine: Optimizing hash tables: hiding the hash code
- https://v8project.blogspot.jp/2018/01/hash-code.html
- Other
- Chrome User Experience Report: expanding to top 1 Million+ origins
- https://developers.google.com/web/updates/2017/12/crux
- Lighthouse 2.6 Updates
- https://developers.google.com/web/updates/2017/12/lighthouse
- Getting your site ready for mobile-first indexing
- https://webmasters.googleblog.com/2017/12/getting-your-site-ready-for-mobile.html
- A revamped SEO Starter Guide
- https://webmasters.googleblog.com/2017/12/a-revamped-seo-starter-guide_12.html
- Introducing the new Webmaster Video Series
- https://webmasters.googleblog.com/2017/12/the-seo-snippets-video-series.html
- SEO Snippet という Video シリーズが始まった
- Further protecting users from deceptive or confusing inline installation
- http://blog.chromium.org/2018/01/further-protecting-users-from-deceptive.html
- inline install を無効に
### Firefox 動向
- Updates
- Firefox 58
- https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-continues/
- https://www.mozilla.org/en-US/firefox/58.0/releasenotes/
- https://developer.mozilla.org/en-US/Firefox/Releases/58
- Off-Main-Thread Painting (OMTP)
- WebAssembly Streaming Compiler
- CSS font-display blog
- Promise.finally()
- Add to Home screen available on Firefox for Android
- **This year in web-platform-tests**
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/t0m_cRisNQw/d-cnG4M-CgAJ
- **Next year in web-platform-tests**
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/W7Oi6-rSiIc/dxNFUYg-CgAJ
- W3C の Web 関連 API に使われる web-platform-tests について、 Mozilla の今年の展望
- Web で使われる機能については基本的に wpt を使うようにしたい、など
- Mozilla Made the Web Better for Developers in 2017
- https://medium.com/mozilla-tech/mozilla-made-the-web-better-for-developers-in-2017-3e4cf9224776
- **Enable Custom elements v1 on Nightly by default**
- https://bugzilla.mozilla.org/show_bug.cgi?id=1406825
- **Secure Contexts Everywhere**
- https://blog.mozilla.org/security/2018/01/15/secure-contexts-everywhere/
- Describe when features should be limited to secure contexts - w3ctag/design-principles
- https://github.com/w3ctag/design-principles/pull/75
- 基本もう新機能は HTTPS のみに
- isSecureContext の実装も進みつつ
- Making WebAssembly even faster: Firefox's new streaming and tiering compiler
- https://hacks.mozilla.org/2018/01/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler/
- Oxidizing Source Maps with Rust and WebAssembly
- https://hacks.mozilla.org/2018/01/oxidizing-source-maps-with-rust-and-webassembly/
- Latest Firefox Quantum release available with faster, always-on privacy with opt-in Tracking Protection and new features
- https://blog.mozilla.org/blog/2018/01/23/latest-firefox-quantum-release-now-available-with-new-features/
- Intents
- **Ship: Support already-enrolled U2F devices with Google Accounts for Web Authentication**
- https://groups.google.com/forum/#!topic/mozilla.dev.platform/Uiu3fwnA2xw
- WebAuthN が Firefox 60 でくるが、 Google アカウントで使ってる旧式の FIDO U2F に対応したものも期限付きで実装したい
- 5 年くらいと考えているという話に、長すぎないかという指摘など
- Implement: individual transform
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/uidYTDXu1CE/_Ax4VvckCgAJ
- Implement: support CSS paint-order for HTML text
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/mogT087VmJM/1263_6MlCQAJ
- Implement: canvas-imagedata permission
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/bYchad3OZNc/ZPTyIL5mAQAJ
- Remove: Ambient Light and Proximity sensor APIs
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/DcSi_wLG4fc/QI1X8SjbCgAJ
- Unship: navigator.registerContentHandler()
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/jeTDLz38_RE/DP-_biJtEAAJ
- Unship: Application Cache over Insecure Contexts
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/qLTTpdzcDkw/WKJeq-4HAQAJ
- Site Compat
- Firefox 58 Site Compatibility
- https://www.fxsitecompat.com/en-CA/versions/58/
- Firefox 59 Developer Edition, project update, and 2 things you must do in 2018
- https://www.fxsitecompat.com/en-CA/blog/2018/firefox-59-developer-edition-project-update-and-2-things-you-must-do-in-2018/
- window.sidebar.addSearchEngine() has been removed
- https://www.fxsitecompat.com/en-CA/docs/2018/window-sidebar-addsearchengine-has-been-removed/
- navigator.registerContentHandler() has been removed
- https://www.fxsitecompat.com/en-CA/docs/2018/navigator-registercontenthandler-has-been-removed/
- Data URLs are now treated as unique origins (Affecting)
- https://www.fxsitecompat.com/en-CA/docs/2018/data-urls-are-now-treated-as-unique-origins/
- Other
- **Actual Input Latency: cross-browser measurement and the Hasal testing framework**
- https://hacks.mozilla.org/2017/12/actual-input-latency-and-the-hasal-testing-framework/
- https://calendar.perfplanet.com/2017/input-latency-hasal-testing-framework/
- key/mouse event から screen change までの時間指標とそれを測るツール
- https://github.com/Mozilla-TWQA/Hasal
- 2017/12 の取りこぼし
- Today's net neutrality vote - an unsurprising, unfortunate disappointment
- https://blog.mozilla.org/blog/2017/12/14/todays-net-neutrality-vote-an-unsurprising-unfortunate-disappointment/
- Device Orientation API future
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/oMUvorKmYYc/UKmOdzZDCAAJ
- New flexbox guides on MDN
- https://hacks.mozilla.org/2018/01/new-flexbox-guides-on-mdn/
- **Provide a way for users to deny permission prompts by default in about:preferences**
- https://bugzilla.mozilla.org/show_bug.cgi?id=1368744
- permission prompt が出る前に設定で消す
- user visible push がいよいよ届かなくなるかも
- chrome も opt-in rate が低いサイトでは出さなくなるようにしていくかも
- https://twitter.com/slightlylate/status/950437696324845568
- https://philna.sh/blog/2018/01/08/permissions-on-the-web-suck/
- Mozilla Files Suit Against FCC to Protect Net Neutrality
- https://blog.mozilla.org/blog/2018/01/16/mozilla-files-suit-fcc-protect-net-neutrality/
- **Introducing the MDN Product Advisory Board: actions and impressions from our first meeting**
- https://hacks.mozilla.org/2018/01/introducing-the-mdn-product-advisory-board/
- MDN がクロスベンダーなプロジェクトになった際に Advisory Board ができ
- その初めての F2F があり、展望などを話した
- 2018 年は Compat Data の整備を行う
- https://twitter.com/MozDevNet/status/956219627775774720
- 新しい Compat Data の表がローンチされた
- https://github.com/mdn/browser-compat-data
- 現在は手入力のデータが多いが、 wpt を使って自動化できたら、とも
- Improving privacy without breaking the web
- https://blog.mozilla.org/data/2018/01/26/improving-privacy-without-breaking-the-web/
- **CSS 2018 Priorities**
- https://wiki.mozilla.org/CSS#2018_Priorities
- (High) Containment
- (High) Media Queries 4
- (Mid) Container Queries Prerequisites
- (Mid) Multi-column
- (Low) text-decoration-skip
- (Low) Houdini
- Shrinking WebAssembly and JavaScript code sizes in Emscripten
- https://hacks.mozilla.org/2018/01/shrinking-webassembly-and-javascript-code-sizes-in-emscripten/
### Safari 動向
- Safari Technology Preview 46
- https://webkit.org/blog/8042/release-notes-for-safari-technology-preview-46/
- **Service Workers enabled by default**
- img decoding="sync", decoding="async"
- **Froze the user-agent string to reduce web compatibility risk and to prevent its use for fingerprinting**
- `TP46-8: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15`
- `11.0.2: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7`
- `11.0.3: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6`
- blog
- https://twitter.com/rmondello/status/943545865204989953
- Safari Technology Preview 47
- https://webkit.org/blog/8060/release-notes-for-safari-technology-preview-47/
- Storage Access API
- Safari Technology Preview 48
- https://webkit.org/blog/8084/release-notes-for-safari-technology-preview-48/
- **Disabled Automatic Password AutoFill**
- Enabled the Storage Access API by default
- **Added CSP support to Service Workers**
- Implemented createImageBitmap(ImageBitmap)
- Implemented Cache API partitioning based on ClientOrigin
- Added support for JSX (React) syntax highlighting
- **Implemented the updated CSS3 Speech for the speak and speak-as properties**
- 音声用の CSS プロパティの実装を更新
- speak: 音声版 display プロパティみたいなもの
- speak-as: 数値や文字列をスペル通りに読ませたい場合などに使う
- **Highlights of Safari 11.1**
- https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_11_1.html
- **Service Workers**
- **Payment Request**
- Security Improvements
- Web Inspector Updates
- `HTMLImageElement.decode()`
- Directory Upload
- Beacon API
- Video as an Image asset
- EME in iOS
- font-display
- Web App Manifest
- Website Not Secure Warnings
- Subresource Integrity
- Storage Access API
- Canvas Debugging
- Password AutoFill for Apps in Web Views
- Extension Support for Safe Browsing
- Speedometer 2.0: A Benchmark for Modern Web App Responsiveness
- https://webkit.org/blog/8063/speedometer-2-0-a-benchmark-for-modern-web-app-responsiveness/
- web-tooling bench みたいに、実世界を反映したベンチに
- TODO MVC ベースで、 JS だけではなく DOM, Layout, CSS 全部を測る
### Edge 動向
- **EdgeHTML16 DevTools Improvements (Win 10 Fall Creators Update)**
- https://blogs.windows.com/msedgedev/2018/01/17/devtools-console-improvements-edgehtml-16/
- Log message consolidation and UX improvements
- 同じログの集約
- Displaying tabular data with console.table
- オブジェクトのテーブル表示
- CSS formatting for Console messages
- フォーマット
- Multi-line support, Improved IntelliSense, and Console API support
- getEventListeners(object) command
- keys(object) command
- values(object) command
- $x(xpath expression) selector
- **Microsoft Edge build 17063 changelog**
- https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/desktop/17063/
- https://blogs.windows.com/windowsexperience/2017/12/19/announcing-windows-10-insider-preview-build-17063-pc/
- **Service Worker, Push API, Cache API, Fetch API**
- CSS backdrop-filter
- 背景にだけ filter をかける
- Subresource integrity
- subresource の hash を埋め込み検証
- Precision Touch Pad Pointer Events: with a pointerType of `touch`
- Added support for minlength on ` |