Enable -Winconsistent-missing-override flag.

The problem with gmock is worked around by commenting out any other override declarations in classes using gmock.

NOPRESUBMIT=True
BUG=webrtc:3970

Review-Url: https://codereview.webrtc.org/1921653002
Cr-Commit-Position: refs/heads/master@{#12563}
diff --git a/webrtc/api/dtmfsender.h b/webrtc/api/dtmfsender.h
index e2c6735..c85557f 100644
--- a/webrtc/api/dtmfsender.h
+++ b/webrtc/api/dtmfsender.h
@@ -83,7 +83,7 @@
   DtmfSender();
 
   // Implements MessageHandler.
-  virtual void OnMessage(rtc::Message* msg);
+  void OnMessage(rtc::Message* msg) override;
 
   // The DTMF sending task.
   void DoInsertDtmf();
diff --git a/webrtc/api/dtmfsender_unittest.cc b/webrtc/api/dtmfsender_unittest.cc
index e6fa7fc..efe568d 100644
--- a/webrtc/api/dtmfsender_unittest.cc
+++ b/webrtc/api/dtmfsender_unittest.cc
@@ -96,7 +96,7 @@
     return true;
   }
 
-  virtual sigslot::signal0<>* GetOnDestroyedSignal() {
+  sigslot::signal0<>* GetOnDestroyedSignal() override {
     return &SignalDestroyed;
   }
 
diff --git a/webrtc/api/java/jni/peerconnection_jni.cc b/webrtc/api/java/jni/peerconnection_jni.cc
index 34358ad..10b8134 100644
--- a/webrtc/api/java/jni/peerconnection_jni.cc
+++ b/webrtc/api/java/jni/peerconnection_jni.cc
@@ -202,7 +202,7 @@
   }
 
   void OnIceCandidatesRemoved(
-      const std::vector<cricket::Candidate>& candidates) {
+      const std::vector<cricket::Candidate>& candidates) override {
     ScopedLocalRefFrame local_ref_frame(jni());
     jobjectArray candidates_array = ToJavaCandidateArray(jni(), candidates);
     jmethodID m =
diff --git a/webrtc/api/mediastream.h b/webrtc/api/mediastream.h
index 2a77f0d..1f80f25 100644
--- a/webrtc/api/mediastream.h
+++ b/webrtc/api/mediastream.h
@@ -31,10 +31,10 @@
   bool AddTrack(VideoTrackInterface* track) override;
   bool RemoveTrack(AudioTrackInterface* track) override;
   bool RemoveTrack(VideoTrackInterface* track) override;
-  virtual rtc::scoped_refptr<AudioTrackInterface>
-      FindAudioTrack(const std::string& track_id);
-  virtual rtc::scoped_refptr<VideoTrackInterface>
-      FindVideoTrack(const std::string& track_id);
+  rtc::scoped_refptr<AudioTrackInterface>
+      FindAudioTrack(const std::string& track_id) override;
+  rtc::scoped_refptr<VideoTrackInterface>
+      FindVideoTrack(const std::string& track_id) override;
 
   AudioTrackVector GetAudioTracks() override { return audio_tracks_; }
   VideoTrackVector GetVideoTracks() override { return video_tracks_; }
diff --git a/webrtc/api/peerconnectionfactory.h b/webrtc/api/peerconnectionfactory.h
index 995c760..1992087 100644
--- a/webrtc/api/peerconnectionfactory.h
+++ b/webrtc/api/peerconnectionfactory.h
@@ -35,7 +35,7 @@
 
 class PeerConnectionFactory : public PeerConnectionFactoryInterface {
  public:
-  virtual void SetOptions(const Options& options) {
+  void SetOptions(const Options& options) override {
     options_ = options;
   }
 
diff --git a/webrtc/api/peerconnectioninterface_unittest.cc b/webrtc/api/peerconnectioninterface_unittest.cc
index 738b736..1a8dd57 100644
--- a/webrtc/api/peerconnectioninterface_unittest.cc
+++ b/webrtc/api/peerconnectioninterface_unittest.cc
@@ -424,8 +424,8 @@
       state_ = pc_->signaling_state();
     }
   }
-  virtual void OnSignalingChange(
-      PeerConnectionInterface::SignalingState new_state) {
+  void OnSignalingChange(
+      PeerConnectionInterface::SignalingState new_state) override {
     EXPECT_EQ(pc_->signaling_state(), new_state);
     state_ = new_state;
   }
diff --git a/webrtc/api/rtpsender.h b/webrtc/api/rtpsender.h
index fe61cbd..86de765 100644
--- a/webrtc/api/rtpsender.h
+++ b/webrtc/api/rtpsender.h
@@ -98,8 +98,8 @@
 
   void Stop() override;
 
-  RtpParameters GetParameters() const;
-  bool SetParameters(const RtpParameters& parameters);
+  RtpParameters GetParameters() const override;
+  bool SetParameters(const RtpParameters& parameters) override;
 
  private:
   // TODO(nisse): Since SSRC == 0 is technically valid, figure out
@@ -164,8 +164,8 @@
 
   void Stop() override;
 
-  RtpParameters GetParameters() const;
-  bool SetParameters(const RtpParameters& parameters);
+  RtpParameters GetParameters() const override;
+  bool SetParameters(const RtpParameters& parameters) override;
 
  private:
   bool can_send_track() const { return track_ && ssrc_; }
diff --git a/webrtc/api/rtpsenderreceiver_unittest.cc b/webrtc/api/rtpsenderreceiver_unittest.cc
index 4cd1425..0ec3cfe 100644
--- a/webrtc/api/rtpsenderreceiver_unittest.cc
+++ b/webrtc/api/rtpsenderreceiver_unittest.cc
@@ -43,7 +43,11 @@
 // Helper class to test RtpSender/RtpReceiver.
 class MockAudioProvider : public AudioProviderInterface {
  public:
-  ~MockAudioProvider() override {}
+  // TODO(nisse): Valid overrides commented out, because the gmock
+  // methods don't use any override declarations, and we want to avoid
+  // warnings from -Winconsistent-missing-override. See
+  // http://crbug.com/428099.
+  ~MockAudioProvider() /* override */ {}
 
   MOCK_METHOD2(SetAudioPlayout,
                void(uint32_t ssrc,
@@ -58,8 +62,8 @@
   MOCK_METHOD2(SetAudioRtpParameters,
                bool(uint32_t ssrc, const RtpParameters&));
 
-  void SetRawAudioSink(uint32_t,
-                       std::unique_ptr<AudioSinkInterface> sink) override {
+  void SetRawAudioSink(
+      uint32_t, std::unique_ptr<AudioSinkInterface> sink) /* override */ {
     sink_ = std::move(sink);
   }
 
diff --git a/webrtc/api/statscollector_unittest.cc b/webrtc/api/statscollector_unittest.cc
index 760db0f..2924c51 100644
--- a/webrtc/api/statscollector_unittest.cc
+++ b/webrtc/api/statscollector_unittest.cc
@@ -67,6 +67,10 @@
 
 class MockWebRtcSession : public webrtc::WebRtcSession {
  public:
+  // TODO(nisse): Valid overrides commented out, because the gmock
+  // methods don't use any override declarations, and we want to avoid
+  // warnings from -Winconsistent-missing-override. See
+  // http://crbug.com/428099.
   explicit MockWebRtcSession(webrtc::MediaControllerInterface* media_controller)
       : WebRtcSession(media_controller,
                       rtc::Thread::Current(),
@@ -85,7 +89,7 @@
 
   // Workaround for gmock's inability to cope with move-only return values.
   std::unique_ptr<rtc::SSLCertificate> GetRemoteSSLCertificate(
-      const std::string& transport_name) override {
+      const std::string& transport_name) /* override */ {
     return std::unique_ptr<rtc::SSLCertificate>(
         GetRemoteSSLCertificate_ReturnsRawPointer(transport_name));
   }
diff --git a/webrtc/api/test/fakeaudiocapturemodule.h b/webrtc/api/test/fakeaudiocapturemodule.h
index 30ad3f8..098243f 100644
--- a/webrtc/api/test/fakeaudiocapturemodule.h
+++ b/webrtc/api/test/fakeaudiocapturemodule.h
@@ -174,12 +174,12 @@
   int32_t ResetAudioDevice() override;
   int32_t SetLoudspeakerStatus(bool enable) override;
   int32_t GetLoudspeakerStatus(bool* enabled) const override;
-  virtual bool BuiltInAECIsAvailable() const { return false; }
-  virtual int32_t EnableBuiltInAEC(bool enable) { return -1; }
-  virtual bool BuiltInAGCIsAvailable() const { return false; }
-  virtual int32_t EnableBuiltInAGC(bool enable) { return -1; }
-  virtual bool BuiltInNSIsAvailable() const { return false; }
-  virtual int32_t EnableBuiltInNS(bool enable) { return -1; }
+  bool BuiltInAECIsAvailable() const override { return false; }
+  int32_t EnableBuiltInAEC(bool enable) override { return -1; }
+  bool BuiltInAGCIsAvailable() const override { return false; }
+  int32_t EnableBuiltInAGC(bool enable) override { return -1; }
+  bool BuiltInNSIsAvailable() const override { return false; }
+  int32_t EnableBuiltInNS(bool enable) override { return -1; }
   // End of functions inherited from webrtc::AudioDeviceModule.
 
   // The following function is inherited from rtc::MessageHandler.
diff --git a/webrtc/api/test/fakeaudiocapturemodule_unittest.cc b/webrtc/api/test/fakeaudiocapturemodule_unittest.cc
index 8ac1acc..d0dcd85 100644
--- a/webrtc/api/test/fakeaudiocapturemodule_unittest.cc
+++ b/webrtc/api/test/fakeaudiocapturemodule_unittest.cc
@@ -31,7 +31,7 @@
     memset(rec_buffer_, 0, sizeof(rec_buffer_));
   }
 
-  virtual void SetUp() {
+  void SetUp() override {
     fake_audio_capture_module_ = FakeAudioCaptureModule::Create();
     EXPECT_TRUE(fake_audio_capture_module_.get() != NULL);
   }
diff --git a/webrtc/api/test/fakedtlsidentitystore.h b/webrtc/api/test/fakedtlsidentitystore.h
index 89c4084..c6f5a3c 100644
--- a/webrtc/api/test/fakedtlsidentitystore.h
+++ b/webrtc/api/test/fakedtlsidentitystore.h
@@ -146,7 +146,7 @@
   const char* get_cert() { return kKeysAndCerts[key_index_].cert_pem; }
 
   // rtc::MessageHandler implementation.
-  void OnMessage(rtc::Message* msg) {
+  void OnMessage(rtc::Message* msg) override {
     MessageData* message_data = static_cast<MessageData*>(msg->pdata);
     rtc::scoped_refptr<webrtc::DtlsIdentityRequestObserver> observer =
         message_data->data();
diff --git a/webrtc/api/videotrack.h b/webrtc/api/videotrack.h
index 2f87532..60a0a64 100644
--- a/webrtc/api/videotrack.h
+++ b/webrtc/api/videotrack.h
@@ -33,11 +33,11 @@
                        const rtc::VideoSinkWants& wants) override;
   void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
 
-  virtual VideoTrackSourceInterface* GetSource() const {
+  VideoTrackSourceInterface* GetSource() const override {
     return video_source_.get();
   }
-  virtual bool set_enabled(bool enable);
-  virtual std::string kind() const;
+  bool set_enabled(bool enable) override;
+  std::string kind() const override;
 
  protected:
   VideoTrack(const std::string& id, VideoTrackSourceInterface* video_source);
diff --git a/webrtc/api/videotracksource.h b/webrtc/api/videotracksource.h
index 7100612..10e24ab 100644
--- a/webrtc/api/videotracksource.h
+++ b/webrtc/api/videotracksource.h
@@ -36,8 +36,8 @@
   void Stop() override{};
   void Restart() override{};
 
-  virtual bool is_screencast() const { return false; }
-  virtual rtc::Optional<bool> needs_denoising() const {
+  bool is_screencast() const override { return false; }
+  rtc::Optional<bool> needs_denoising() const override {
     return rtc::Optional<bool>(); }
 
   bool GetStats(Stats* stats) override { return false; }
diff --git a/webrtc/api/webrtcsession.h b/webrtc/api/webrtcsession.h
index 89b77bb..970f967 100644
--- a/webrtc/api/webrtcsession.h
+++ b/webrtc/api/webrtcsession.h
@@ -267,10 +267,10 @@
                              const RtpParameters& parameters) override;
 
   // Implements DtmfProviderInterface.
-  virtual bool CanInsertDtmf(const std::string& track_id);
-  virtual bool InsertDtmf(const std::string& track_id,
-                          int code, int duration);
-  virtual sigslot::signal0<>* GetOnDestroyedSignal();
+  bool CanInsertDtmf(const std::string& track_id) override;
+  bool InsertDtmf(const std::string& track_id,
+                  int code, int duration) override;
+  sigslot::signal0<>* GetOnDestroyedSignal() override;
 
   // Implements DataChannelProviderInterface.
   bool SendData(const cricket::SendDataParams& params,
diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc
index 24e830e..5e9b039 100644
--- a/webrtc/api/webrtcsession_unittest.cc
+++ b/webrtc/api/webrtcsession_unittest.cc
@@ -191,7 +191,7 @@
 
   // Some local candidates are removed.
   void OnIceCandidatesRemoved(
-      const std::vector<cricket::Candidate>& candidates) {
+      const std::vector<cricket::Candidate>& candidates) override {
     num_candidates_removed_ += candidates.size();
   }