mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Enable V8 sandbox by default (fixes #3332)
When the V8 sandbox is enabled, ArrayBuffer backing stores must be allocated inside the sandbox address space. This change introduces a new CefV8Value::CreateArrayBufferWithCopy method that copies the memory contents into the sandbox address space. Enabling the V8 sandbox can have a performance impact, especially when passing large ArrayBuffers from C++ code to the JS side. We have therefore retained the old CefV8Value::CreateArrayBuffer method that references external memory. However, this method can only be used if the V8 sandbox is disabled at CEF/Chromium build time. To disable the V8 sandbox add `v8_enable_sandbox=false` to `GN_DEFINES` when building CEF/Chromium.
This commit is contained in:
committed by
Marshall Greenblatt
parent
08ae3a44a6
commit
295ea1f715
@ -28,6 +28,13 @@ def make_config_header(gn_config):
|
||||
not 'ozone_platform_x11=false' in lines:
|
||||
defines.append('#define CEF_X11 1')
|
||||
|
||||
# If the V8 sandbox is not disabled explicitly and
|
||||
# the target_cpu is arm64 or x64 (see v8_enable_pointer_compression)
|
||||
# add CEF_V8_ENABLE_SANDBOX define used in cef_message_router.h
|
||||
if not 'v8_enable_sandbox=false' in lines and \
|
||||
('target_cpu="arm64"' in lines or 'target_cpu="x64"' in lines):
|
||||
defines.append('#define CEF_V8_ENABLE_SANDBOX 1')
|
||||
|
||||
result = get_copyright(full=True, translator=False) + \
|
||||
"""//
|
||||
// ---------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user