Chromium Code Reviews

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

Issue 2494823002: V8ScriptValueSerializer: Use PartitionAlloc for the buffer, and avoid copying it into a String. (Closed)
Patch Set: mild streamlining Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 #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 793 matching lines...)
804 } 804 }
805 805
806 return serializedValue.release(); 806 return serializedValue.release();
807 } 807 }
808 808
809 void ScriptValueSerializer::transferData( 809 void ScriptValueSerializer::transferData(
810 Transferables* transferables, 810 Transferables* transferables,
811 ExceptionState& exceptionState, 811 ExceptionState& exceptionState,
812 SerializedScriptValue* serializedValue) { 812 SerializedScriptValue* serializedValue) {
813 serializedValue->setData(m_writer.takeWireString()); 813 serializedValue->setData(m_writer.takeWireString());
814 DCHECK(serializedValue->data().impl()->hasOneRef()); 814 DCHECK(serializedValue->dataHasOneRef());
815 if (!transferables) 815 if (!transferables)
816 return; 816 return;
817 817
818 serializedValue->transferImageBitmaps(isolate(), transferables->imageBitmaps, 818 serializedValue->transferImageBitmaps(isolate(), transferables->imageBitmaps,
819 exceptionState); 819 exceptionState);
820 if (exceptionState.hadException()) 820 if (exceptionState.hadException())
821 return; 821 return;
822 serializedValue->transferArrayBuffers(isolate(), transferables->arrayBuffers, 822 serializedValue->transferArrayBuffers(isolate(), transferables->arrayBuffers,
823 exceptionState); 823 exceptionState);
824 if (exceptionState.hadException()) 824 if (exceptionState.hadException())
(...skipping 1851 matching lines...)
2676 m_openCompositeReferenceStack[m_openCompositeReferenceStack.size() - 1]; 2676 m_openCompositeReferenceStack[m_openCompositeReferenceStack.size() - 1];
2677 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() - 2677 m_openCompositeReferenceStack.shrink(m_openCompositeReferenceStack.size() -
2678 1); 2678 1);
2679 if (objectReference >= m_objectPool.size()) 2679 if (objectReference >= m_objectPool.size())
2680 return false; 2680 return false;
2681 *object = m_objectPool[objectReference]; 2681 *object = m_objectPool[objectReference];
2682 return true; 2682 return true;
2683 } 2683 }
2684 2684
2685 } // namespace blink 2685 } // namespace blink
OLDNEW

Powered by Google App Engine