projects
/
platform
/
framework
/
web
/
crosswalk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git]
/
src
/
native_client_sdk
/
src
/
libraries
/
nacl_io
/
devfs
/
jspipe_event_emitter.cc
diff --git
a/src/native_client_sdk/src/libraries/nacl_io/devfs/jspipe_event_emitter.cc
b/src/native_client_sdk/src/libraries/nacl_io/devfs/jspipe_event_emitter.cc
index
a00dbfd
..
8bf4d03
100644
(file)
--- a/
src/native_client_sdk/src/libraries/nacl_io/devfs/jspipe_event_emitter.cc
+++ b/
src/native_client_sdk/src/libraries/nacl_io/devfs/jspipe_event_emitter.cc
@@
-112,8
+112,12
@@
Error JSPipeEventEmitter::Read_Locked(char* data, size_t len, int* out_bytes) {
Error JSPipeEventEmitter::SendWriteMessage(const void* buf, size_t count) {
TRACE("SendWriteMessage [%" PRIuS "] total=%" PRIuS, count, bytes_sent_);
Error JSPipeEventEmitter::SendWriteMessage(const void* buf, size_t count) {
TRACE("SendWriteMessage [%" PRIuS "] total=%" PRIuS, count, bytes_sent_);
- if (!var_iface_ || !buffer_iface_)
+ if (!var_iface_ || !buffer_iface_) {
+ ERROR("Got NULL interface(s): %s%s",
+ var_iface_ ? "" : "Var ",
+ buffer_iface_ ? "" : "ArrayBuffer");
return EIO;
return EIO;
+ }
// Copy payload data in a new ArrayBuffer
PP_Var buffer = buffer_iface_->Create(count);
// Copy payload data in a new ArrayBuffer
PP_Var buffer = buffer_iface_->Create(count);
@@
-126,16
+130,23
@@
Error JSPipeEventEmitter::SendWriteMessage(const void* buf, size_t count) {
}
Error JSPipeEventEmitter::SetName(const char* name) {
}
Error JSPipeEventEmitter::SetName(const char* name) {
- if (var_iface_ == NULL)
+ if (var_iface_ == NULL) {
+ // No error here: many of the tests trigger this message.
+ LOG_TRACE("Got NULL interface: Var");
return EIO;
return EIO;
+ }
// name can only be set once
// name can only be set once
- if (!name_.empty())
+ if (!name_.empty()) {
+ LOG_ERROR("Attempting to set name more than once.");
return EIO;
return EIO;
+ }
// new name must not be empty
// new name must not be empty
- if (!name || strlen(name) == 0)
+ if (!name || strlen(name) == 0) {
+ LOG_ERROR("Empty name is invalid.");
return EIO;
return EIO;
+ }
TRACE("set name: %s", name);
name_ = name;
TRACE("set name: %s", name);
name_ = name;
@@
-144,8
+155,18
@@
Error JSPipeEventEmitter::SetName(const char* name) {
}
Error JSPipeEventEmitter::SendMessageToJS(PP_Var operation, PP_Var payload) {
}
Error JSPipeEventEmitter::SendMessageToJS(PP_Var operation, PP_Var payload) {
- if (!ppapi_ || !messaging_iface_ || !var_iface_ || !dict_iface_)
+ if (!ppapi_) {
+ LOG_ERROR("ppapi_ is NULL.");
return EIO;
return EIO;
+ }
+
+ if (!messaging_iface_ || !var_iface_ || !dict_iface_) {
+ LOG_ERROR("Got NULL interface(s): %s%s%s",
+ messaging_iface_ ? "" : "Messaging ",
+ dict_iface_ ? "" : "Dictionary ",
+ var_iface_ ? "" : "Var");
+ return EIO;
+ }
// Create dict object which will be sent to JavaScript.
PP_Var dict = dict_iface_->Create();
// Create dict object which will be sent to JavaScript.
PP_Var dict = dict_iface_->Create();
@@
-180,7
+201,7
@@
size_t JSPipeEventEmitter::HandleJSWrite(const char* data, size_t len) {
void JSPipeEventEmitter::HandleJSAck(size_t byte_count) {
if (byte_count > bytes_sent_) {
void JSPipeEventEmitter::HandleJSAck(size_t byte_count) {
if (byte_count > bytes_sent_) {
- ERROR("
HandleAck u
nexpected byte count: %" PRIuS, byte_count);
+ ERROR("
U
nexpected byte count: %" PRIuS, byte_count);
return;
}
return;
}
@@
-192,12
+213,14
@@
void JSPipeEventEmitter::HandleJSAck(size_t byte_count) {
Error JSPipeEventEmitter::HandleJSWrite(struct PP_Var message) {
TRACE("HandleJSWrite");
if (message.type != PP_VARTYPE_ARRAY_BUFFER) {
Error JSPipeEventEmitter::HandleJSWrite(struct PP_Var message) {
TRACE("HandleJSWrite");
if (message.type != PP_VARTYPE_ARRAY_BUFFER) {
-
TRACE("HandleJSWrite e
xpected ArrayBuffer but got %d.", message.type);
+
ERROR("E
xpected ArrayBuffer but got %d.", message.type);
return EINVAL;
}
uint32_t length;
return EINVAL;
}
uint32_t length;
- if (buffer_iface_->ByteLength(message, &length) != PP_TRUE)
+ if (buffer_iface_->ByteLength(message, &length) != PP_TRUE) {
+ ERROR("ArrayBuffer.ByteLength returned PP_FALSE");
return EINVAL;
return EINVAL;
+ }
char* buffer = (char*)buffer_iface_->Map(message);
char* buffer = (char*)buffer_iface_->Map(message);
@@
-205,7
+228,7
@@
Error JSPipeEventEmitter::HandleJSWrite(struct PP_Var message) {
size_t wrote = HandleJSWrite(buffer, length);
buffer_iface_->Unmap(message);
if (wrote != length) {
size_t wrote = HandleJSWrite(buffer, length);
buffer_iface_->Unmap(message);
if (wrote != length) {
-
LOG_
ERROR("Only wrote %d of %d bytes to pipe", (int)wrote, (int)length);
+ ERROR("Only wrote %d of %d bytes to pipe", (int)wrote, (int)length);
return EIO;
}
TRACE("done HandleWrite: %d", length);
return EIO;
}
TRACE("done HandleWrite: %d", length);
@@
-214,7
+237,7
@@
Error JSPipeEventEmitter::HandleJSWrite(struct PP_Var message) {
Error JSPipeEventEmitter::HandleJSAck(PP_Var message) {
if (message.type != PP_VARTYPE_INT32) {
Error JSPipeEventEmitter::HandleJSAck(PP_Var message) {
if (message.type != PP_VARTYPE_INT32) {
-
TRACE("HandleAck i
nteger object expected but got %d.", message.type);
+
ERROR("I
nteger object expected but got %d.", message.type);
return EINVAL;
}
HandleJSAck(message.value.as_int);
return EINVAL;
}
HandleJSAck(message.value.as_int);
@@
-234,20
+257,24
@@
int JSPipeEventEmitter::VarStrcmp(PP_Var a, PP_Var b) {
Error JSPipeEventEmitter::HandleJSMessage(struct PP_Var message) {
Error err = 0;
if (!messaging_iface_ || !var_iface_ || !dict_iface_ || !buffer_iface_) {
Error JSPipeEventEmitter::HandleJSMessage(struct PP_Var message) {
Error err = 0;
if (!messaging_iface_ || !var_iface_ || !dict_iface_ || !buffer_iface_) {
- TRACE("HandleJSMessage: missing PPAPI interfaces");
+ ERROR("Got NULL interface(s): %s%s%s%s",
+ messaging_iface_ ? "" : "Messaging ",
+ var_iface_ ? "" : "Var ",
+ dict_iface_ ? "" : "Dictionary ",
+ buffer_iface_ ? "" : "ArrayBuffer");
return ENOSYS;
}
// Verify that we have an array with size two.
if (message.type != PP_VARTYPE_DICTIONARY) {
return ENOSYS;
}
// Verify that we have an array with size two.
if (message.type != PP_VARTYPE_DICTIONARY) {
-
TRACE("HandleJSMessage passed non-dictionary var"
);
+
ERROR("Expected Dictionary but got %d.", message.type
);
return EINVAL;
}
#ifndef NDEBUG
PP_Var pipe_name_var = dict_iface_->Get(message, pipe_key_);
if (VarStrcmp(pipe_name_var, pipe_name_var_)) {
return EINVAL;
}
#ifndef NDEBUG
PP_Var pipe_name_var = dict_iface_->Get(message, pipe_key_);
if (VarStrcmp(pipe_name_var, pipe_name_var_)) {
-
TRACE("HandleJSMessage wrong pipe name
");
+
ERROR("Wrong pipe name.
");
return EINVAL;
}
var_iface_->Release(pipe_name_var);
return EINVAL;
}
var_iface_->Release(pipe_name_var);
@@
-255,7
+282,7
@@
Error JSPipeEventEmitter::HandleJSMessage(struct PP_Var message) {
PP_Var operation_var = dict_iface_->Get(message, operation_key_);
if (operation_var.type != PP_VARTYPE_STRING) {
PP_Var operation_var = dict_iface_->Get(message, operation_key_);
if (operation_var.type != PP_VARTYPE_STRING) {
-
TRACE("HandleJSMessage invalid operation"
);
+
ERROR("Expected String but got %d.", operation_var.type
);
err = EINVAL;
} else {
uint32_t length;
err = EINVAL;
} else {
uint32_t length;
@@
-270,7
+297,7
@@
Error JSPipeEventEmitter::HandleJSMessage(struct PP_Var message) {
} else if (message_type == kOperationNameAck) {
err = HandleJSAck(payload);
} else {
} else if (message_type == kOperationNameAck) {
err = HandleJSAck(payload);
} else {
-
TRACE
("Unknown message type: %s", message_type.c_str());
+
ERROR
("Unknown message type: %s", message_type.c_str());
err = EINVAL;
}
var_iface_->Release(payload);
err = EINVAL;
}
var_iface_->Release(payload);