RTCIceCandidatePairStats.consentRequestsSent set by RTCStatsCollector
and requestsSent is updated.

Before:
  requestsSent = total ping requests
Now
  requestsSent = pings sent before first response
  consentRequestsSent = pings after first response

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-consentrequestssent

BUG=chromium:633550

Review-Url: https://codereview.webrtc.org/2558293002
Cr-Commit-Position: refs/heads/master@{#15541}
diff --git a/webrtc/api/rtcstats_integrationtest.cc b/webrtc/api/rtcstats_integrationtest.cc
index 4c57304..923997c 100644
--- a/webrtc/api/rtcstats_integrationtest.cc
+++ b/webrtc/api/rtcstats_integrationtest.cc
@@ -345,7 +345,7 @@
     verifier.TestMemberIsUndefined(candidate_pair.retransmissions_received);
     verifier.TestMemberIsUndefined(candidate_pair.retransmissions_sent);
     verifier.TestMemberIsUndefined(candidate_pair.consent_requests_received);
-    verifier.TestMemberIsUndefined(candidate_pair.consent_requests_sent);
+    verifier.TestMemberIsDefined(candidate_pair.consent_requests_sent);
     verifier.TestMemberIsUndefined(candidate_pair.consent_responses_received);
     verifier.TestMemberIsUndefined(candidate_pair.consent_responses_sent);
     return verifier.ExpectAllMembersSuccessfullyTested();
diff --git a/webrtc/api/rtcstatscollector.cc b/webrtc/api/rtcstatscollector.cc
index a7c4cfc..9998d9a 100644
--- a/webrtc/api/rtcstatscollector.cc
+++ b/webrtc/api/rtcstatscollector.cc
@@ -638,12 +638,17 @@
             static_cast<double>(info.rtt) / rtc::kNumMillisecsPerSec;
         candidate_pair_stats->requests_received =
             static_cast<uint64_t>(info.recv_ping_requests);
-        candidate_pair_stats->requests_sent =
-            static_cast<uint64_t>(info.sent_ping_requests_total);
+        candidate_pair_stats->requests_sent = static_cast<uint64_t>(
+            info.sent_ping_requests_before_first_response);
         candidate_pair_stats->responses_received =
             static_cast<uint64_t>(info.recv_ping_responses);
         candidate_pair_stats->responses_sent =
             static_cast<uint64_t>(info.sent_ping_responses);
+        RTC_DCHECK_GE(info.sent_ping_requests_total,
+                      info.sent_ping_requests_before_first_response);
+        candidate_pair_stats->consent_requests_sent = static_cast<uint64_t>(
+            info.sent_ping_requests_total -
+            info.sent_ping_requests_before_first_response);
 
         report->AddStats(std::move(candidate_pair_stats));
       }
diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc
index 2d2059b..b973044 100644
--- a/webrtc/api/rtcstatscollector_unittest.cc
+++ b/webrtc/api/rtcstatscollector_unittest.cc
@@ -1006,7 +1006,8 @@
   connection_info.recv_total_bytes = 1234;
   connection_info.rtt = 1337;
   connection_info.recv_ping_requests = 2020;
-  connection_info.sent_ping_requests_total = 1010;
+  connection_info.sent_ping_requests_total = 2020;
+  connection_info.sent_ping_requests_before_first_response = 2000;
   connection_info.recv_ping_responses = 4321;
   connection_info.sent_ping_responses = 1000;
 
@@ -1041,9 +1042,10 @@
   expected_pair.bytes_received = 1234;
   expected_pair.current_rtt = 1.337;
   expected_pair.requests_received = 2020;
-  expected_pair.requests_sent = 1010;
+  expected_pair.requests_sent = 2000;
   expected_pair.responses_received = 4321;
   expected_pair.responses_sent = 1000;
+  expected_pair.consent_requests_sent = (2020 - 2000);
 
   EXPECT_TRUE(report->Get(expected_pair.id()));
   EXPECT_EQ(
diff --git a/webrtc/api/stats/rtcstats_objects.h b/webrtc/api/stats/rtcstats_objects.h
index 21b8d68..04797e9 100644
--- a/webrtc/api/stats/rtcstats_objects.h
+++ b/webrtc/api/stats/rtcstats_objects.h
@@ -152,7 +152,6 @@
   RTCStatsMember<uint64_t> retransmissions_sent;
   // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550
   RTCStatsMember<uint64_t> consent_requests_received;
-  // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550
   RTCStatsMember<uint64_t> consent_requests_sent;
   // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550
   RTCStatsMember<uint64_t> consent_responses_received;