1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
content / renderer / media / render_media_event_handler.cc [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/media/render_media_event_handler.h"
#include "content/public/renderer/render_thread.h"
namespace content {
void RenderMediaEventHandler::SendQueuedMediaEvents(
std::vector<media::MediaLogRecord> events_to_send) {
for (auto& record : events_to_send)
record.id = log_id_;
GetMediaInternalRecordLogRemote().Log(events_to_send);
}
RenderMediaEventHandler::RenderMediaEventHandler(
media::MediaPlayerLoggingID player_id)
: log_id_(player_id) {
DCHECK(RenderThread::Get())
<< "RenderMediaEventHandler must be constructed on the render thread";
}
RenderMediaEventHandler::~RenderMediaEventHandler() = default;
// This media log doesn't care, since the RenderThread outlives us for
// chrome://media-internals.
void RenderMediaEventHandler::OnWebMediaPlayerDestroyed() {}
content::mojom::MediaInternalLogRecords&
RenderMediaEventHandler::GetMediaInternalRecordLogRemote() {
if (!media_internal_log_remote_) {
RenderThread::Get()->BindHostReceiver(
media_internal_log_remote_.BindNewPipeAndPassReceiver());
}
return *media_internal_log_remote_;
}
} // namespace content