summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/peerconnection/web_rtc_stats_report_callback_resolver.cc
blob: 479d7df01aef2ad032603684f0d52b41dbc2b42b (plain)
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
#include "third_party/blink/renderer/modules/peerconnection/web_rtc_stats_report_callback_resolver.h"

#include "third_party/blink/renderer/core/execution_context/execution_context.h"

namespace blink {

// static
std::unique_ptr<WebRTCStatsReportCallback>
WebRTCStatsReportCallbackResolver::Create(ScriptPromiseResolver* resolver) {
  return std::unique_ptr<WebRTCStatsReportCallback>(
      new WebRTCStatsReportCallbackResolver(resolver));
}

WebRTCStatsReportCallbackResolver::WebRTCStatsReportCallbackResolver(
    ScriptPromiseResolver* resolver)
    : resolver_(resolver) {}

WebRTCStatsReportCallbackResolver::~WebRTCStatsReportCallbackResolver() {
  DCHECK(
      ExecutionContext::From(resolver_->GetScriptState())->IsContextThread());
}

void WebRTCStatsReportCallbackResolver::OnStatsDelivered(
    std::unique_ptr<WebRTCStatsReport> report) {
  DCHECK(
      ExecutionContext::From(resolver_->GetScriptState())->IsContextThread());
  resolver_->Resolve(new RTCStatsReport(std::move(report)));
}

}  // namespace blink