
This CL cleans up forward declarations of the v8::Local template in several files. In case this template is transparently modified in v8/include/v8-local-handle.h, e.g., by adding an extra template parameter with a default value, these declaration would result in compiler errors. It also fixes a number of includes to v8/include files that did not use the full path. Change-Id: Ia51c443d82ab73dcc46c51461f01a1573c73955f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4625197 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ken Rockot <rockot@google.com> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/main@{#1160513}
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.