| Index: chrome/browser/extensions/api/cast_channel/cast_message_util.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/api/cast_channel/cast_message_util.cc (revision 243975)
|
| +++ chrome/browser/extensions/api/cast_channel/cast_message_util.cc (working copy)
|
| @@ -26,6 +26,9 @@
|
| bool MessageInfoToCastMessage(const MessageInfo& message,
|
| CastMessage* message_proto) {
|
| DCHECK(message_proto);
|
| + if (!message.data)
|
| + return false;
|
| +
|
| message_proto->set_protocol_version(CastMessage_ProtocolVersion_CASTV2_1_0);
|
| message_proto->set_source_id(message.source_id);
|
| message_proto->set_destination_id(message.destination_id);
|
| @@ -35,26 +38,26 @@
|
| std::string data;
|
| base::BinaryValue* real_value;
|
| switch (message.data->GetType()) {
|
| - // JS string
|
| - case base::Value::TYPE_STRING:
|
| - if (message.data->GetAsString(&data)) {
|
| - message_proto->set_payload_type(CastMessage_PayloadType_STRING);
|
| - message_proto->set_payload_utf8(data);
|
| - }
|
| - break;
|
| - // JS ArrayBuffer
|
| - case base::Value::TYPE_BINARY:
|
| - real_value = static_cast<base::BinaryValue*>(message.data.get());
|
| - if (real_value->GetBuffer()) {
|
| - message_proto->set_payload_type(CastMessage_PayloadType_BINARY);
|
| - message_proto->set_payload_binary(real_value->GetBuffer(),
|
| - real_value->GetSize());
|
| - }
|
| - break;
|
| - default:
|
| - // Unknown value type. message_proto will remain uninitialized because
|
| - // payload_type is unset.
|
| - break;
|
| + // JS string
|
| + case base::Value::TYPE_STRING:
|
| + if (message.data->GetAsString(&data)) {
|
| + message_proto->set_payload_type(CastMessage_PayloadType_STRING);
|
| + message_proto->set_payload_utf8(data);
|
| + }
|
| + break;
|
| + // JS ArrayBuffer
|
| + case base::Value::TYPE_BINARY:
|
| + real_value = static_cast<base::BinaryValue*>(message.data.get());
|
| + if (real_value->GetBuffer()) {
|
| + message_proto->set_payload_type(CastMessage_PayloadType_BINARY);
|
| + message_proto->set_payload_binary(real_value->GetBuffer(),
|
| + real_value->GetSize());
|
| + }
|
| + break;
|
| + default:
|
| + // Unknown value type. message_proto will remain uninitialized because
|
| + // payload_type is unset.
|
| + break;
|
| }
|
| return message_proto->IsInitialized();
|
| }
|
|
|