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

Side by Side Diff: Source/bindings/core/v8/SerializedScriptValue.h

Issue 1205973002: Support structured cloning of ES'15 Map and Set (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add new test for Map/Set serialization format Created 5 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2009, 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 class CORE_EXPORT SerializedScriptValue : public ThreadSafeRefCounted<Serialized ScriptValue> { 59 class CORE_EXPORT SerializedScriptValue : public ThreadSafeRefCounted<Serialized ScriptValue> {
60 public: 60 public:
61 // Increment this for each incompatible change to the wire format. 61 // Increment this for each incompatible change to the wire format.
62 // Version 2: Added StringUCharTag for UChar v8 strings. 62 // Version 2: Added StringUCharTag for UChar v8 strings.
63 // Version 3: Switched to using uuids as blob data identifiers. 63 // Version 3: Switched to using uuids as blob data identifiers.
64 // Version 4: Extended File serialization to be complete. 64 // Version 4: Extended File serialization to be complete.
65 // Version 5: Added CryptoKeyTag for Key objects. 65 // Version 5: Added CryptoKeyTag for Key objects.
66 // Version 6: Added indexed serialization for File, Blob, and FileList. 66 // Version 6: Added indexed serialization for File, Blob, and FileList.
67 // Version 7: Extended File serialization with user visibility. 67 // Version 7: Extended File serialization with user visibility.
68 // Version 8: File.lastModified in milliseconds (seconds-based in earlier ve rsions.) 68 // Version 8: File.lastModified in milliseconds (seconds-based in earlier ve rsions.)
69 static const uint32_t wireFormatVersion = 8; 69 // Version 9: Added Map and Set support.
70 static const uint32_t wireFormatVersion = 9;
70 71
71 // VarInt encoding constants. 72 // VarInt encoding constants.
72 static const int varIntShift = 7; 73 static const int varIntShift = 7;
73 static const int varIntMask = (1 << varIntShift) - 1; 74 static const int varIntMask = (1 << varIntShift) - 1;
74 75
75 virtual ~SerializedScriptValue(); 76 virtual ~SerializedScriptValue();
76 77
77 static PassRefPtr<SerializedScriptValue> nullValue(); 78 static PassRefPtr<SerializedScriptValue> nullValue();
78 79
79 String toWireString() const { return m_data; } 80 String toWireString() const { return m_data; }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 OwnPtr<ArrayBufferContentsArray> m_arrayBufferContentsArray; 121 OwnPtr<ArrayBufferContentsArray> m_arrayBufferContentsArray;
121 BlobDataHandleMap m_blobDataHandles; 122 BlobDataHandleMap m_blobDataHandles;
122 intptr_t m_externallyAllocatedMemory; 123 intptr_t m_externallyAllocatedMemory;
123 124
124 friend class SerializedScriptValueFactory; 125 friend class SerializedScriptValueFactory;
125 }; 126 };
126 127
127 } // namespace blink 128 } // namespace blink
128 129
129 #endif // SerializedScriptValue_h 130 #endif // SerializedScriptValue_h
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/SerializationTag.h ('k') | public/web/WebSerializedScriptValueVersion.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698