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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.h

Issue 2017543002: [Binding] [Refactoring] Make SerializedScriptValueWriter protected (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: writeNull() Created 4 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium 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 #ifndef ScriptValueSerializer_h 5 #ifndef ScriptValueSerializer_h
6 #define ScriptValueSerializer_h 6 #define ScriptValueSerializer_h
7 7
8 #include "bindings/core/v8/SerializationTag.h" 8 #include "bindings/core/v8/SerializationTag.h"
9 #include "bindings/core/v8/SerializedScriptValue.h" 9 #include "bindings/core/v8/SerializedScriptValue.h"
10 #include "bindings/core/v8/V8Binding.h" 10 #include "bindings/core/v8/V8Binding.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 STACK_ALLOCATED(); 103 STACK_ALLOCATED();
104 WTF_MAKE_NONCOPYABLE(SerializedScriptValueWriter); 104 WTF_MAKE_NONCOPYABLE(SerializedScriptValueWriter);
105 public: 105 public:
106 typedef UChar BufferValueType; 106 typedef UChar BufferValueType;
107 107
108 SerializedScriptValueWriter() 108 SerializedScriptValueWriter()
109 : m_position(0) 109 : m_position(0)
110 { 110 {
111 } 111 }
112 112
113 // TODO(peria): Protect this mehtod.
114 String takeWireString();
115
116 protected:
117 friend class ScriptValueSerializer;
118
113 // Write functions for primitive types. 119 // Write functions for primitive types.
114
115 void writeUndefined(); 120 void writeUndefined();
116 void writeNull(); 121 void writeNull();
117 void writeTrue(); 122 void writeTrue();
118 void writeFalse(); 123 void writeFalse();
119 void writeBooleanObject(bool value); 124 void writeBooleanObject(bool value);
120 void writeOneByteString(v8::Local<v8::String>&); 125 void writeOneByteString(v8::Local<v8::String>&);
121 void writeUCharString(v8::Local<v8::String>&); 126 void writeUCharString(v8::Local<v8::String>&);
122 void writeStringObject(const char* data, int length); 127 void writeStringObject(const char* data, int length);
123 void writeWebCoreString(const String&); 128 void writeWebCoreString(const String&);
124 void writeVersion(); 129 void writeVersion();
(...skipping 17 matching lines...) Expand all
142 void writeRegExp(v8::Local<v8::String> pattern, v8::RegExp::Flags); 147 void writeRegExp(v8::Local<v8::String> pattern, v8::RegExp::Flags);
143 void writeTransferredMessagePort(uint32_t index); 148 void writeTransferredMessagePort(uint32_t index);
144 void writeTransferredArrayBuffer(uint32_t index); 149 void writeTransferredArrayBuffer(uint32_t index);
145 void writeTransferredImageBitmap(uint32_t index); 150 void writeTransferredImageBitmap(uint32_t index);
146 void writeTransferredOffscreenCanvas(uint32_t index, uint32_t width, uint32_ t height, uint32_t id); 151 void writeTransferredOffscreenCanvas(uint32_t index, uint32_t width, uint32_ t height, uint32_t id);
147 void writeTransferredSharedArrayBuffer(uint32_t index); 152 void writeTransferredSharedArrayBuffer(uint32_t index);
148 void writeObjectReference(uint32_t reference); 153 void writeObjectReference(uint32_t reference);
149 void writeObject(uint32_t numProperties); 154 void writeObject(uint32_t numProperties);
150 void writeSparseArray(uint32_t numProperties, uint32_t length); 155 void writeSparseArray(uint32_t numProperties, uint32_t length);
151 void writeDenseArray(uint32_t numProperties, uint32_t length); 156 void writeDenseArray(uint32_t numProperties, uint32_t length);
152 String takeWireString();
153 void writeReferenceCount(uint32_t numberOfReferences); 157 void writeReferenceCount(uint32_t numberOfReferences);
154 void writeGenerateFreshObject(); 158 void writeGenerateFreshObject();
155 void writeGenerateFreshSparseArray(uint32_t length); 159 void writeGenerateFreshSparseArray(uint32_t length);
156 void writeGenerateFreshDenseArray(uint32_t length); 160 void writeGenerateFreshDenseArray(uint32_t length);
157 void writeGenerateFreshMap(); 161 void writeGenerateFreshMap();
158 void writeGenerateFreshSet(); 162 void writeGenerateFreshSet();
159 void writeMap(uint32_t length); 163 void writeMap(uint32_t length);
160 void writeSet(uint32_t length); 164 void writeSet(uint32_t length);
161 165
162 protected:
163 void doWriteFile(const File&); 166 void doWriteFile(const File&);
164 void doWriteArrayBuffer(const DOMArrayBuffer&); 167 void doWriteArrayBuffer(const DOMArrayBuffer&);
165 void doWriteString(const char* data, int length); 168 void doWriteString(const char* data, int length);
166 void doWriteWebCoreString(const String&); 169 void doWriteWebCoreString(const String&);
167 int bytesNeededToWireEncode(uint32_t value); 170 int bytesNeededToWireEncode(uint32_t value);
168 171
169 template<class T> 172 template<class T>
170 void doWriteUintHelper(T value) 173 void doWriteUintHelper(T value)
171 { 174 {
172 while (true) { 175 while (true) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 JSException 212 JSException
210 }; 213 };
211 214
212 ScriptValueSerializer(SerializedScriptValueWriter&, const Transferables*, We bBlobInfoArray*, BlobDataHandleMap& blobDataHandles, v8::TryCatch&, ScriptState* ); 215 ScriptValueSerializer(SerializedScriptValueWriter&, const Transferables*, We bBlobInfoArray*, BlobDataHandleMap& blobDataHandles, v8::TryCatch&, ScriptState* );
213 v8::Isolate* isolate() { return m_scriptState->isolate(); } 216 v8::Isolate* isolate() { return m_scriptState->isolate(); }
214 v8::Local<v8::Context> context() { return m_scriptState->context(); } 217 v8::Local<v8::Context> context() { return m_scriptState->context(); }
215 218
216 Status serialize(v8::Local<v8::Value>); 219 Status serialize(v8::Local<v8::Value>);
217 String errorMessage() { return m_errorMessage; } 220 String errorMessage() { return m_errorMessage; }
218 221
222 static String serializeWTFString(const String&);
223 static String serializeNullValue();
224
219 protected: 225 protected:
220 class StateBase { 226 class StateBase {
221 USING_FAST_MALLOC(StateBase); 227 USING_FAST_MALLOC(StateBase);
222 WTF_MAKE_NONCOPYABLE(StateBase); 228 WTF_MAKE_NONCOPYABLE(StateBase);
223 public: 229 public:
224 virtual ~StateBase() { } 230 virtual ~StateBase() { }
225 231
226 // Link to the next state to form a stack. 232 // Link to the next state to form a stack.
227 StateBase* nextState() { return m_next; } 233 StateBase* nextState() { return m_next; }
228 234
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 ArrayBufferContentsArray* m_arrayBufferContents; 623 ArrayBufferContentsArray* m_arrayBufferContents;
618 ImageBitmapContentsArray* m_imageBitmapContents; 624 ImageBitmapContentsArray* m_imageBitmapContents;
619 Vector<v8::Local<v8::Value>> m_arrayBuffers; 625 Vector<v8::Local<v8::Value>> m_arrayBuffers;
620 Vector<v8::Local<v8::Value>> m_imageBitmaps; 626 Vector<v8::Local<v8::Value>> m_imageBitmaps;
621 uint32_t m_version; 627 uint32_t m_version;
622 }; 628 };
623 629
624 } // namespace blink 630 } // namespace blink
625 631
626 #endif // ScriptValueSerializer_h 632 #endif // ScriptValueSerializer_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/bindings/core/v8/ScriptValueSerializer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698