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 "config.h" | 5 #include "config.h" |
6 #include "bindings/core/v8/ScriptValueSerializer.h" | 6 #include "bindings/core/v8/ScriptValueSerializer.h" |
7 | 7 |
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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 { | 669 { |
670 ASSERT(!tryCatch.HasCaught()); | 670 ASSERT(!tryCatch.HasCaught()); |
671 v8::Local<v8::Object> creationContext = m_scriptState->context()->Global(); | 671 v8::Local<v8::Object> creationContext = m_scriptState->context()->Global(); |
672 if (messagePorts) { | 672 if (messagePorts) { |
673 for (size_t i = 0; i < messagePorts->size(); i++) | 673 for (size_t i = 0; i < messagePorts->size(); i++) |
674 m_transferredMessagePorts.set(toV8Object(messagePorts->at(i).get(),
creationContext, isolate()), i); | 674 m_transferredMessagePorts.set(toV8Object(messagePorts->at(i).get(),
creationContext, isolate()), i); |
675 } | 675 } |
676 if (arrayBuffers) { | 676 if (arrayBuffers) { |
677 for (size_t i = 0; i < arrayBuffers->size(); i++) { | 677 for (size_t i = 0; i < arrayBuffers->size(); i++) { |
678 v8::Local<v8::Object> v8ArrayBuffer = toV8Object(arrayBuffers->at(i)
.get(), creationContext, isolate()); | 678 v8::Local<v8::Object> v8ArrayBuffer = toV8Object(arrayBuffers->at(i)
.get(), creationContext, isolate()); |
679 // Coalesce multiple occurences of the same buffer to the first inde
x. | 679 // Coalesce multiple occurrences of the same buffer to the first ind
ex. |
680 if (!m_transferredArrayBuffers.contains(v8ArrayBuffer)) | 680 if (!m_transferredArrayBuffers.contains(v8ArrayBuffer)) |
681 m_transferredArrayBuffers.set(v8ArrayBuffer, i); | 681 m_transferredArrayBuffers.set(v8ArrayBuffer, i); |
682 } | 682 } |
683 } | 683 } |
684 } | 684 } |
685 | 685 |
686 ScriptValueSerializer::Status ScriptValueSerializer::serialize(v8::Local<v8::Val
ue> value) | 686 ScriptValueSerializer::Status ScriptValueSerializer::serialize(v8::Local<v8::Val
ue> value) |
687 { | 687 { |
688 v8::HandleScope scope(isolate()); | 688 v8::HandleScope scope(isolate()); |
689 m_writer.writeVersion(); | 689 m_writer.writeVersion(); |
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2157 return false; | 2157 return false; |
2158 uint32_t objectReference = m_openCompositeReferenceStack[m_openCompositeRefe
renceStack.size() - 1]; | 2158 uint32_t objectReference = m_openCompositeReferenceStack[m_openCompositeRefe
renceStack.size() - 1]; |
2159 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() -
1); | 2159 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() -
1); |
2160 if (objectReference >= m_objectPool.size()) | 2160 if (objectReference >= m_objectPool.size()) |
2161 return false; | 2161 return false; |
2162 *object = m_objectPool[objectReference]; | 2162 *object = m_objectPool[objectReference]; |
2163 return true; | 2163 return true; |
2164 } | 2164 } |
2165 | 2165 |
2166 } // namespace blink | 2166 } // namespace blink |
OLD | NEW |