1--- a/base/metrics/histogram.cc 2+++ b/base/metrics/histogram.cc 3@@ -94,6 +94,7 @@ class Histogram::Factory { 4 uint32_t bucket_count, 5 int32_t flags) 6 : Factory(name, HISTOGRAM, minimum, maximum, bucket_count, flags) {} 7+ virtual ~Factory() = default; 8 9 // Create histogram based on construction parameters. Caller takes 10 // ownership of the returned object. 11@@ -741,6 +742,7 @@ class LinearHistogram::Factory : public 12 bucket_count, flags) { 13 descriptions_ = descriptions; 14 } 15+ ~Factory() override = default; 16 17 protected: 18 BucketRanges* CreateRanges() override { 19@@ -932,6 +934,7 @@ class BooleanHistogram::Factory : public 20 public: 21 Factory(const std::string& name, int32_t flags) 22 : Histogram::Factory(name, BOOLEAN_HISTOGRAM, 1, 2, 3, flags) {} 23+ ~Factory() override = default; 24 25 protected: 26 BucketRanges* CreateRanges() override { 27@@ -1020,6 +1023,7 @@ class CustomHistogram::Factory : public 28 : Histogram::Factory(name, CUSTOM_HISTOGRAM, 0, 0, 0, flags) { 29 custom_ranges_ = custom_ranges; 30 } 31+ ~Factory() override = default; 32 33 protected: 34 BucketRanges* CreateRanges() override { 35--- a/base/metrics/statistics_recorder.h 36+++ b/base/metrics/statistics_recorder.h 37@@ -67,6 +67,7 @@ class BASE_EXPORT StatisticsRecorder { 38 // histograms from providers when necessary. 39 class HistogramProvider { 40 public: 41+ virtual ~HistogramProvider() {} 42 // Merges all histogram information into the global versions. 43 virtual void MergeHistogramDeltas() = 0; 44 }; 45--- a/base/bind_unittest.cc 46+++ b/base/bind_unittest.cc 47@@ -69,6 +69,7 @@ static const int kChildValue = 2; 48 49 class Parent { 50 public: 51+ virtual ~Parent() {} 52 void AddRef() const {} 53 void Release() const {} 54 virtual void VirtualSet() { value = kParentValue; } 55@@ -78,18 +79,23 @@ class Parent { 56 57 class Child : public Parent { 58 public: 59+ ~Child() override {} 60 void VirtualSet() override { value = kChildValue; } 61 void NonVirtualSet() { value = kChildValue; } 62 }; 63 64 class NoRefParent { 65 public: 66+ virtual ~NoRefParent() {} 67 virtual void VirtualSet() { value = kParentValue; } 68 void NonVirtualSet() { value = kParentValue; } 69 int value; 70 }; 71 72 class NoRefChild : public NoRefParent { 73+ public: 74+ ~NoRefChild() override {} 75+ private: 76 void VirtualSet() override { value = kChildValue; } 77 void NonVirtualSet() { value = kChildValue; } 78 }; 79