Chromium Code Reviews| 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; |
| + } |
| } |
| } |