RTCMediaStreamTrackStats.framesDropped collected by RTCStatsCollector.

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-framesdropped
Implemented as frames_received - frames_rendered.

Part of this CL is adding frames_rendered to VideoReceiveStream::Stats
and updating it at ReceiveStatisticsProxy::OnRenderedFrame.

BUG=webrtc:6757, chromium:659137, chromium:627816
NOTRY=True

Review-Url: https://codereview.webrtc.org/2607933002
Cr-Original-Commit-Position: refs/heads/master@{#16213}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 50cfe1fda7f2b4a6a449fe7234f4c1aa2a475c61
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index fd6e1ba..d6dbffb 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -1542,8 +1542,9 @@
   video_receiver_info_ssrc3.local_stats[0].ssrc = 3;
   video_receiver_info_ssrc3.frame_width = 6789;
   video_receiver_info_ssrc3.frame_height = 9876;
-  video_receiver_info_ssrc3.frames_received = 2468;
-  video_receiver_info_ssrc3.frames_decoded = 1234;
+  video_receiver_info_ssrc3.frames_received = 1000;
+  video_receiver_info_ssrc3.frames_decoded = 995;
+  video_receiver_info_ssrc3.frames_rendered = 990;
 
   // Remote video track with undefined (default) values
   rtc::scoped_refptr<MediaStreamTrackInterface> remote_video_track_ssrc4 =
@@ -1559,6 +1560,7 @@
   video_receiver_info_ssrc4.frame_height = 0;
   video_receiver_info_ssrc4.frames_received = 0;
   video_receiver_info_ssrc4.frames_decoded = 0;
+  video_receiver_info_ssrc4.frames_rendered = 0;
 
   test_->CreateMockRtpSendersReceiversAndChannels(
       {}, {},
@@ -1633,8 +1635,9 @@
   expected_remote_video_track_ssrc3.detached = false;
   expected_remote_video_track_ssrc3.frame_width = 6789;
   expected_remote_video_track_ssrc3.frame_height = 9876;
-  expected_remote_video_track_ssrc3.frames_received = 2468;
-  expected_remote_video_track_ssrc3.frames_decoded = 1234;
+  expected_remote_video_track_ssrc3.frames_received = 1000;
+  expected_remote_video_track_ssrc3.frames_decoded = 995;
+  expected_remote_video_track_ssrc3.frames_dropped = 1000 - 990;
   ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc3.id()));
   EXPECT_EQ(expected_remote_video_track_ssrc3,
             report->Get(expected_remote_video_track_ssrc3.id())->cast_to<
@@ -1650,6 +1653,7 @@
   expected_remote_video_track_ssrc4.detached = false;
   expected_remote_video_track_ssrc4.frames_received = 0;
   expected_remote_video_track_ssrc4.frames_decoded = 0;
+  expected_remote_video_track_ssrc4.frames_dropped = 0;
   // Should be undefined: |expected_remote_video_track_ssrc4.frame_width| and
   // |expected_remote_video_track_ssrc4.frame_height|.
   ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc4.id()));