OLD | NEW |
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 #include "bindings/core/v8/ScriptValueSerializer.h" | 5 #include "bindings/core/v8/ScriptValueSerializer.h" |
6 | 6 |
7 #include "bindings/core/v8/Transferables.h" | 7 #include "bindings/core/v8/Transferables.h" |
8 #include "bindings/core/v8/V8ArrayBuffer.h" | 8 #include "bindings/core/v8/V8ArrayBuffer.h" |
9 #include "bindings/core/v8/V8ArrayBufferView.h" | 9 #include "bindings/core/v8/V8ArrayBufferView.h" |
10 #include "bindings/core/v8/V8Blob.h" | 10 #include "bindings/core/v8/V8Blob.h" |
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
801 isolate(), transferables->offscreenCanvases, exceptionState); | 801 isolate(), transferables->offscreenCanvases, exceptionState); |
802 } | 802 } |
803 | 803 |
804 // static | 804 // static |
805 String ScriptValueSerializer::serializeWTFString(const String& data) { | 805 String ScriptValueSerializer::serializeWTFString(const String& data) { |
806 SerializedScriptValueWriter valueWriter; | 806 SerializedScriptValueWriter valueWriter; |
807 valueWriter.writeWebCoreString(data); | 807 valueWriter.writeWebCoreString(data); |
808 return valueWriter.takeWireString(); | 808 return valueWriter.takeWireString(); |
809 } | 809 } |
810 | 810 |
811 // static | |
812 String ScriptValueSerializer::serializeNullValue() { | |
813 SerializedScriptValueWriter valueWriter; | |
814 valueWriter.writeNull(); | |
815 return valueWriter.takeWireString(); | |
816 } | |
817 | |
818 ScriptValueSerializer::StateBase* ScriptValueSerializer::doSerialize( | 811 ScriptValueSerializer::StateBase* ScriptValueSerializer::doSerialize( |
819 v8::Local<v8::Value> value, | 812 v8::Local<v8::Value> value, |
820 StateBase* next) { | 813 StateBase* next) { |
821 m_writer.writeReferenceCount(m_nextObjectReference); | 814 m_writer.writeReferenceCount(m_nextObjectReference); |
822 | 815 |
823 if (value.IsEmpty()) | 816 if (value.IsEmpty()) |
824 return handleError(Status::InputError, | 817 return handleError(Status::InputError, |
825 "The empty property cannot be cloned.", next); | 818 "The empty property cannot be cloned.", next); |
826 | 819 |
827 uint32_t objectReference; | 820 uint32_t objectReference; |
(...skipping 1808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2636 m_openCompositeReferenceStack[m_openCompositeReferenceStack.size() - 1]; | 2629 m_openCompositeReferenceStack[m_openCompositeReferenceStack.size() - 1]; |
2637 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() - | 2630 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() - |
2638 1); | 2631 1); |
2639 if (objectReference >= m_objectPool.size()) | 2632 if (objectReference >= m_objectPool.size()) |
2640 return false; | 2633 return false; |
2641 *object = m_objectPool[objectReference]; | 2634 *object = m_objectPool[objectReference]; |
2642 return true; | 2635 return true; |
2643 } | 2636 } |
2644 | 2637 |
2645 } // namespace blink | 2638 } // namespace blink |
OLD | NEW |