Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(522)

Unified Diff: content/renderer/presentation/presentation_dispatcher.cc

Issue 2706463002: [Presentation API] Mojo typemap for content::PresentationConnectionMessage (Closed)
Patch Set: Fix compile error in presentation_connection_message Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698