1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2026-04-13 01:10:33 +02:00
Files
CEF4Delphi/docs/html/uCEFv8BackingStore.TCefv8BackingStoreRef.html
Salvador Díaz Fau 30d9edd993
Some checks failed
Make / build (ubuntu-latest) (push) Has been cancelled
Update to CEF 146.0.10
2026-04-04 18:01:24 +02:00

115 lines
7.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>cef4delphi: uCEFv8BackingStore: Class TCefv8BackingStoreRef</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="PasDoc 1.0.4">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="bootstrap.min.css">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
<style type="text/css">
body { margin: 0.5em; }
.badge { padding: 0.1em 0.5em; color: white; }
</style></head>
<body>
<span id="TCefv8BackingStoreRef"></span><h1 class="cio">Class TCefv8BackingStoreRef</h1>
<div class="sections">
<div class="one_section"><a class="section" href="#PasDoc-Description">Description</a></div><div class="one_section"><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></div><div class="one_section"><a class="section" href="#PasDoc-Methods">Methods</a></div></div>
<span id="PasDoc-Description"></span><h2 class="unit">Unit</h2>
<p class="unitlink">
<a href="uCEFv8BackingStore.html">uCEFv8BackingStore</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TCefv8BackingStoreRef = class(<a class="normal" href="uCEFBaseRefCounted.TCefBaseRefCountedRef.html">TCefBaseRefCountedRef</a>, <a class="normal" href="uCEFInterfaces.ICefv8BackingStore.html">ICefv8BackingStore</a>)</code></p>
<h2 class="description">Description</h2>
<p>
<p>Structure representing a V8 ArrayBuffer backing store. The backing store holds the memory that backs an ArrayBuffer. It must be created on a thread with a valid V8 isolate (renderer main thread or WebWorker thread). Once created, the data() pointer can be safely read/written from any thread. This allows expensive operations like memcpy to be performed on a background thread before creating the ArrayBuffer on the V8 thread.
<p>The backing store is consumed when passed to TCefv8ValueRef.NewArrayBufferFromBackingStore(), after which IsValid() returns false (0).
<p></p>
<p>
<p>&lt;see href=&quot;<a href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h</a>&quot;&gt;CEF source file: /include/capi/cef_v8_capi.h (cef_v8_backing_store_t))</p>
<span id="PasDoc-Hierarchy"></span><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TInterfacedObject</li>
<li class="ancestor"><a class="normal" href="uCEFBaseRefCounted.TCefBaseRefCountedRef.html">TCefBaseRefCountedRef</a></li>
<li class="thisitem">TCefv8BackingStoreRef</li></ul><h2 class="overview">Overview</h2>
<span id="PasDoc-Methods"></span><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><code>function <strong><a href="uCEFv8BackingStore.TCefv8BackingStoreRef.html#data">data</a></strong>: Pointer;</code></td>
</tr>
<tr class="list2 visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><code>function <strong><a href="uCEFv8BackingStore.TCefv8BackingStoreRef.html#ByteLength">ByteLength</a></strong>: <a href="uCEFTypes.html#NativeUInt">NativeUInt</a>;</code></td>
</tr>
<tr class="list visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><code>function <strong><a href="uCEFv8BackingStore.TCefv8BackingStoreRef.html#IsValid">IsValid</a></strong>: boolean;</code></td>
</tr>
<tr class="list2 visibility-public">
<td class="visibility"><span class="badge vis-public">Public</span></td>
<td class="itemcode"><code>class function <strong><a href="uCEFv8BackingStore.TCefv8BackingStoreRef.html#UnWrap-Pointer-">UnWrap</a></strong>(data_: Pointer): <a href="uCEFInterfaces.ICefv8BackingStore.html">ICefv8BackingStore</a>;</code></td>
</tr>
<tr class="list visibility-public">
<td class="visibility"><span class="badge vis-public">Public</span></td>
<td class="itemcode"><code>class function <strong><a href="uCEFv8BackingStore.TCefv8BackingStoreRef.html#New-NativeUInt-">New</a></strong>(byte_length: <a href="uCEFTypes.html#NativeUInt">NativeUInt</a>): <a href="uCEFInterfaces.ICefv8BackingStore.html">ICefv8BackingStore</a>;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Methods</h3>
<table class="detail visibility-protected wide_list">
<tr class="list visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><span id="data"></span><code>function <strong>data</strong>: Pointer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Returns a pointer to the allocated memory, or nullptr if the backing store has been consumed or is otherwise invalid. The pointer is safe to read/write from any thread. The caller must ensure all writes are complete before passing this object to TCefv8ValueRef.NewArrayBufferFromBackingStore(). Pointers obtained from this function should not be retained after calling TCefv8ValueRef.NewArrayBufferFromBackingStore(), as the memory will then be owned by the ArrayBuffer and subject to V8 garbage collection. </p>
</td></tr>
</table>
<table class="detail visibility-protected wide_list">
<tr class="list visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><span id="ByteLength"></span><code>function <strong>ByteLength</strong>: <a href="uCEFTypes.html#NativeUInt">NativeUInt</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Returns the size of the allocated memory in bytes, or 0 if the backing store has been consumed. </p>
</td></tr>
</table>
<table class="detail visibility-protected wide_list">
<tr class="list visibility-protected">
<td class="visibility"><span class="badge vis-protected">Protected</span></td>
<td class="itemcode"><span id="IsValid"></span><code>function <strong>IsValid</strong>: boolean;</code></td>
</tr>
<tr><td colspan="2">
<p>
Returns true (1) if this backing store has not yet been consumed by TCefv8ValueRef.NewArrayBufferFromBackingStore(). </p>
</td></tr>
</table>
<table class="detail visibility-public wide_list">
<tr class="list visibility-public">
<td class="visibility"><span class="badge vis-public">Public</span></td>
<td class="itemcode"><span id="UnWrap-Pointer-"></span><code>class function <strong>UnWrap</strong>(data_: Pointer): <a href="uCEFInterfaces.ICefv8BackingStore.html">ICefv8BackingStore</a>;</code></td>
</tr>
<tr><td colspan="2">
<p class="nodescription">This item has no description.</p></td></tr>
</table>
<table class="detail visibility-public wide_list">
<tr class="list visibility-public">
<td class="visibility"><span class="badge vis-public">Public</span></td>
<td class="itemcode"><span id="New-NativeUInt-"></span><code>class function <strong>New</strong>(byte_length: <a href="uCEFTypes.html#NativeUInt">NativeUInt</a>): <a href="uCEFInterfaces.ICefv8BackingStore.html">ICefv8BackingStore</a>;</code></td>
</tr>
<tr><td colspan="2">
<p class="nodescription">This item has no description.</p></td></tr>
</table>
<hr><span class="appinfo"><em>Generated by <a href="https://pasdoc.github.io/">PasDoc 1.0.4</a>. </em>
</span>
</body></html>