| 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 |