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 2743b5d563a1033130166ce77a45b00676ff5738..ccae66c9d7b895580a0dba20f4a24f6563accba3 100644 |
| --- a/content/renderer/presentation/presentation_dispatcher.cc |
| +++ b/content/renderer/presentation/presentation_dispatcher.cc |
| @@ -13,7 +13,7 @@ |
| #include "base/memory/ptr_util.h" |
| #include "base/stl_util.h" |
| #include "base/threading/thread_task_runner_handle.h" |
| -#include "content/public/common/presentation_constants.h" |
| +#include "content/public/common/presentation_connection_message.h" |
| #include "content/public/renderer/render_frame.h" |
| #include "content/renderer/presentation/presentation_connection_proxy.h" |
| #include "services/service_manager/public/cpp/interface_provider.h" |
| @@ -183,9 +183,7 @@ void PresentationDispatcher::sendArrayBuffer( |
| } |
| message_request_queue_.push(base::WrapUnique(CreateSendBinaryMessageRequest( |
| - presentationUrl, presentationId, |
| - blink::mojom::PresentationMessageType::BINARY, data, length, |
| - connection_proxy))); |
| + presentationUrl, presentationId, data, length, connection_proxy))); |
| // Start processing request if only one in the queue. |
| if (message_request_queue_.size() == 1) |
| DoSendMessage(message_request_queue_.front().get()); |
| @@ -205,9 +203,7 @@ void PresentationDispatcher::sendBlobData( |
| } |
| message_request_queue_.push(base::WrapUnique(CreateSendBinaryMessageRequest( |
| - presentationUrl, presentationId, |
| - blink::mojom::PresentationMessageType::BINARY, data, length, |
| - connection_proxy))); |
| + presentationUrl, presentationId, data, length, connection_proxy))); |
| // Start processing request if only one in the queue. |
| if (message_request_queue_.size() == 1) |
| DoSendMessage(message_request_queue_.front().get()); |
| @@ -580,7 +576,7 @@ void PresentationDispatcher::OnConnectionClosed( |
| void PresentationDispatcher::OnConnectionMessagesReceived( |
| const PresentationSessionInfo& session_info, |
| - std::vector<blink::mojom::ConnectionMessagePtr> messages) { |
| + const std::vector<PresentationConnectionMessage>& messages) { |
| if (!controller_) |
| return; |
| @@ -591,25 +587,14 @@ void PresentationDispatcher::OnConnectionMessagesReceived( |
| session_info.presentation_url, |
| blink::WebString::fromUTF8(session_info.presentation_id)); |
| - switch (messages[i]->type) { |
| - case blink::mojom::PresentationMessageType::TEXT: { |
| - // TODO(mfoltz): Do we need to DCHECK(messages[i]->message)? |
| - controller_->didReceiveSessionTextMessage( |
| - web_session_info, |
| - blink::WebString::fromUTF8(messages[i]->message.value())); |
| - break; |
| - } |
| - case blink::mojom::PresentationMessageType::BINARY: { |
| - // TODO(mfoltz): Do we need to DCHECK(messages[i]->data)? |
| - controller_->didReceiveSessionBinaryMessage( |
| - web_session_info, &(messages[i]->data->front()), |
| - messages[i]->data->size()); |
| - break; |
| - } |
| - default: { |
| - NOTREACHED(); |
| - break; |
| - } |
| + if (messages[i].is_binary()) { |
| + controller_->didReceiveSessionBinaryMessage(web_session_info, |
| + &(messages[i].data->front()), |
| + messages[i].data->size()); |
| + } else { |
| + DCHECK(messages[i].message); |
| + controller_->didReceiveSessionTextMessage( |
| + web_session_info, blink::WebString::fromUTF8(*messages[i].message)); |
| } |
| } |
| } |
| @@ -723,10 +708,10 @@ PresentationDispatcher::GetScreenAvailability( |
| PresentationDispatcher::SendMessageRequest::SendMessageRequest( |
| const PresentationSessionInfo& session_info, |
| - blink::mojom::ConnectionMessagePtr message, |
| + PresentationConnectionMessage connection_message, |
| const blink::WebPresentationConnectionProxy* connection_proxy) |
| : session_info(session_info), |
| - message(std::move(message)), |
| + message(std::move(connection_message)), |
| connection_proxy(connection_proxy) {} |
| PresentationDispatcher::SendMessageRequest::~SendMessageRequest() {} |
| @@ -741,11 +726,8 @@ PresentationDispatcher::CreateSendTextMessageRequest( |
| PresentationSessionInfo session_info(GURL(presentationUrl), |
| presentationId.utf8()); |
| - blink::mojom::ConnectionMessagePtr session_message = |
| - blink::mojom::ConnectionMessage::New(); |
| - session_message->type = blink::mojom::PresentationMessageType::TEXT; |
| - session_message->message = message.utf8(); |
| - return new SendMessageRequest(session_info, std::move(session_message), |
| + return new SendMessageRequest(session_info, |
|
dcheng
2017/02/25 07:17:27
Please add a TODO to make this and the function be
mark a. foltz
2017/02/27 23:25:15
Done.
|
| + PresentationConnectionMessage(message.utf8()), |
| connection_proxy); |
| } |
| @@ -754,19 +736,15 @@ PresentationDispatcher::SendMessageRequest* |
| PresentationDispatcher::CreateSendBinaryMessageRequest( |
| const blink::WebURL& presentationUrl, |
| const blink::WebString& presentationId, |
| - blink::mojom::PresentationMessageType type, |
| const uint8_t* data, |
| size_t length, |
| const blink::WebPresentationConnectionProxy* connection_proxy) { |
| PresentationSessionInfo session_info(GURL(presentationUrl), |
| presentationId.utf8()); |
| - |
| - blink::mojom::ConnectionMessagePtr session_message = |
| - blink::mojom::ConnectionMessage::New(); |
| - session_message->type = type; |
| - session_message->data = std::vector<uint8_t>(data, data + length); |
| - return new SendMessageRequest(session_info, std::move(session_message), |
| - connection_proxy); |
| + return new SendMessageRequest( |
| + session_info, |
| + PresentationConnectionMessage(std::vector<uint8_t>(data, data + length)), |
| + connection_proxy); |
| } |
| PresentationDispatcher::AvailabilityListener::AvailabilityListener( |