
This renderer command line switch is intended to prevent feature flag overrides from configuring V8 flags. To enforce this, v8 feature flag overrides have been conditioned on this command line switch in the following locations: - content::RenderProcessImpl::RenderProcessImpl() - gin::SetFeatureFlags() This change is intended to enable consistent V8 flags at build-time and run-time, and hence compatibility for bundled code caches. Bug: 388577282 Change-Id: Ifd2465cf54bc8353a2f33701157bc9be538eb777 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6144831 Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#1407497}
Gin - Lightweight bindings for V8
This directory contains Gin, a set of utilities to make working with V8 easier.
Here are some of the key bits:
-
converter.h: Templatized JS ↔ C++ conversion routines for many common C++ types. You can define your own by specializing Converter.
-
function_template.h: Create JavaScript functions that dispatch to any C++ function, member function pointer, or base::RepeatingCallback.
-
object_template_builder.h: A handy utility for creation of v8::ObjectTemplate.
-
wrappable.h: Base class for C++ classes that want to be owned by the V8 GC. Wrappable objects are automatically deleted when GC discovers that nothing in the V8 heap refers to them. This is also an easy way to expose C++ objects to JavaScript.
-
runner.h: Create script contexts and run code in them.
-
module_runner_delegate.h: A delegate for runner that implements a subset of the AMD module specification. Also see modules/ with some example modules.