Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: include/v8.h

Issue 2275033003: Blink-compatible serialization of ArrayBuffer transfer. (Closed)
Patch Set: Accepts Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** \mainpage V8 API Reference Guide 5 /** \mainpage V8 API Reference Guide
6 * 6 *
7 * V8 is Google's open source JavaScript engine. 7 * V8 is Google's open source JavaScript engine.
8 * 8 *
9 * This set of documents provides reference material generated from the 9 * This set of documents provides reference material generated from the
10 * V8 header file, include/v8.h. 10 * V8 header file, include/v8.h.
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 #endif // V8_OS_WIN 64 #endif // V8_OS_WIN
65 65
66 /** 66 /**
67 * The v8 JavaScript engine. 67 * The v8 JavaScript engine.
68 */ 68 */
69 namespace v8 { 69 namespace v8 {
70 70
71 class AccessorSignature; 71 class AccessorSignature;
72 class Array; 72 class Array;
73 class ArrayBuffer;
73 class Boolean; 74 class Boolean;
74 class BooleanObject; 75 class BooleanObject;
75 class Context; 76 class Context;
76 class CpuProfiler; 77 class CpuProfiler;
77 class Data; 78 class Data;
78 class Date; 79 class Date;
79 class External; 80 class External;
80 class Function; 81 class Function;
81 class FunctionTemplate; 82 class FunctionTemplate;
82 class HeapProfiler; 83 class HeapProfiler;
(...skipping 1599 matching lines...) Expand 10 before | Expand all | Expand 10 after
1682 */ 1683 */
1683 V8_WARN_UNUSED_RESULT Maybe<bool> WriteValue(Local<Context> context, 1684 V8_WARN_UNUSED_RESULT Maybe<bool> WriteValue(Local<Context> context,
1684 Local<Value> value); 1685 Local<Value> value);
1685 1686
1686 /* 1687 /*
1687 * Returns the stored data. This serializer should not be used once the buffer 1688 * Returns the stored data. This serializer should not be used once the buffer
1688 * is released. The contents are undefined if a previous write has failed. 1689 * is released. The contents are undefined if a previous write has failed.
1689 */ 1690 */
1690 std::vector<uint8_t> ReleaseBuffer(); 1691 std::vector<uint8_t> ReleaseBuffer();
1691 1692
1693 /*
1694 * Marks an ArrayBuffer as havings its contents transferred out of band.
1695 * Pass the corresponding JSArrayBuffer in the deserializing context to
1696 * ValueDeserializer::TransferArrayBuffer.
1697 */
1698 void TransferArrayBuffer(uint32_t transfer_id,
1699 Local<ArrayBuffer> array_buffer);
1700
1692 private: 1701 private:
1693 ValueSerializer(const ValueSerializer&) = delete; 1702 ValueSerializer(const ValueSerializer&) = delete;
1694 void operator=(const ValueSerializer&) = delete; 1703 void operator=(const ValueSerializer&) = delete;
1695 1704
1696 struct PrivateData; 1705 struct PrivateData;
1697 PrivateData* private_; 1706 PrivateData* private_;
1698 }; 1707 };
1699 1708
1700 /** 1709 /**
1701 * Deserializes values from data written with ValueSerializer, or a compatible 1710 * Deserializes values from data written with ValueSerializer, or a compatible
(...skipping 13 matching lines...) Expand all
1715 * May, for example, reject an invalid or unsupported wire format. 1724 * May, for example, reject an invalid or unsupported wire format.
1716 */ 1725 */
1717 V8_WARN_UNUSED_RESULT Maybe<bool> ReadHeader(); 1726 V8_WARN_UNUSED_RESULT Maybe<bool> ReadHeader();
1718 1727
1719 /* 1728 /*
1720 * Deserializes a JavaScript value from the buffer. 1729 * Deserializes a JavaScript value from the buffer.
1721 */ 1730 */
1722 V8_WARN_UNUSED_RESULT MaybeLocal<Value> ReadValue(Local<Context> context); 1731 V8_WARN_UNUSED_RESULT MaybeLocal<Value> ReadValue(Local<Context> context);
1723 1732
1724 /* 1733 /*
1734 * Accepts the array buffer corresponding to the one passed previously to
1735 * ValueSerializer::TransferArrayBuffer.
1736 */
1737 void TransferArrayBuffer(uint32_t transfer_id,
1738 Local<ArrayBuffer> array_buffer);
1739
1740 /*
1725 * Must be called before ReadHeader to enable support for reading the legacy 1741 * Must be called before ReadHeader to enable support for reading the legacy
1726 * wire format (i.e., which predates this being shipped). 1742 * wire format (i.e., which predates this being shipped).
1727 * 1743 *
1728 * Don't use this unless you need to read data written by previous versions of 1744 * Don't use this unless you need to read data written by previous versions of
1729 * blink::ScriptValueSerializer. 1745 * blink::ScriptValueSerializer.
1730 */ 1746 */
1731 void SetSupportsLegacyWireFormat(bool supports_legacy_wire_format); 1747 void SetSupportsLegacyWireFormat(bool supports_legacy_wire_format);
1732 1748
1733 /* 1749 /*
1734 * Reads the underlying wire format version. Likely mostly to be useful to 1750 * Reads the underlying wire format version. Likely mostly to be useful to
(...skipping 7355 matching lines...) Expand 10 before | Expand all | Expand 10 after
9090 */ 9106 */
9091 9107
9092 9108
9093 } // namespace v8 9109 } // namespace v8
9094 9110
9095 9111
9096 #undef TYPE_CHECK 9112 #undef TYPE_CHECK
9097 9113
9098 9114
9099 #endif // INCLUDE_V8_H_ 9115 #endif // INCLUDE_V8_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698