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

Side by Side Diff: src/value-serializer.cc

Issue 2466563002: Remove DCHECK that transferred array buffers are neutered or shared. (Closed)
Patch Set: now with unit test update Created 4 years, 1 month 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 | test/unittests/value-serializer-unittest.cc » ('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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project 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 "src/value-serializer.h" 5 #include "src/value-serializer.h"
6 6
7 #include <type_traits> 7 #include <type_traits>
8 8
9 #include "src/base/logging.h" 9 #include "src/base/logging.h"
10 #include "src/conversions.h" 10 #include "src/conversions.h"
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 } 661 }
662 } 662 }
663 WriteTag(SerializationTag::kEndJSSet); 663 WriteTag(SerializationTag::kEndJSSet);
664 WriteVarint<uint32_t>(length); 664 WriteVarint<uint32_t>(length);
665 return Just(true); 665 return Just(true);
666 } 666 }
667 667
668 Maybe<bool> ValueSerializer::WriteJSArrayBuffer(JSArrayBuffer* array_buffer) { 668 Maybe<bool> ValueSerializer::WriteJSArrayBuffer(JSArrayBuffer* array_buffer) {
669 uint32_t* transfer_entry = array_buffer_transfer_map_.Find(array_buffer); 669 uint32_t* transfer_entry = array_buffer_transfer_map_.Find(array_buffer);
670 if (transfer_entry) { 670 if (transfer_entry) {
671 DCHECK(array_buffer->was_neutered() || array_buffer->is_shared());
672 WriteTag(array_buffer->is_shared() 671 WriteTag(array_buffer->is_shared()
673 ? SerializationTag::kSharedArrayBufferTransfer 672 ? SerializationTag::kSharedArrayBufferTransfer
674 : SerializationTag::kArrayBufferTransfer); 673 : SerializationTag::kArrayBufferTransfer);
675 WriteVarint(*transfer_entry); 674 WriteVarint(*transfer_entry);
676 return Just(true); 675 return Just(true);
677 } 676 }
678 677
679 if (array_buffer->is_shared()) { 678 if (array_buffer->is_shared()) {
680 ThrowDataCloneError( 679 ThrowDataCloneError(
681 MessageTemplate::kDataCloneErrorSharedArrayBufferNotTransferred); 680 MessageTemplate::kDataCloneErrorSharedArrayBufferNotTransferred);
(...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after
1734 if (stack.size() != 1) { 1733 if (stack.size() != 1) {
1735 isolate_->Throw(*isolate_->factory()->NewError( 1734 isolate_->Throw(*isolate_->factory()->NewError(
1736 MessageTemplate::kDataCloneDeserializationError)); 1735 MessageTemplate::kDataCloneDeserializationError));
1737 return MaybeHandle<Object>(); 1736 return MaybeHandle<Object>();
1738 } 1737 }
1739 return scope.CloseAndEscape(stack[0]); 1738 return scope.CloseAndEscape(stack[0]);
1740 } 1739 }
1741 1740
1742 } // namespace internal 1741 } // namespace internal
1743 } // namespace v8 1742 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | test/unittests/value-serializer-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698