0
Files
android_webview
apps
ash
base
build
build_overrides
buildtools
cc
chrome
chromecast
chromeos
clank
codelabs
components
content
crypto
dbus
device
docs
extensions
fuchsia_web
gin
modules
public
shell
test
BUILD.gn
DEPS
DIR_METADATA
OWNERS
README.md
arguments.cc
arguments.h
arguments_unittest.cc
array_buffer.cc
array_buffer.h
array_buffer_unittest.cc
context_holder.cc
converter.cc
converter.h
converter_unittest.cc
cppgc.cc
data_object_builder.cc
data_object_builder.h
data_object_builder_unittest.cc
debug_impl.cc
debug_impl.h
dictionary.cc
dictionary.h
function_template.cc
function_template.h
gin_export.h
gin_features.cc
gin_features.h
handle.h
interceptor.cc
interceptor.h
interceptor_unittest.cc
isolate_holder.cc
isolate_holder_unittest.cc
object_template_builder.cc
object_template_builder.h
per_context_data.cc
per_context_data.h
per_context_data_unittest.cc
per_isolate_data.cc
per_isolate_data.h
runner.cc
runner.h
shell_runner.cc
shell_runner.h
shell_runner_unittest.cc
thread_isolation.cc
thread_isolation.h
time_clamper.cc
time_clamper.h
time_clamper_unittest.cc
try_catch.cc
try_catch.h
v8_foreground_task_runner.cc
v8_foreground_task_runner.h
v8_foreground_task_runner_base.cc
v8_foreground_task_runner_base.h
v8_foreground_task_runner_with_locker.cc
v8_foreground_task_runner_with_locker.h
v8_initializer.cc
v8_initializer.h
v8_isolate_memory_dump_provider.cc
v8_isolate_memory_dump_provider.h
v8_isolate_memory_dump_provider_unittest.cc
v8_platform.cc
v8_platform_page_allocator.cc
v8_platform_page_allocator.h
v8_platform_page_allocator_unittest.cc
v8_platform_thread_isolated_allocator.cc
v8_platform_thread_isolated_allocator.h
v8_platform_unittest.cc
v8_shared_memory_dump_provider.cc
v8_shared_memory_dump_provider.h
v8_shared_memory_dump_provider_unittest.cc
wrappable.cc
wrappable.h
wrappable_unittest.cc
wrapper_info.cc
google_apis
gpu
headless
infra
internal
ios
ios_internal
ipc
media
mojo
native_client
native_client_sdk
net
pdf
ppapi
printing
remoting
rlz
sandbox
services
signing_keys
skia
sql
storage
styleguide
testing
third_party
tools
ui
url
v8
webkit
.clang-format
.clang-tidy
.clangd
.git-blame-ignore-revs
.gitallowed
.gitattributes
.gitignore
.gitmodules
.gn
.mailmap
.rustfmt.toml
.vpython3
.yapfignore
ATL_OWNERS
AUTHORS
BUILD.gn
CODE_OF_CONDUCT.md
CPPLINT.cfg
CRYPTO_OWNERS
DEPS
DIR_METADATA
LICENSE
LICENSE.chromium_os
OWNERS
PRESUBMIT.py
PRESUBMIT_test.py
PRESUBMIT_test_mocks.py
README.md
WATCHLISTS
codereview.settings
src/gin
Peter Boström c922632dc6 Remove most remaining CHECK(false)s
In most cases NOTREACHED() is now a better option. Also performs
dead-code removal.

Bug: 40122554
Change-Id: Ia0479bc9b347f8f60a3932ef16c8b99b87f34a71
Low-Coverage-Reason: OTHER Should-be-unreachable code
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038981
Commit-Queue: Peter Boström <pbos@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Auto-Submit: Peter Boström <pbos@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1386708}
2024-11-22 10:42:01 +00: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.