| Index: runtime/bin/secure_socket.cc
|
| ===================================================================
|
| --- runtime/bin/secure_socket.cc (revision 22905)
|
| +++ runtime/bin/secure_socket.cc (working copy)
|
| @@ -272,10 +272,10 @@
|
| if (!library_initialized_) {
|
| InitializeLibrary(NULL, "", true, false);
|
| }
|
| - string_start_ = ThrowIfError(
|
| - Dart_NewPersistentHandle(DartUtils::NewString("start")));
|
| - string_length_ = ThrowIfError(
|
| - Dart_NewPersistentHandle(DartUtils::NewString("length")));
|
| + string_start_ = Dart_NewPersistentHandle(DartUtils::NewString("start"));
|
| + ASSERT(string_start_ != NULL);
|
| + string_length_ = Dart_NewPersistentHandle(DartUtils::NewString("length"));
|
| + ASSERT(string_length_ != NULL);
|
|
|
| InitializeBuffers(dart_this);
|
| filter_ = memio_CreateIOLayer(kMemioBufferSize);
|
| @@ -313,12 +313,13 @@
|
| Dart_Handle data_identifier = DartUtils::NewString("data");
|
| for (int i = 0; i < kNumBuffers; ++i) {
|
| int size = isEncrypted(i) ? encrypted_buffer_size_ : buffer_size_;
|
| - dart_buffer_objects_[i] = ThrowIfError(
|
| - Dart_NewPersistentHandle(Dart_ListGetAt(dart_buffers_object, i)));
|
| + dart_buffer_objects_[i] =
|
| + Dart_NewPersistentHandle(Dart_ListGetAt(dart_buffers_object, i));
|
| + ASSERT(dart_buffer_objects_[i] != NULL);
|
| buffers_[i] = new uint8_t[size];
|
| Dart_Handle data = ThrowIfError(
|
| - Dart_NewExternalTypedData(kUint8, buffers_[i], size, NULL, NULL));
|
| - ThrowIfError(Dart_SetField(dart_buffer_objects_[i],
|
| + Dart_NewExternalTypedData(kUint8, buffers_[i], size));
|
| + ThrowIfError(Dart_SetField(Dart_NewHandleFromPersistent(dart_buffer_objects_[i]),
|
| data_identifier,
|
| data));
|
| }
|
| @@ -327,7 +328,8 @@
|
|
|
| void SSLFilter::RegisterHandshakeCompleteCallback(Dart_Handle complete) {
|
| ASSERT(NULL == handshake_complete_);
|
| - handshake_complete_ = ThrowIfError(Dart_NewPersistentHandle(complete));
|
| + handshake_complete_ = Dart_NewPersistentHandle(complete);
|
| + ASSERT(handshake_complete_ != NULL);
|
| }
|
|
|
|
|
| @@ -335,7 +337,8 @@
|
| if (NULL != bad_certificate_callback_) {
|
| Dart_DeletePersistentHandle(bad_certificate_callback_);
|
| }
|
| - bad_certificate_callback_ = ThrowIfError(Dart_NewPersistentHandle(callback));
|
| + bad_certificate_callback_ = Dart_NewPersistentHandle(callback);
|
| + ASSERT(bad_certificate_callback_ != NULL);
|
| }
|
|
|
| static const char* builtin_roots_module =
|
| @@ -582,7 +585,7 @@
|
| SECStatus status = SSL_ForceHandshake(filter_);
|
| if (status == SECSuccess) {
|
| if (in_handshake_) {
|
| - ThrowIfError(Dart_InvokeClosure(handshake_complete_, 0, NULL));
|
| + ThrowIfError(Dart_InvokeClosure(Dart_NewHandleFromPersistent(handshake_complete_), 0, NULL));
|
| in_handshake_ = false;
|
| }
|
| } else {
|
| @@ -621,11 +624,11 @@
|
|
|
| intptr_t SSLFilter::ProcessBuffer(int buffer_index) {
|
| int size = isEncrypted(buffer_index) ? encrypted_buffer_size_ : buffer_size_;
|
| - Dart_Handle buffer_object = dart_buffer_objects_[buffer_index];
|
| + Dart_Handle buffer_object = Dart_NewHandleFromPersistent(dart_buffer_objects_[buffer_index]);
|
| Dart_Handle start_object = ThrowIfError(
|
| - Dart_GetField(buffer_object, string_start_));
|
| + Dart_GetField(buffer_object, Dart_NewHandleFromPersistent(string_start_)));
|
| Dart_Handle length_object = ThrowIfError(
|
| - Dart_GetField(buffer_object, string_length_));
|
| + Dart_GetField(buffer_object, Dart_NewHandleFromPersistent(string_length_)));
|
| int64_t unsafe_start = DartUtils::GetIntegerValue(start_object);
|
| int64_t unsafe_length = DartUtils::GetIntegerValue(length_object);
|
| ASSERT(unsafe_start >= 0);
|
|
|