RTCIceCandidateStats.deleted = false added.
Since previously, only the deleted = false case is supported, but now
that stat is added. It's a recent addition to the spec:
https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatestats-deleted
BUG=webrtc:6756, chromium:632723, chromium:627816
Review-Url: https://codereview.webrtc.org/2591963003
Cr-Commit-Position: refs/heads/master@{#15871}
diff --git a/webrtc/api/rtcstats_integrationtest.cc b/webrtc/api/rtcstats_integrationtest.cc
index 556907c..53c73f3 100644
--- a/webrtc/api/rtcstats_integrationtest.cc
+++ b/webrtc/api/rtcstats_integrationtest.cc
@@ -397,6 +397,7 @@
verifier.TestMemberIsDefined(candidate.candidate_type);
verifier.TestMemberIsNonNegative<int32_t>(candidate.priority);
verifier.TestMemberIsUndefined(candidate.url);
+ verifier.TestMemberIsDefined(candidate.deleted);
return verifier.ExpectAllMembersSuccessfullyTested();
}
diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc
index 6e84853..deda617 100644
--- a/webrtc/api/rtcstatscollector_unittest.cc
+++ b/webrtc/api/rtcstatscollector_unittest.cc
@@ -923,6 +923,7 @@
expected_a_remote_srflx.protocol = "remote_srflx's protocol";
expected_a_remote_srflx.candidate_type = "srflx";
expected_a_remote_srflx.priority = 1;
+ expected_a_remote_srflx.deleted = false;
EXPECT_TRUE(*expected_a_remote_srflx.is_remote);
std::unique_ptr<cricket::Candidate> a_local_prflx = CreateFakeCandidate(
@@ -937,6 +938,7 @@
expected_a_local_prflx.protocol = "a_local_prflx's protocol";
expected_a_local_prflx.candidate_type = "prflx";
expected_a_local_prflx.priority = 2;
+ expected_a_local_prflx.deleted = false;
EXPECT_FALSE(*expected_a_local_prflx.is_remote);
std::unique_ptr<cricket::Candidate> a_remote_relay = CreateFakeCandidate(
@@ -951,6 +953,7 @@
expected_a_remote_relay.protocol = "a_remote_relay's protocol";
expected_a_remote_relay.candidate_type = "relay";
expected_a_remote_relay.priority = 3;
+ expected_a_remote_relay.deleted = false;
EXPECT_TRUE(*expected_a_remote_relay.is_remote);
// Candidates in the second transport stats.
@@ -966,6 +969,7 @@
expected_b_local.protocol = "b_local's protocol";
expected_b_local.candidate_type = "host";
expected_b_local.priority = 42;
+ expected_b_local.deleted = false;
EXPECT_FALSE(*expected_b_local.is_remote);
std::unique_ptr<cricket::Candidate> b_remote = CreateFakeCandidate(
@@ -980,6 +984,7 @@
expected_b_remote.protocol = "b_remote's protocol";
expected_b_remote.candidate_type = "host";
expected_b_remote.priority = 42;
+ expected_b_remote.deleted = false;
EXPECT_TRUE(*expected_b_remote.is_remote);
SessionStats session_stats;
@@ -1118,6 +1123,7 @@
expected_local_candidate.protocol = "protocol";
expected_local_candidate.candidate_type = "host";
expected_local_candidate.priority = 42;
+ expected_local_candidate.deleted = false;
EXPECT_FALSE(*expected_local_candidate.is_remote);
ASSERT_TRUE(report->Get(expected_local_candidate.id()));
EXPECT_EQ(expected_local_candidate,
@@ -1131,6 +1137,7 @@
expected_remote_candidate.protocol = "protocol";
expected_remote_candidate.candidate_type = "host";
expected_remote_candidate.priority = 42;
+ expected_remote_candidate.deleted = false;
EXPECT_TRUE(*expected_remote_candidate.is_remote);
ASSERT_TRUE(report->Get(expected_remote_candidate.id()));
EXPECT_EQ(expected_remote_candidate,
diff --git a/webrtc/api/stats/rtcstats_objects.h b/webrtc/api/stats/rtcstats_objects.h
index e85119a..ab69105 100644
--- a/webrtc/api/stats/rtcstats_objects.h
+++ b/webrtc/api/stats/rtcstats_objects.h
@@ -176,6 +176,9 @@
RTCStatsMember<int32_t> priority;
// TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/632723
RTCStatsMember<std::string> url;
+ // TODO(hbos): |deleted = true| case is not supported by |RTCStatsCollector|.
+ // crbug.com/632723
+ RTCStatsMember<bool> deleted; // = false
protected:
RTCIceCandidateStats(
diff --git a/webrtc/stats/rtcstats_objects.cc b/webrtc/stats/rtcstats_objects.cc
index 487df93..966c845 100644
--- a/webrtc/stats/rtcstats_objects.cc
+++ b/webrtc/stats/rtcstats_objects.cc
@@ -242,7 +242,8 @@
&protocol,
&candidate_type,
&priority,
- &url);
+ &url,
+ &deleted);
RTCIceCandidateStats::RTCIceCandidateStats(
const std::string& id, int64_t timestamp_us, bool is_remote)
@@ -258,7 +259,8 @@
protocol("protocol"),
candidate_type("candidateType"),
priority("priority"),
- url("url") {
+ url("url"),
+ deleted("deleted", false) {
}
RTCIceCandidateStats::RTCIceCandidateStats(const RTCIceCandidateStats& other)
@@ -269,7 +271,8 @@
protocol(other.protocol),
candidate_type(other.candidate_type),
priority(other.priority),
- url(other.url) {
+ url(other.url),
+ deleted(other.deleted) {
}
RTCIceCandidateStats::~RTCIceCandidateStats() {