Features (3)

Concurrent Smooth scrollIntoViews

Category: JavaScript

This feature allows scrollIntoView with behavior: "smooth" to run concurrently on scroll containers which are neither descendants nor ancestors of one another. scrollIntoView with behavior: "smooth" is a JavaScript method developers can use to cause scroll containers to scroll to their descendants via a gentle scroll animation. This feature fixes Chrome's implementation of the API so that ongoing scrollIntoView animations are not cancelled by unrelated scrolls on other scroll containers. This codepen[1] demonstrates the difference in behavior between Chrome and other browsers. The features also fixes cases where Chrome fails to scroll to a page's fragment anchor because of a competing scrollIntoView that is invoked when the page loads. [1] https://codepen.io/awogbemila/pen/GRaJQMG

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 6270155647352832,
  "milestone": 130,
  "name": "Concurrent Smooth scrollIntoViews",
  "summary": "This feature allows scrollIntoView with behavior: \"smooth\" to run concurrently on scroll containers which are neither descendants nor ancestors of one another.\n\nscrollIntoView with behavior: \"smooth\" is a JavaScript method developers can use to cause scroll containers to scroll to their descendants via a gentle scroll animation. This feature fixes Chrome's implementation of the API so that ongoing scrollIntoView animations are not cancelled by unrelated scrolls on other scroll containers.\n\nThis codepen[1] demonstrates the difference in behavior between Chrome and other browsers.\n\nThe features also fixes cases where Chrome fails to scroll to a page's fragment anchor because of a competing scrollIntoView that is invoked when the page loads.\n\n[1] https://codepen.io/awogbemila/pen/GRaJQMG"
}
relaunch Intl Locale Info feature in newly added functions

Category: JavaScript

Intl Locale Info API is a new Stage ECMAScript TC39 proposal to enhance the Intl.Locale object by exposing Locale information, such as week data (first day in a week, weekend start day, weekend end day, minimun day in the first week), and text direction hour cycle used in the locale. https://github.com/tc39/proposal-intl-locale-info We launch Intl Locale Info API w/ getters but later the proposal changed to rename these getters to functions. We need to deprecate the getter and relaunch the functions . The deprecation of getters is tracked in https://chromestatus.com/feature/5148228059398144

JSON data
{
  "category": "JavaScript",
  "flag_name": null,
  "id": 5122839207477248,
  "milestone": 130,
  "name": "relaunch Intl Locale Info feature in newly added functions",
  "summary": "Intl Locale Info API is a new Stage ECMAScript TC39 proposal to enhance the Intl.Locale object by exposing Locale information, such as week data (first day in a week, weekend start day, weekend end day, minimun day in the first week), and text direction hour cycle used in the locale.\r\nhttps://github.com/tc39/proposal-intl-locale-info\r\n\r\nWe launch Intl Locale Info API w/ getters but later the proposal changed to rename these getters to functions. We need to deprecate the getter and relaunch the functions . The deprecation of getters is tracked in https://chromestatus.com/feature/5148228059398144 "
}
WebAssembly JS String Builtins

Category: WebAssembly

This feature exposes common JS string operations for easy import into WebAssembly and optimizations thereof. This allows creating and manipulating JS strings from WebAssembly without native support within WebAssembly while still allowing for a similar performance as native string references. The mechanism works by exposing suitably strict versions of JS string operations in the WebAssembly JS API. These can be imported by modules using externref as a generic data type for storing the strings. The engine can identify that these imports can be represented by native graph operators without the need for calling into JS. This leads to a comparable peak performance as native string operations while allowing quick interoperability with JS since no copying at the boundary is required when calling into arbitrary JS functions that consume strings.

JSON data
{
  "category": "WebAssembly",
  "flag_name": null,
  "id": 6695587390423040,
  "milestone": 130,
  "name": "WebAssembly JS String Builtins",
  "summary": "This feature exposes common JS string operations for easy import into WebAssembly and optimizations thereof. This allows creating and manipulating JS strings from WebAssembly without native support within WebAssembly while still allowing for a similar performance as native string references.\r\nThe mechanism works by exposing suitably strict versions of JS string operations in the WebAssembly JS API. These can be imported by modules using externref as a generic data type for storing the strings. The engine can identify that these imports can be represented by native graph operators without the need for calling into JS. This leads to a comparable peak performance as native string operations while allowing quick interoperability with JS since no copying at the boundary is required when calling into arbitrary JS functions that consume strings."
}

API Changes (12)

  • [GC] Relax external memory limits
  • [task] Make GetForegroundTaskRunner non-virtual
  • [api] Remove unused AllowCodeGenerationFromStringsCallback
  • [wasm-imported-strings] Split out utf8-related features
  • [source-phase-imports] Static source phase import
  • Remove hablich@.
  • [maglev] implement big endian support for dataview
  • [jumbo] Improve safety and const-correctness of TracedReference.
  • PPC: remove support for ppc 32-bit, part 1
  • Fix spelling errors and other pedantry.
  • [cfi] memory sealing for the global code range
  • [task] Override GetForegroundTaskRunner with priority
JSON data
[
  {
    "author": {
      "name": "Etienne Pierre-doray",
      "email": "etiennep@chromium.org",
      "time": "Fri Sep 13 12:35:39 2024"
    },
    "commit": "3fbc7a8470c2b242b9264c90ab3e703b97de73c8",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Sep 13 13:47:44 2024"
    },
    "subject": "[GC] Relax external memory limits",
    "milestone": 130
  },
  {
    "author": {
      "name": "Etienne Pierre-doray",
      "email": "etiennep@chromium.org",
      "time": "Wed Sep 04 17:56:14 2024"
    },
    "commit": "8c818cf8837db4f59bfce1726f80ec02b9771cbf",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 12 17:47:56 2024"
    },
    "subject": "[task] Make GetForegroundTaskRunner non-virtual",
    "milestone": 130
  },
  {
    "author": {
      "name": "Chengzhong Wu",
      "email": "cwu631@bloomberg.net",
      "time": "Thu Sep 05 09:07:16 2024"
    },
    "commit": "f432c72c6be37cda12e98f74ffaf461ad8287d79",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Sep 05 20:19:17 2024"
    },
    "subject": "[api] Remove unused AllowCodeGenerationFromStringsCallback",
    "milestone": 130
  },
  {
    "author": {
      "name": "Jakob Kummerow",
      "email": "jkummerow@chromium.org",
      "time": "Fri Aug 30 18:07:44 2024"
    },
    "commit": "4e7ee87bb16e7d3b300ecf83c5b074f82874ff74",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Sep 03 18:28:48 2024"
    },
    "subject": "[wasm-imported-strings] Split out utf8-related features",
    "milestone": 130
  },
  {
    "author": {
      "name": "Chengzhong Wu",
      "email": "legendecas@gmail.com",
      "time": "Thu Aug 22 23:54:34 2024"
    },
    "commit": "fbb9dffab10c319dc11c41616d6b424756bd3e6e",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Sep 02 11:43:22 2024"
    },
    "subject": "[source-phase-imports] Static source phase import",
    "milestone": 130
  },
  {
    "author": {
      "name": "Peter Kasting",
      "email": "pkasting@chromium.org",
      "time": "Thu Aug 29 18:42:45 2024"
    },
    "commit": "a31f7f53594d37e031494690584ce1f6f148dbd0",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Aug 30 16:15:05 2024"
    },
    "subject": "Remove hablich@.",
    "milestone": 130
  },
  {
    "author": {
      "name": "Junliang Yan",
      "email": "junyan@redhat.com",
      "time": "Thu Aug 29 17:16:19 2024"
    },
    "commit": "80d2f5811746f3f1e40e897a22494d544adea1b2",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Fri Aug 30 12:37:18 2024"
    },
    "subject": "[maglev] implement big endian support for dataview",
    "milestone": 130
  },
  {
    "author": {
      "name": "Peter Kasting",
      "email": "pkasting@chromium.org",
      "time": "Thu Aug 22 17:43:10 2024"
    },
    "commit": "781c20568240a1e59edcf0cb5d713afab63041db",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Sat Aug 24 09:00:43 2024"
    },
    "subject": "[jumbo] Improve safety and const-correctness of TracedReference.",
    "milestone": 130
  },
  {
    "author": {
      "name": "Milad Fa",
      "email": "mfarazma@redhat.com",
      "time": "Thu Aug 22 11:24:32 2024"
    },
    "commit": "643753953ac1653a7e74786d1ee2b5b9f2ecb296",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Thu Aug 22 12:14:11 2024"
    },
    "subject": "PPC: remove support for ppc 32-bit, part 1",
    "milestone": 130
  },
  {
    "author": {
      "name": "Erik Corry",
      "email": "erikcorry@chromium.org",
      "time": "Tue Aug 20 13:38:52 2024"
    },
    "commit": "a9777d919551975bd1208221a8ba8c012c03bc56",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Aug 20 15:01:52 2024"
    },
    "subject": "Fix spelling errors and other pedantry.",
    "milestone": 130
  },
  {
    "author": {
      "name": "Stephen Roettger",
      "email": "sroettger@google.com",
      "time": "Tue Aug 20 08:13:43 2024"
    },
    "commit": "199ec3571a7aeabe47d162e82282256c4fc63387",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Tue Aug 20 09:50:31 2024"
    },
    "subject": "[cfi] memory sealing for the global code range",
    "milestone": 130
  },
  {
    "author": {
      "name": "Etienne Pierre-doray",
      "email": "etiennep@chromium.org",
      "time": "Sat Aug 10 16:11:37 2024"
    },
    "commit": "4aa411d953037cb2fdfafbd009aeaca7bfda8f05",
    "committer": {
      "name": "V8 LUCI CQ",
      "email": "v8-scoped@luci-project-accounts.iam.gserviceaccount.com",
      "time": "Mon Aug 19 18:35:30 2024"
    },
    "subject": "[task] Override GetForegroundTaskRunner with priority",
    "milestone": 130
  }
]