Index: content/renderer/presentation/presentation_dispatcher.cc |
diff --git a/content/renderer/presentation/presentation_dispatcher.cc b/content/renderer/presentation/presentation_dispatcher.cc |
index 8100c03b94ed8b117aa243379d37bd18328ef2eb..369a01cd39e60842d9538e3898b44f9e01051d0d 100644 |
--- a/content/renderer/presentation/presentation_dispatcher.cc |
+++ b/content/renderer/presentation/presentation_dispatcher.cc |
@@ -369,14 +369,34 @@ void PresentationDispatcher::OnSessionMessagesReceived( |
return; |
for (size_t i = 0; i < messages.size(); ++i) { |
- if (messages[i]->type == |
- presentation::PresentationMessageType::PRESENTATION_MESSAGE_TYPE_TEXT) { |
- controller_->didReceiveSessionTextMessage( |
- new PresentationSessionClient(messages[i]->presentation_url, |
- messages[i]->presentation_id), |
- blink::WebString::fromUTF8(messages[i]->message)); |
- } else { |
- // TODO(haibinlu): handle binary message |
+ PresentationSessionClient* session_client = new PresentationSessionClient( |
imcheng (use chromium acct)
2015/06/23 22:08:31
Since you moved the allocation of PresentationSess
USE s.singapati at gmail.com
2015/06/25 15:34:29
Done. Used session_client.release() as it takes We
|
+ messages[i]->presentation_url, messages[i]->presentation_id); |
+ switch (messages[i]->type) { |
+ case presentation::PresentationMessageType:: |
+ PRESENTATION_MESSAGE_TYPE_TEXT: { |
+ controller_->didReceiveSessionTextMessage( |
+ session_client, blink::WebString::fromUTF8(messages[i]->message)); |
+ break; |
+ } |
+ case presentation::PresentationMessageType:: |
+ PRESENTATION_MESSAGE_TYPE_ARRAY_BUFFER: { |
+ controller_->didReceiveSessionArrayBufferMessage( |
+ session_client, &(messages[i]->data.front()), |
+ messages[i]->data.size()); |
+ break; |
+ } |
+ case presentation::PresentationMessageType:: |
+ PRESENTATION_MESSAGE_TYPE_BLOB: { |
+ controller_->didReceiveSessionBlobMessage(session_client, |
+ &(messages[i]->data.front()), |
+ messages[i]->data.size()); |
+ break; |
+ } |
+ default: { |
+ delete session_client; |
+ NOTREACHED(); |
+ break; |
+ } |
} |
} |