0
Files
src/gin
Kevin McNee 2aa39f7adc Revert "bindings: Pass CppHeap on Isolate creation"
This reverts commit bd3925de0b.

Reason for revert: Suspecting for MSAN failures https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/53660/overview

Original change's description:
> bindings: Pass CppHeap on Isolate creation
>
> This CL switches Blink to use the new APIs to pass the Oilpan (CppHeap)
> heap on construction. This allows establishing the invariant that an
> Oilpan heap always exists. V8 can thus rely on providing Oilpan-managed
> types on its API.
>
> Bug: 42203693
> Change-Id: I6f224299200239c688570eef5b6e99d617f05975
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6179405
> Commit-Queue: Andreas Haas <ahaas@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1414023}

Bug: 42203693
Change-Id: Ia4e2d8685ad4a4772305f0e05d1148fb87eed462
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6220110
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Kevin McNee <mcnee@google.com>
Auto-Submit: Kevin McNee <mcnee@chromium.org>
Commit-Queue: Kevin McNee <mcnee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1414180}
2025-01-31 09:09:46 -08:00
..

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.