RTCIceCandidateStats.isRemote added and collected.

This was added to the spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-isremote

BUG=webrtc:6756, chromium:632723, chromium:627816

Review-Url: https://codereview.webrtc.org/2595003003
Cr-Commit-Position: refs/heads/master@{#15863}
This commit is contained in:
hbos 2017-01-02 04:46:15 -08:00 committed by Commit bot
parent f415f8ae73
commit c3a2b7f487
4 changed files with 23 additions and 9 deletions

View File

@ -354,6 +354,7 @@ class RTCStatsReportVerifier {
bool VerifyRTCIceCandidateStats(
const RTCIceCandidateStats& candidate) {
RTCStatsVerifier verifier(report_, &candidate);
verifier.TestMemberIsDefined(candidate.is_remote);
verifier.TestMemberIsDefined(candidate.ip);
verifier.TestMemberIsDefined(candidate.port);
verifier.TestMemberIsDefined(candidate.protocol);

View File

@ -909,6 +909,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_a_local_host.protocol = "a_local_host's protocol";
expected_a_local_host.candidate_type = "host";
expected_a_local_host.priority = 0;
EXPECT_FALSE(*expected_a_local_host.is_remote);
std::unique_ptr<cricket::Candidate> a_remote_srflx = CreateFakeCandidate(
"6.7.8.9", 10,
@ -922,6 +923,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_a_remote_srflx.protocol = "remote_srflx's protocol";
expected_a_remote_srflx.candidate_type = "srflx";
expected_a_remote_srflx.priority = 1;
EXPECT_TRUE(*expected_a_remote_srflx.is_remote);
std::unique_ptr<cricket::Candidate> a_local_prflx = CreateFakeCandidate(
"11.12.13.14", 15,
@ -935,6 +937,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_a_local_prflx.protocol = "a_local_prflx's protocol";
expected_a_local_prflx.candidate_type = "prflx";
expected_a_local_prflx.priority = 2;
EXPECT_FALSE(*expected_a_local_prflx.is_remote);
std::unique_ptr<cricket::Candidate> a_remote_relay = CreateFakeCandidate(
"16.17.18.19", 20,
@ -948,6 +951,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_a_remote_relay.protocol = "a_remote_relay's protocol";
expected_a_remote_relay.candidate_type = "relay";
expected_a_remote_relay.priority = 3;
EXPECT_TRUE(*expected_a_remote_relay.is_remote);
// Candidates in the second transport stats.
std::unique_ptr<cricket::Candidate> b_local = CreateFakeCandidate(
@ -962,6 +966,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_b_local.protocol = "b_local's protocol";
expected_b_local.candidate_type = "host";
expected_b_local.priority = 42;
EXPECT_FALSE(*expected_b_local.is_remote);
std::unique_ptr<cricket::Candidate> b_remote = CreateFakeCandidate(
"42.42.42.42", 42,
@ -975,6 +980,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
expected_b_remote.protocol = "b_remote's protocol";
expected_b_remote.candidate_type = "host";
expected_b_remote.priority = 42;
EXPECT_TRUE(*expected_b_remote.is_remote);
SessionStats session_stats;
@ -1108,6 +1114,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidatePairStats) {
expected_local_candidate.protocol = "protocol";
expected_local_candidate.candidate_type = "host";
expected_local_candidate.priority = 42;
EXPECT_FALSE(*expected_local_candidate.is_remote);
ASSERT_TRUE(report->Get(expected_local_candidate.id()));
EXPECT_EQ(expected_local_candidate,
report->Get(expected_local_candidate.id())->cast_to<
@ -1120,6 +1127,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidatePairStats) {
expected_remote_candidate.protocol = "protocol";
expected_remote_candidate.candidate_type = "host";
expected_remote_candidate.priority = 42;
EXPECT_TRUE(*expected_remote_candidate.is_remote);
ASSERT_TRUE(report->Get(expected_remote_candidate.id()));
EXPECT_EQ(expected_remote_candidate,
report->Get(expected_remote_candidate.id())->cast_to<

View File

@ -170,6 +170,7 @@ class RTCIceCandidateStats : public RTCStats {
RTCIceCandidateStats(const RTCIceCandidateStats& other);
~RTCIceCandidateStats() override;
RTCStatsMember<bool> is_remote;
RTCStatsMember<std::string> ip;
RTCStatsMember<int32_t> port;
RTCStatsMember<std::string> protocol;
@ -180,8 +181,9 @@ class RTCIceCandidateStats : public RTCStats {
RTCStatsMember<std::string> url;
protected:
RTCIceCandidateStats(const std::string& id, int64_t timestamp_us);
RTCIceCandidateStats(std::string&& id, int64_t timestamp_us);
RTCIceCandidateStats(
const std::string& id, int64_t timestamp_us, bool is_remote);
RTCIceCandidateStats(std::string&& id, int64_t timestamp_us, bool is_remote);
};
// In the spec both local and remote varieties are of type RTCIceCandidateStats.

View File

@ -237,6 +237,7 @@ RTCIceCandidatePairStats::~RTCIceCandidatePairStats() {
}
WEBRTC_RTCSTATS_IMPL(RTCIceCandidateStats, RTCStats, "ice-candidate",
&is_remote,
&ip,
&port,
&protocol,
@ -245,13 +246,14 @@ WEBRTC_RTCSTATS_IMPL(RTCIceCandidateStats, RTCStats, "ice-candidate",
&url);
RTCIceCandidateStats::RTCIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::string(id), timestamp_us) {
const std::string& id, int64_t timestamp_us, bool is_remote)
: RTCIceCandidateStats(std::string(id), timestamp_us, is_remote) {
}
RTCIceCandidateStats::RTCIceCandidateStats(
std::string&& id, int64_t timestamp_us)
std::string&& id, int64_t timestamp_us, bool is_remote)
: RTCStats(std::move(id), timestamp_us),
is_remote("isRemote", is_remote),
ip("ip"),
port("port"),
protocol("protocol"),
@ -262,6 +264,7 @@ RTCIceCandidateStats::RTCIceCandidateStats(
RTCIceCandidateStats::RTCIceCandidateStats(const RTCIceCandidateStats& other)
: RTCStats(other.id(), other.timestamp_us()),
is_remote(other.is_remote),
ip(other.ip),
port(other.port),
protocol(other.protocol),
@ -277,12 +280,12 @@ const char RTCLocalIceCandidateStats::kType[] = "local-candidate";
RTCLocalIceCandidateStats::RTCLocalIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(id, timestamp_us) {
: RTCIceCandidateStats(id, timestamp_us, false) {
}
RTCLocalIceCandidateStats::RTCLocalIceCandidateStats(
std::string&& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::move(id), timestamp_us) {
: RTCIceCandidateStats(std::move(id), timestamp_us, false) {
}
const char* RTCLocalIceCandidateStats::type() const {
@ -293,12 +296,12 @@ const char RTCRemoteIceCandidateStats::kType[] = "remote-candidate";
RTCRemoteIceCandidateStats::RTCRemoteIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(id, timestamp_us) {
: RTCIceCandidateStats(id, timestamp_us, true) {
}
RTCRemoteIceCandidateStats::RTCRemoteIceCandidateStats(
std::string&& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::move(id), timestamp_us) {
: RTCIceCandidateStats(std::move(id), timestamp_us, true) {
}
const char* RTCRemoteIceCandidateStats::type() const {