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

Unified Diff: runtime/bin/secure_socket.cc

Issue 15772005: - Add different types for persistent and weak persistent handles (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 7 months 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 side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698