Commit 1014cd6b authored by lethalantidote's avatar lethalantidote Committed by Commit bot

Removes ScopedVector from presentation_service_impl.

Removes ScopedVector in favor of vector<unique_ptr>  in presentation_service_impl and related files as requested in Avi's
comment in https://codereview.chromium.org/2562603002/

BUG=554289

Review-Url: https://codereview.chromium.org/2574673002
Cr-Commit-Position: refs/heads/master@{#439052}
parent f0983129
......@@ -92,16 +92,17 @@ class PresentationSessionMessagesObserver : public RouteMessageObserver {
void OnMessagesReceived(const std::vector<RouteMessage>& messages) final {
DVLOG(2) << __func__ << ", number of messages : " << messages.size();
ScopedVector<content::PresentationConnectionMessage> presentation_messages;
std::vector<std::unique_ptr<content::PresentationConnectionMessage>>
presentation_messages;
for (const RouteMessage& message : messages) {
if (message.type == RouteMessage::TEXT && message.text) {
presentation_messages.push_back(
new content::PresentationConnectionMessage(
base::MakeUnique<content::PresentationConnectionMessage>(
content::PresentationMessageType::TEXT));
presentation_messages.back()->message = *message.text;
} else if (message.type == RouteMessage::BINARY && message.binary) {
presentation_messages.push_back(
new content::PresentationConnectionMessage(
base::MakeUnique<content::PresentationConnectionMessage>(
content::PresentationMessageType::BINARY));
presentation_messages.back()->data.reset(
new std::vector<uint8_t>(*message.binary));
......
......@@ -455,17 +455,19 @@ void PresentationServiceImpl::ListenForConnectionMessages(
void PresentationServiceImpl::OnConnectionMessages(
const PresentationSessionInfo& session,
const ScopedVector<PresentationConnectionMessage>& messages,
const std::vector<std::unique_ptr<PresentationConnectionMessage>>& messages,
bool pass_ownership) {
DCHECK(client_);
DVLOG(2) << "OnConnectionMessages";
std::vector<blink::mojom::ConnectionMessagePtr> mojo_messages(
messages.size());
std::transform(messages.begin(), messages.end(), mojo_messages.begin(),
[pass_ownership](PresentationConnectionMessage* message) {
return ToMojoConnectionMessage(message, pass_ownership);
});
std::transform(
messages.begin(), messages.end(), mojo_messages.begin(),
[pass_ownership](
const std::unique_ptr<PresentationConnectionMessage>& message) {
return ToMojoConnectionMessage(message.get(), pass_ownership);
});
client_->OnConnectionMessagesReceived(
blink::mojom::PresentationSessionInfo::From(session),
......
......@@ -232,7 +232,8 @@ class CONTENT_EXPORT PresentationServiceImpl
// later invocation when session messages arrive.
void OnConnectionMessages(
const content::PresentationSessionInfo& session,
const ScopedVector<PresentationConnectionMessage>& messages,
const std::vector<std::unique_ptr<PresentationConnectionMessage>>&
messages,
bool pass_ownership);
// Associates a JoinSession |callback| with a unique request ID and
......
......@@ -351,7 +351,7 @@ class PresentationServiceImplTest : public RenderViewHostImplTestHarness {
run_loop.Run();
}
ScopedVector<PresentationConnectionMessage> messages;
std::vector<std::unique_ptr<PresentationConnectionMessage>> messages;
std::unique_ptr<content::PresentationConnectionMessage> message;
message.reset(new content::PresentationConnectionMessage(
PresentationMessageType::TEXT));
......
......@@ -10,7 +10,6 @@
#include <vector>
#include "base/callback.h"
#include "base/memory/scoped_vector.h"
#include "content/common/content_export.h"
#include "content/public/browser/presentation_connection_message.h"
#include "content/public/browser/presentation_session.h"
......@@ -29,8 +28,9 @@ using PresentationSessionErrorCallback =
// Param #0: a vector of messages that are received.
// Param #1: tells the callback handler that it may reuse strings or buffers
// in the messages contained within param #0.
using PresentationConnectionMessageCallback = base::Callback<
void(const ScopedVector<content::PresentationConnectionMessage>&, bool)>;
using PresentationConnectionMessageCallback = base::Callback<void(
const std::vector<std::unique_ptr<content::PresentationConnectionMessage>>&,
bool)>;
struct PresentationConnectionStateChangeInfo {
explicit PresentationConnectionStateChangeInfo(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment