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

Side by Side Diff: chrome/browser/media/router/browser_presentation_connection_proxy.cc

Issue 2947403004: [MediaRouter] Replace RouteMessage with PresentationConnectionMessage (Closed)
Patch Set: rebase Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media/router/browser_presentation_connection_proxy.h" 5 #include "chrome/browser/media/router/browser_presentation_connection_proxy.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 10
11 #include "chrome/browser/media/router/media_router.h" 11 #include "chrome/browser/media/router/media_router.h"
12 #include "chrome/common/media_router/route_message.h"
13 12
14 namespace media_router { 13 namespace media_router {
15 14
16 namespace { 15 namespace {
17 16
18 void OnMessageReceivedByRenderer(bool success) { 17 void OnMessageReceivedByRenderer(bool success) {
19 DLOG_IF(ERROR, !success) 18 DLOG_IF(ERROR, !success)
20 << "Renderer PresentationConnection failed to process message!"; 19 << "Renderer PresentationConnection failed to process message!";
21 } 20 }
22 21
(...skipping 28 matching lines...) Expand all
51 route_id_, 50 route_id_,
52 base::MakeUnique<std::vector<uint8_t>>(std::move(message.data.value())), 51 base::MakeUnique<std::vector<uint8_t>>(std::move(message.data.value())),
53 std::move(on_message_callback)); 52 std::move(on_message_callback));
54 } else { 53 } else {
55 router_->SendRouteMessage(route_id_, message.message.value(), 54 router_->SendRouteMessage(route_id_, message.message.value(),
56 std::move(on_message_callback)); 55 std::move(on_message_callback));
57 } 56 }
58 } 57 }
59 58
60 void BrowserPresentationConnectionProxy::OnMessagesReceived( 59 void BrowserPresentationConnectionProxy::OnMessagesReceived(
61 const std::vector<RouteMessage>& messages) { 60 const std::vector<content::PresentationConnectionMessage>& messages) {
62 DVLOG(2) << __func__ << ", number of messages : " << messages.size(); 61 DVLOG(2) << __func__ << ", number of messages : " << messages.size();
63 // TODO(mfoltz): Remove RouteMessage and replace with move-only
64 // PresentationConnectionMessage.
65 std::vector<content::PresentationConnectionMessage> presentation_messages;
66 for (const RouteMessage& message : messages) {
67 if (message.type == RouteMessage::TEXT && message.text) {
68 presentation_messages.emplace_back(message.text.value());
69 } else if (message.type == RouteMessage::BINARY && message.binary) {
70 presentation_messages.emplace_back(message.binary.value());
71 } else {
72 NOTREACHED() << "Unknown route message type";
73 }
74 }
75
76 // TODO(imcheng): It would be slightly more efficient to send messages in 62 // TODO(imcheng): It would be slightly more efficient to send messages in
77 // a single batch. 63 // a single batch.
78 for (auto& message : presentation_messages) { 64 for (const auto& message : messages) {
79 target_connection_ptr_->OnMessage(std::move(message), 65 target_connection_ptr_->OnMessage(message,
80 base::Bind(&OnMessageReceivedByRenderer)); 66 base::Bind(&OnMessageReceivedByRenderer));
81 } 67 }
82 } 68 }
83 } // namespace media_router 69 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698