Standardize usage of virtual/override/final specifiers in base/.

The Google C++ style guide states:

  Explicitly annotate overrides of virtual functions or virtual
  destructors with an override or (less frequently) final specifier.
  Older (pre-C++11) code will use the virtual keyword as an inferior
  alternative annotation. For clarity, use exactly one of override,
  final, or virtual when declaring an override.

To better conform to these guidelines, the following constructs have
been rewritten:

- if a base class has a virtual destructor, then:
    virtual ~Foo();                   ->  ~Foo() override;
- virtual void Foo() override;        ->  void Foo() override;
- virtual void Foo() override final;  ->  void Foo() final;

This patch was automatically generated. The clang plugin can generate
fixit hints, which are suggested edits when it is 100% sure it knows how
to fix a problem. The hints from the clang plugin were applied to the
source tree using the tool in https://codereview.chromium.org/598073004.

Several formatting edits by clang-format were manually reverted, due to
mangling of some of the more complicate IPC macros.

BUG=417463

Review URL: https://codereview.chromium.org/804533005

Cr-Commit-Position: refs/heads/master@{#309527}


CrOS-Libchrome-Original-Commit: 8aef3761e6ff2a3315d23810187e5f52462db30f
diff --git a/base/callback_unittest.cc b/base/callback_unittest.cc
index e2a5d38..5644b85 100644
--- a/base/callback_unittest.cc
+++ b/base/callback_unittest.cc
@@ -66,8 +66,7 @@
         callback_b_(new FakeBindState2()) {
   }
 
-  virtual ~CallbackTest() {
-  }
+  ~CallbackTest() override {}
 
  protected:
   Callback<void(void)> callback_a_;
diff --git a/base/debug/crash_logging_unittest.cc b/base/debug/crash_logging_unittest.cc
index cb11f13..4cd9f3e 100644
--- a/base/debug/crash_logging_unittest.cc
+++ b/base/debug/crash_logging_unittest.cc
@@ -18,14 +18,14 @@
 
 class CrashLoggingTest : public testing::Test {
  public:
-  virtual void SetUp() {
+  void SetUp() override {
     key_values_ = new std::map<std::string, std::string>;
     base::debug::SetCrashKeyReportingFunctions(
         &CrashLoggingTest::SetKeyValue,
         &CrashLoggingTest::ClearKeyValue);
   }
 
-  virtual void TearDown() {
+  void TearDown() override {
     base::debug::ResetCrashLoggingForTesting();
 
     delete key_values_;
diff --git a/base/debug/trace_event_memory_unittest.cc b/base/debug/trace_event_memory_unittest.cc
index 3f5cad3..12135b8 100644
--- a/base/debug/trace_event_memory_unittest.cc
+++ b/base/debug/trace_event_memory_unittest.cc
@@ -23,7 +23,7 @@
 class TraceMemoryTest : public testing::Test {
  public:
   TraceMemoryTest() {}
-  virtual ~TraceMemoryTest() {}
+  ~TraceMemoryTest() override {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(TraceMemoryTest);
diff --git a/base/debug/trace_event_synthetic_delay_unittest.cc b/base/debug/trace_event_synthetic_delay_unittest.cc
index 60e4d20..00cf4f9 100644
--- a/base/debug/trace_event_synthetic_delay_unittest.cc
+++ b/base/debug/trace_event_synthetic_delay_unittest.cc
@@ -21,9 +21,7 @@
                                      public TraceEventSyntheticDelayClock {
  public:
   TraceEventSyntheticDelayTest() {}
-  virtual ~TraceEventSyntheticDelayTest() {
-    ResetTraceEventSyntheticDelays();
-  }
+  ~TraceEventSyntheticDelayTest() override { ResetTraceEventSyntheticDelays(); }
 
   // TraceEventSyntheticDelayClock implementation.
   base::TimeTicks Now() override {
diff --git a/base/debug/trace_event_system_stats_monitor_unittest.cc b/base/debug/trace_event_system_stats_monitor_unittest.cc
index 5cc2a0f..76292d2 100644
--- a/base/debug/trace_event_system_stats_monitor_unittest.cc
+++ b/base/debug/trace_event_system_stats_monitor_unittest.cc
@@ -20,7 +20,7 @@
 class TraceSystemStatsMonitorTest : public testing::Test {
  public:
   TraceSystemStatsMonitorTest() {}
-  virtual ~TraceSystemStatsMonitorTest() {}
+  ~TraceSystemStatsMonitorTest() override {}
 
  private:
   DISALLOW_COPY_AND_ASSIGN(TraceSystemStatsMonitorTest);
diff --git a/base/debug/trace_event_unittest.cc b/base/debug/trace_event_unittest.cc
index 85cf4eb..30ad797 100644
--- a/base/debug/trace_event_unittest.cc
+++ b/base/debug/trace_event_unittest.cc
@@ -125,7 +125,7 @@
                    base::Unretained(flush_complete_event)));
   }
 
-  virtual void SetUp() override {
+  void SetUp() override {
     const char* name = PlatformThread::GetName();
     old_thread_name_ = name ? strdup(name) : NULL;
 
@@ -136,7 +136,7 @@
     trace_buffer_.SetOutputCallback(json_output_.GetCallback());
     event_watch_notification_ = 0;
   }
-  virtual void TearDown() override {
+  void TearDown() override {
     if (TraceLog::GetInstance())
       EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled());
     PlatformThread::SetName(old_thread_name_ ? old_thread_name_ : "");
@@ -2215,12 +2215,12 @@
 
 class TraceEventCallbackTest : public TraceEventTestFixture {
  public:
-  virtual void SetUp() override {
+  void SetUp() override {
     TraceEventTestFixture::SetUp();
     ASSERT_EQ(NULL, s_instance);
     s_instance = this;
   }
-  virtual void TearDown() override {
+  void TearDown() override {
     TraceLog::GetInstance()->SetDisabled();
     ASSERT_TRUE(!!s_instance);
     s_instance = NULL;
diff --git a/base/files/file_path_unittest.cc b/base/files/file_path_unittest.cc
index 956faea..c162938 100644
--- a/base/files/file_path_unittest.cc
+++ b/base/files/file_path_unittest.cc
@@ -48,15 +48,7 @@
 
 // file_util winds up using autoreleased objects on the Mac, so this needs
 // to be a PlatformTest
-class FilePathTest : public PlatformTest {
- protected:
-  virtual void SetUp() override {
-    PlatformTest::SetUp();
-  }
-  virtual void TearDown() override {
-    PlatformTest::TearDown();
-  }
-};
+typedef PlatformTest FilePathTest;
 
 TEST_F(FilePathTest, DirName) {
   const struct UnaryTestData cases[] = {
diff --git a/base/files/file_path_watcher_browsertest.cc b/base/files/file_path_watcher_browsertest.cc
index 0e19b2e..9081626 100644
--- a/base/files/file_path_watcher_browsertest.cc
+++ b/base/files/file_path_watcher_browsertest.cc
@@ -143,10 +143,10 @@
   FilePathWatcherTest()
       : file_thread_("FilePathWatcherTest") {}
 
-  virtual ~FilePathWatcherTest() {}
+  ~FilePathWatcherTest() override {}
 
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     // Create a separate file thread in order to test proper thread usage.
     base::Thread::Options options(MessageLoop::TYPE_IO, 0);
     ASSERT_TRUE(file_thread_.StartWithOptions(options));
@@ -154,9 +154,7 @@
     collector_ = new NotificationCollector();
   }
 
-  virtual void TearDown() override {
-    RunLoop().RunUntilIdle();
-  }
+  void TearDown() override { RunLoop().RunUntilIdle(); }
 
   void DeleteDelegateOnFileThread(TestDelegate* delegate) {
     file_thread_.message_loop_proxy()->DeleteSoon(FROM_HERE, delegate);
diff --git a/base/files/file_proxy_unittest.cc b/base/files/file_proxy_unittest.cc
index b5ed395..dbf1476 100644
--- a/base/files/file_proxy_unittest.cc
+++ b/base/files/file_proxy_unittest.cc
@@ -24,7 +24,7 @@
         bytes_written_(-1),
         weak_factory_(this) {}
 
-  virtual void SetUp() override {
+  void SetUp() override {
     ASSERT_TRUE(dir_.CreateUniqueTempDir());
     ASSERT_TRUE(file_thread_.Start());
   }
diff --git a/base/files/file_util_proxy_unittest.cc b/base/files/file_util_proxy_unittest.cc
index 87ae66a..17bbba8 100644
--- a/base/files/file_util_proxy_unittest.cc
+++ b/base/files/file_util_proxy_unittest.cc
@@ -23,7 +23,7 @@
         bytes_written_(-1),
         weak_factory_(this) {}
 
-  virtual void SetUp() override {
+  void SetUp() override {
     ASSERT_TRUE(dir_.CreateUniqueTempDir());
     ASSERT_TRUE(file_thread_.Start());
   }
diff --git a/base/files/file_util_unittest.cc b/base/files/file_util_unittest.cc
index 29d5133..313ed03 100644
--- a/base/files/file_util_unittest.cc
+++ b/base/files/file_util_unittest.cc
@@ -184,7 +184,7 @@
 // to be a PlatformTest
 class FileUtilTest : public PlatformTest {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     PlatformTest::SetUp();
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
   }
@@ -2170,7 +2170,7 @@
 // with a common SetUp() method.
 class VerifyPathControlledByUserTest : public FileUtilTest {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     FileUtilTest::SetUp();
 
     // Create a basic structure used by each test.
diff --git a/base/files/important_file_writer_unittest.cc b/base/files/important_file_writer_unittest.cc
index 96d0d05..98eaee8 100644
--- a/base/files/important_file_writer_unittest.cc
+++ b/base/files/important_file_writer_unittest.cc
@@ -82,7 +82,7 @@
 class ImportantFileWriterTest : public testing::Test {
  public:
   ImportantFileWriterTest() { }
-  virtual void SetUp() {
+  void SetUp() override {
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
     file_ = temp_dir_.path().AppendASCII("test-file");
   }
diff --git a/base/files/memory_mapped_file_unittest.cc b/base/files/memory_mapped_file_unittest.cc
index 36999bf..d0833b5 100644
--- a/base/files/memory_mapped_file_unittest.cc
+++ b/base/files/memory_mapped_file_unittest.cc
@@ -29,12 +29,12 @@
 
 class MemoryMappedFileTest : public PlatformTest {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     PlatformTest::SetUp();
     CreateTemporaryFile(&temp_file_path_);
   }
 
-  virtual void TearDown() { EXPECT_TRUE(DeleteFile(temp_file_path_, false)); }
+  void TearDown() override { EXPECT_TRUE(DeleteFile(temp_file_path_, false)); }
 
   void CreateTemporaryTestFile(size_t size) {
     File file(temp_file_path_,
diff --git a/base/json/json_value_serializer_unittest.cc b/base/json/json_value_serializer_unittest.cc
index dc43693..e3c349c 100644
--- a/base/json/json_value_serializer_unittest.cc
+++ b/base/json/json_value_serializer_unittest.cc
@@ -372,9 +372,7 @@
 
 class JSONFileValueSerializerTest : public testing::Test {
  protected:
-  virtual void SetUp() override {
-    ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
-  }
+  void SetUp() override { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); }
 
   base::ScopedTempDir temp_dir_;
 };
diff --git a/base/memory/discardable_memory_manager_unittest.cc b/base/memory/discardable_memory_manager_unittest.cc
index 12f7f08..9f06e37 100644
--- a/base/memory/discardable_memory_manager_unittest.cc
+++ b/base/memory/discardable_memory_manager_unittest.cc
@@ -33,7 +33,7 @@
     DCHECK(is_allocated_);
     is_allocated_ = false;
   }
-  virtual bool IsMemoryResident() const override {
+  bool IsMemoryResident() const override {
     DCHECK(is_allocated_);
     return true;
   }
@@ -460,9 +460,9 @@
       : memory_usage_thread_("memory_usage_thread"),
         thread_sync_(true, false) {}
 
-  virtual void SetUp() override { memory_usage_thread_.Start(); }
+  void SetUp() override { memory_usage_thread_.Start(); }
 
-  virtual void TearDown() override { memory_usage_thread_.Stop(); }
+  void TearDown() override { memory_usage_thread_.Stop(); }
 
   void UseMemoryHelper() {
     size_t size = 1024;
diff --git a/base/memory/discardable_memory_shmem.h b/base/memory/discardable_memory_shmem.h
index d25f84c..c2ab278 100644
--- a/base/memory/discardable_memory_shmem.h
+++ b/base/memory/discardable_memory_shmem.h
@@ -19,7 +19,7 @@
       public internal::DiscardableMemoryManagerAllocation {
  public:
   explicit DiscardableMemoryShmem(size_t bytes);
-  virtual ~DiscardableMemoryShmem();
+  ~DiscardableMemoryShmem() override;
 
   static void ReleaseFreeMemory();
 
@@ -28,15 +28,15 @@
   bool Initialize();
 
   // Overridden from DiscardableMemory:
-  virtual DiscardableMemoryLockStatus Lock() override;
-  virtual void Unlock() override;
-  virtual void* Memory() const override;
+  DiscardableMemoryLockStatus Lock() override;
+  void Unlock() override;
+  void* Memory() const override;
 
   // Overridden from internal::DiscardableMemoryManagerAllocation:
-  virtual bool AllocateAndAcquireLock() override;
-  virtual void ReleaseLock() override;
-  virtual void Purge() override;
-  virtual bool IsMemoryResident() const override;
+  bool AllocateAndAcquireLock() override;
+  void ReleaseLock() override;
+  void Purge() override;
+  bool IsMemoryResident() const override;
 
  private:
   const size_t bytes_;
diff --git a/base/memory/discardable_memory_shmem_allocator.cc b/base/memory/discardable_memory_shmem_allocator.cc
index 78d15c1..8b9157f 100644
--- a/base/memory/discardable_memory_shmem_allocator.cc
+++ b/base/memory/discardable_memory_shmem_allocator.cc
@@ -17,8 +17,8 @@
     : public DiscardableMemoryShmemAllocator {
  public:
   // Overridden from DiscardableMemoryShmemAllocator:
-  virtual scoped_ptr<DiscardableSharedMemory>
-  AllocateLockedDiscardableSharedMemory(size_t size) override {
+  scoped_ptr<DiscardableSharedMemory> AllocateLockedDiscardableSharedMemory(
+      size_t size) override {
     scoped_ptr<DiscardableSharedMemory> memory(new DiscardableSharedMemory);
     if (!memory->CreateAndMap(size))
       return scoped_ptr<DiscardableSharedMemory>();
diff --git a/base/memory/singleton_unittest.cc b/base/memory/singleton_unittest.cc
index 0e9ecdc..dbff007 100644
--- a/base/memory/singleton_unittest.cc
+++ b/base/memory/singleton_unittest.cc
@@ -153,7 +153,7 @@
  public:
   SingletonTest() {}
 
-  virtual void SetUp() override {
+  void SetUp() override {
     non_leak_called_ = false;
     leaky_called_ = false;
     static_called_ = false;
diff --git a/base/message_loop/message_loop_proxy_impl_unittest.cc b/base/message_loop/message_loop_proxy_impl_unittest.cc
index 5f31140..fa25371 100644
--- a/base/message_loop/message_loop_proxy_impl_unittest.cc
+++ b/base/message_loop/message_loop_proxy_impl_unittest.cc
@@ -38,14 +38,14 @@
   }
 
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     io_thread_.reset(new Thread("MessageLoopProxyImplTest_IO"));
     file_thread_.reset(new Thread("MessageLoopProxyImplTest_File"));
     io_thread_->Start();
     file_thread_->Start();
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     io_thread_->Stop();
     file_thread_->Stop();
   }
diff --git a/base/message_loop/message_loop_proxy_unittest.cc b/base/message_loop/message_loop_proxy_unittest.cc
index 673ed88..0b0d9f8 100644
--- a/base/message_loop/message_loop_proxy_unittest.cc
+++ b/base/message_loop/message_loop_proxy_unittest.cc
@@ -31,7 +31,7 @@
   }
 
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     // Use SetUp() instead of the constructor to avoid posting a task to a
     // partialy constructed object.
     task_thread_.Start();
@@ -42,7 +42,7 @@
         Bind(&MessageLoopProxyTest::BlockTaskThreadHelper, Unretained(this)));
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     // Make sure the |task_thread_| is not blocked, and stop the thread
     // fully before destuction because its tasks may still depend on the
     // |thread_sync_| event.
diff --git a/base/message_loop/message_pump_glib_unittest.cc b/base/message_loop/message_pump_glib_unittest.cc
index ae4fefe..7ddd4f0 100644
--- a/base/message_loop/message_pump_glib_unittest.cc
+++ b/base/message_loop/message_pump_glib_unittest.cc
@@ -161,11 +161,11 @@
   MessagePumpGLibTest() : loop_(NULL), injector_(NULL) { }
 
   // Overridden from testing::Test:
-  virtual void SetUp() override {
+  void SetUp() override {
     loop_ = new MessageLoop(MessageLoop::TYPE_UI);
     injector_ = new EventInjector();
   }
-  virtual void TearDown() override {
+  void TearDown() override {
     delete injector_;
     injector_ = NULL;
     delete loop_;
diff --git a/base/message_loop/message_pump_libevent_unittest.cc b/base/message_loop/message_pump_libevent_unittest.cc
index f9b89c4..1058ee8 100644
--- a/base/message_loop/message_pump_libevent_unittest.cc
+++ b/base/message_loop/message_pump_libevent_unittest.cc
@@ -21,9 +21,9 @@
   MessagePumpLibeventTest()
       : ui_loop_(MessageLoop::TYPE_UI),
         io_thread_("MessagePumpLibeventTestIOThread") {}
-  virtual ~MessagePumpLibeventTest() {}
+  ~MessagePumpLibeventTest() override {}
 
-  virtual void SetUp() override {
+  void SetUp() override {
     Thread::Options options(MessageLoop::TYPE_IO, 0);
     ASSERT_TRUE(io_thread_.StartWithOptions(options));
     ASSERT_EQ(MessageLoop::TYPE_IO, io_thread_.message_loop()->type());
@@ -31,7 +31,7 @@
     ASSERT_EQ(0, ret);
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     if (IGNORE_EINTR(close(pipefds_[0])) < 0)
       PLOG(ERROR) << "close";
     if (IGNORE_EINTR(close(pipefds_[1])) < 0)
diff --git a/base/metrics/histogram_base_unittest.cc b/base/metrics/histogram_base_unittest.cc
index 4a2963a..2d6b6df 100644
--- a/base/metrics/histogram_base_unittest.cc
+++ b/base/metrics/histogram_base_unittest.cc
@@ -22,9 +22,7 @@
     ResetStatisticsRecorder();
   }
 
-  virtual ~HistogramBaseTest() {
-    delete statistics_recorder_;
-  }
+  ~HistogramBaseTest() override { delete statistics_recorder_; }
 
   void ResetStatisticsRecorder() {
     delete statistics_recorder_;
diff --git a/base/metrics/histogram_snapshot_manager_unittest.cc b/base/metrics/histogram_snapshot_manager_unittest.cc
index 5dd72a7..3a1fd40 100644
--- a/base/metrics/histogram_snapshot_manager_unittest.cc
+++ b/base/metrics/histogram_snapshot_manager_unittest.cc
@@ -51,7 +51,7 @@
   HistogramSnapshotManagerTest()
       : histogram_snapshot_manager_(&histogram_flattener_delta_recorder_) {}
 
-  virtual ~HistogramSnapshotManagerTest() {}
+  ~HistogramSnapshotManagerTest() override {}
 
   StatisticsRecorder statistics_recorder_;
   HistogramFlattenerDeltaRecorder histogram_flattener_delta_recorder_;
diff --git a/base/metrics/histogram_unittest.cc b/base/metrics/histogram_unittest.cc
index 41e36fa..df43e65 100644
--- a/base/metrics/histogram_unittest.cc
+++ b/base/metrics/histogram_unittest.cc
@@ -24,15 +24,13 @@
 
 class HistogramTest : public testing::Test {
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     // Each test will have a clean state (no Histogram / BucketRanges
     // registered).
     InitializeStatisticsRecorder();
   }
 
-  virtual void TearDown() {
-    UninitializeStatisticsRecorder();
-  }
+  void TearDown() override { UninitializeStatisticsRecorder(); }
 
   void InitializeStatisticsRecorder() {
     statistics_recorder_ = new StatisticsRecorder();
diff --git a/base/metrics/sparse_histogram_unittest.cc b/base/metrics/sparse_histogram_unittest.cc
index 6a0efa4..c29dd5e 100644
--- a/base/metrics/sparse_histogram_unittest.cc
+++ b/base/metrics/sparse_histogram_unittest.cc
@@ -18,15 +18,13 @@
 
 class SparseHistogramTest : public testing::Test {
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     // Each test will have a clean state (no Histogram / BucketRanges
     // registered).
     InitializeStatisticsRecorder();
   }
 
-  virtual void TearDown() {
-    UninitializeStatisticsRecorder();
-  }
+  void TearDown() override { UninitializeStatisticsRecorder(); }
 
   void InitializeStatisticsRecorder() {
     statistics_recorder_ = new StatisticsRecorder();
diff --git a/base/metrics/statistics_recorder_unittest.cc b/base/metrics/statistics_recorder_unittest.cc
index cabeb71..e653bf3 100644
--- a/base/metrics/statistics_recorder_unittest.cc
+++ b/base/metrics/statistics_recorder_unittest.cc
@@ -15,15 +15,13 @@
 
 class StatisticsRecorderTest : public testing::Test {
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     // Each test will have a clean state (no Histogram / BucketRanges
     // registered).
     InitializeStatisticsRecorder();
   }
 
-  virtual void TearDown() {
-    UninitializeStatisticsRecorder();
-  }
+  void TearDown() override { UninitializeStatisticsRecorder(); }
 
   void InitializeStatisticsRecorder() {
     statistics_recorder_ = new StatisticsRecorder();
diff --git a/base/power_monitor/power_monitor_unittest.cc b/base/power_monitor/power_monitor_unittest.cc
index 5f7b531..2df8261 100644
--- a/base/power_monitor/power_monitor_unittest.cc
+++ b/base/power_monitor/power_monitor_unittest.cc
@@ -15,7 +15,7 @@
     power_monitor_.reset(new PowerMonitor(
         scoped_ptr<PowerMonitorSource>(power_monitor_source_)));
   }
-  virtual ~PowerMonitorTest() {};
+  ~PowerMonitorTest() override{};
 
   PowerMonitorTestSource* source() { return power_monitor_source_; }
   PowerMonitor* monitor() { return power_monitor_.get(); }
diff --git a/base/prefs/json_pref_store_unittest.cc b/base/prefs/json_pref_store_unittest.cc
index dc4043e..ff68836 100644
--- a/base/prefs/json_pref_store_unittest.cc
+++ b/base/prefs/json_pref_store_unittest.cc
@@ -86,7 +86,7 @@
 
 class JsonPrefStoreTest : public testing::Test {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
 
     ASSERT_TRUE(PathService::Get(base::DIR_TEST_DATA, &data_dir_));
@@ -94,7 +94,7 @@
     ASSERT_TRUE(PathExists(data_dir_));
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     // Make sure all pending tasks have been processed (e.g., deleting the
     // JsonPrefStore may post write tasks).
     message_loop_.PostTask(FROM_HERE, MessageLoop::QuitWhenIdleClosure());
diff --git a/base/prefs/overlay_user_pref_store_unittest.cc b/base/prefs/overlay_user_pref_store_unittest.cc
index 66a7b3b..9836fbf 100644
--- a/base/prefs/overlay_user_pref_store_unittest.cc
+++ b/base/prefs/overlay_user_pref_store_unittest.cc
@@ -37,7 +37,7 @@
     overlay_->RegisterOverlayPref(mapped_overlay_key, mapped_underlay_key);
   }
 
-  virtual ~OverlayUserPrefStoreTest() {}
+  ~OverlayUserPrefStoreTest() override {}
 
   scoped_refptr<TestingPrefStore> underlay_;
   scoped_refptr<OverlayUserPrefStore> overlay_;
diff --git a/base/prefs/pref_change_registrar_unittest.cc b/base/prefs/pref_change_registrar_unittest.cc
index e449084..da425cf 100644
--- a/base/prefs/pref_change_registrar_unittest.cc
+++ b/base/prefs/pref_change_registrar_unittest.cc
@@ -36,10 +36,10 @@
 class PrefChangeRegistrarTest : public testing::Test {
  public:
   PrefChangeRegistrarTest() {}
-  virtual ~PrefChangeRegistrarTest() {}
+  ~PrefChangeRegistrarTest() override {}
 
  protected:
-  virtual void SetUp() override;
+  void SetUp() override;
 
   base::Closure observer() const {
     return base::Bind(&base::DoNothing);
diff --git a/base/prefs/pref_notifier_impl_unittest.cc b/base/prefs/pref_notifier_impl_unittest.cc
index 04564c8..0ecf138 100644
--- a/base/prefs/pref_notifier_impl_unittest.cc
+++ b/base/prefs/pref_notifier_impl_unittest.cc
@@ -85,7 +85,7 @@
 // Test fixture class.
 class PrefNotifierTest : public testing::Test {
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     pref_service_.registry()->RegisterBooleanPref(kChangedPref, true);
     pref_service_.registry()->RegisterBooleanPref(kUnchangedPref, true);
   }
diff --git a/base/prefs/pref_value_store_unittest.cc b/base/prefs/pref_value_store_unittest.cc
index 9194b22..e214adf 100644
--- a/base/prefs/pref_value_store_unittest.cc
+++ b/base/prefs/pref_value_store_unittest.cc
@@ -98,7 +98,7 @@
 
 class PrefValueStoreTest : public testing::Test {
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     // Create TestingPrefStores.
     CreateManagedPrefs();
     CreateSupervisedUserPrefs();
diff --git a/base/prefs/scoped_user_pref_update_unittest.cc b/base/prefs/scoped_user_pref_update_unittest.cc
index dfe2074..48e3dc4 100644
--- a/base/prefs/scoped_user_pref_update_unittest.cc
+++ b/base/prefs/scoped_user_pref_update_unittest.cc
@@ -16,10 +16,10 @@
 class ScopedUserPrefUpdateTest : public testing::Test {
  public:
   ScopedUserPrefUpdateTest() : observer_(&prefs_) {}
-  virtual ~ScopedUserPrefUpdateTest() {}
+  ~ScopedUserPrefUpdateTest() override {}
 
  protected:
-  virtual void SetUp() {
+  void SetUp() override {
     prefs_.registry()->RegisterDictionaryPref(kPref);
     registrar_.Init(&prefs_);
     registrar_.Add(kPref, observer_.GetCallback());
diff --git a/base/process/memory_unittest.cc b/base/process/memory_unittest.cc
index afbf5c6..86a8091 100644
--- a/base/process/memory_unittest.cc
+++ b/base/process/memory_unittest.cc
@@ -182,13 +182,9 @@
   }
 
 #if defined(USE_TCMALLOC)
-  virtual void SetUp() override {
-    tc_set_new_mode(1);
-  }
+  void SetUp() override { tc_set_new_mode(1); }
 
-  virtual void TearDown() override {
-    tc_set_new_mode(0);
-  }
+  void TearDown() override { tc_set_new_mode(0); }
 #endif  // defined(USE_TCMALLOC)
 
  protected:
@@ -390,7 +386,7 @@
   static const size_t kSafeCallocSize = 128;
   static const size_t kSafeCallocItems = 4;
 
-  virtual void SetUp() {
+  void SetUp() override {
     OutOfMemoryTest::SetUp();
 
     // We enable termination on OOM - just as Chrome does at early
diff --git a/base/sequence_checker_unittest.cc b/base/sequence_checker_unittest.cc
index ad77db0..9aae82c 100644
--- a/base/sequence_checker_unittest.cc
+++ b/base/sequence_checker_unittest.cc
@@ -56,14 +56,12 @@
  public:
   SequenceCheckerTest() : other_thread_("sequence_checker_test_other_thread") {}
 
-  virtual ~SequenceCheckerTest() {}
-
-  virtual void SetUp() override {
+  void SetUp() override {
     other_thread_.Start();
     ResetPool();
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     other_thread_.Stop();
     pool()->Shutdown();
   }
diff --git a/base/system_monitor/system_monitor_unittest.cc b/base/system_monitor/system_monitor_unittest.cc
index e49405e..d63bc3d 100644
--- a/base/system_monitor/system_monitor_unittest.cc
+++ b/base/system_monitor/system_monitor_unittest.cc
@@ -19,7 +19,6 @@
   SystemMonitorTest() {
     system_monitor_.reset(new SystemMonitor);
   }
-  virtual ~SystemMonitorTest() {}
 
   MessageLoop message_loop_;
   scoped_ptr<SystemMonitor> system_monitor_;
diff --git a/base/task/cancelable_task_tracker_unittest.cc b/base/task/cancelable_task_tracker_unittest.cc
index e122e8d..8b2b86a 100644
--- a/base/task/cancelable_task_tracker_unittest.cc
+++ b/base/task/cancelable_task_tracker_unittest.cc
@@ -25,7 +25,7 @@
 
 class CancelableTaskTrackerTest : public testing::Test {
  protected:
-  virtual ~CancelableTaskTrackerTest() { RunCurrentLoopUntilIdle(); }
+  ~CancelableTaskTrackerTest() override { RunCurrentLoopUntilIdle(); }
 
   void RunCurrentLoopUntilIdle() {
     RunLoop run_loop;
@@ -346,8 +346,6 @@
     // The default style "fast" does not support multi-threaded tests.
     ::testing::FLAGS_gtest_death_test_style = "threadsafe";
   }
-
-  virtual ~CancelableTaskTrackerDeathTest() {}
 };
 
 // Duplicated from base/threading/thread_checker.h so that we can be
diff --git a/base/threading/sequenced_worker_pool_unittest.cc b/base/threading/sequenced_worker_pool_unittest.cc
index b1fe276..ed5f896 100644
--- a/base/threading/sequenced_worker_pool_unittest.cc
+++ b/base/threading/sequenced_worker_pool_unittest.cc
@@ -183,13 +183,7 @@
     ResetPool();
   }
 
-  virtual ~SequencedWorkerPoolTest() {}
-
-  virtual void SetUp() override {}
-
-  virtual void TearDown() override {
-    pool()->Shutdown();
-  }
+  void TearDown() override { pool()->Shutdown(); }
 
   const scoped_refptr<SequencedWorkerPool>& pool() {
     return pool_owner_->pool();
diff --git a/base/threading/watchdog_unittest.cc b/base/threading/watchdog_unittest.cc
index b8cc7b7..627f46d 100644
--- a/base/threading/watchdog_unittest.cc
+++ b/base/threading/watchdog_unittest.cc
@@ -43,9 +43,7 @@
 
 class WatchdogTest : public testing::Test {
  public:
-  virtual void SetUp() override {
-    Watchdog::ResetStaticData();
-  }
+  void SetUp() override { Watchdog::ResetStaticData(); }
 };
 
 }  // namespace
diff --git a/base/threading/worker_pool_posix_unittest.cc b/base/threading/worker_pool_posix_unittest.cc
index b694155..354a99c 100644
--- a/base/threading/worker_pool_posix_unittest.cc
+++ b/base/threading/worker_pool_posix_unittest.cc
@@ -97,11 +97,11 @@
         num_waiting_to_start_cv_(&num_waiting_to_start_lock_),
         start_(true, false) {}
 
-  virtual void SetUp() override {
+  void SetUp() override {
     peer_.set_num_idle_threads_cv(new ConditionVariable(peer_.lock()));
   }
 
-  virtual void TearDown() override {
+  void TearDown() override {
     // Wake up the idle threads so they can terminate.
     if (pool_.get()) pool_->Terminate();
   }
diff --git a/base/time/pr_time_unittest.cc b/base/time/pr_time_unittest.cc
index 2853e96..06043a5 100644
--- a/base/time/pr_time_unittest.cc
+++ b/base/time/pr_time_unittest.cc
@@ -25,7 +25,7 @@
 // tested by comparing them to a known time in the local zone.
 class PRTimeTest : public testing::Test {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     // Use mktime to get a time_t, and turn it into a PRTime by converting
     // seconds to microseconds.  Use 15th Oct 2007 12:45:00 local.  This
     // must be a time guaranteed to be outside of a DST fallback hour in
diff --git a/base/time/time_unittest.cc b/base/time/time_unittest.cc
index ef80e43..16d6fe9 100644
--- a/base/time/time_unittest.cc
+++ b/base/time/time_unittest.cc
@@ -24,7 +24,7 @@
 // See also pr_time_unittests.cc
 class TimeTest : public testing::Test {
  protected:
-  virtual void SetUp() override {
+  void SetUp() override {
     // Use mktime to get a time_t, and turn it into a PRTime by converting
     // seconds to microseconds.  Use 15th Oct 2007 12:45:00 local.  This
     // must be a time guaranteed to be outside of a DST fallback hour in
diff --git a/base/tracked_objects_unittest.cc b/base/tracked_objects_unittest.cc
index f19ba7b..b6fc851 100644
--- a/base/tracked_objects_unittest.cc
+++ b/base/tracked_objects_unittest.cc
@@ -34,7 +34,7 @@
     ThreadData::now_function_is_time_ = true;
   }
 
-  virtual ~TrackedObjectsTest() {
+  ~TrackedObjectsTest() override {
     // We should not need to leak any structures we create, since we are
     // single threaded, and carefully accounting for items.
     ThreadData::ShutdownSingleThreadedCleanup(false);