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

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

Issue 2706463002: [Presentation API] Mojo typemap for content::PresentationConnectionMessage (Closed)
Patch Set: Fix compile error after rebase 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 f3a4f9ec80da77911150969e0362b65ff9a2a6c8..ce44f7fbb1b9ac11508e48b943b235472cd07afe 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"
@@ -162,9 +162,8 @@ void PresentationDispatcher::sendString(
return;
}
- message_request_queue_.push_back(
- base::WrapUnique(CreateSendTextMessageRequest(
- presentationUrl, presentationId, message, connection_proxy)));
+ message_request_queue_.push_back(CreateSendTextMessageRequest(
+ presentationUrl, presentationId, message, connection_proxy));
// Start processing request if only one in the queue.
if (message_request_queue_.size() == 1)
DoSendMessage(message_request_queue_.front().get());
@@ -183,11 +182,8 @@ void PresentationDispatcher::sendArrayBuffer(
return;
}
- message_request_queue_.push_back(
- base::WrapUnique(CreateSendBinaryMessageRequest(
- presentationUrl, presentationId,
- blink::mojom::PresentationMessageType::BINARY, data, length,
- connection_proxy)));
+ message_request_queue_.push_back(CreateSendBinaryMessageRequest(
+ 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());
@@ -206,11 +202,8 @@ void PresentationDispatcher::sendBlobData(
return;
}
- message_request_queue_.push_back(
- base::WrapUnique(CreateSendBinaryMessageRequest(
- presentationUrl, presentationId,
- blink::mojom::PresentationMessageType::BINARY, data, length,
- connection_proxy)));
+ message_request_queue_.push_back(CreateSendBinaryMessageRequest(
+ 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());
@@ -608,7 +601,7 @@ void PresentationDispatcher::OnConnectionClosed(
void PresentationDispatcher::OnConnectionMessagesReceived(
const PresentationSessionInfo& session_info,
- std::vector<blink::mojom::ConnectionMessagePtr> messages) {
+ std::vector<PresentationConnectionMessage> messages) {
if (!controller_)
return;
@@ -619,25 +612,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));
}
}
}
@@ -751,16 +733,16 @@ 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() {}
// static
-PresentationDispatcher::SendMessageRequest*
+std::unique_ptr<PresentationDispatcher::SendMessageRequest>
PresentationDispatcher::CreateSendTextMessageRequest(
const blink::WebURL& presentationUrl,
const blink::WebString& presentationId,
@@ -769,32 +751,25 @@ 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),
- connection_proxy);
+ return base::MakeUnique<SendMessageRequest>(
+ session_info, PresentationConnectionMessage(message.utf8()),
+ connection_proxy);
}
// static
-PresentationDispatcher::SendMessageRequest*
+std::unique_ptr<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 base::MakeUnique<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