| Index: chrome/renderer/net/net_error_helper_core_unittest.cc
 | 
| diff --git a/chrome/renderer/net/net_error_helper_core_unittest.cc b/chrome/renderer/net/net_error_helper_core_unittest.cc
 | 
| index eee80f712388fc78e363f183f4399512b0480de5..3ff1deeca074cf1b8ac48d24ce2b506df8e56665 100644
 | 
| --- a/chrome/renderer/net/net_error_helper_core_unittest.cc
 | 
| +++ b/chrome/renderer/net/net_error_helper_core_unittest.cc
 | 
| @@ -13,11 +13,11 @@
 | 
|  #include "base/logging.h"
 | 
|  #include "base/metrics/statistics_recorder.h"
 | 
|  #include "base/strings/stringprintf.h"
 | 
| +#include "base/test/histogram_tester.h"
 | 
|  #include "base/timer/mock_timer.h"
 | 
|  #include "base/timer/timer.h"
 | 
|  #include "base/values.h"
 | 
|  #include "chrome/common/net/net_error_info.h"
 | 
| -#include "chrome/test/base/uma_histogram_helper.h"
 | 
|  #include "content/public/common/url_constants.h"
 | 
|  #include "net/base/net_errors.h"
 | 
|  #include "testing/gtest/include/gtest/gtest.h"
 | 
| @@ -2230,37 +2230,11 @@ TEST_F(NetErrorHelperCoreAutoReloadTest, ShownWhileNotReloading) {
 | 
|    EXPECT_TRUE(timer()->IsRunning());
 | 
|  }
 | 
|  
 | 
| -// Return the count for the named histogram, or 0 if there is no histogram by
 | 
| -// that name. This function is error-tolerant because histograms that have no
 | 
| -// data points may not be registered, and the unit tests below still need to be
 | 
| -// able to check that they haven't changed.
 | 
| -int GetHistogramCount(const char *name) {
 | 
| -  base::HistogramBase* histogram =
 | 
| -      base::StatisticsRecorder::FindHistogram(name);
 | 
| -  if (!histogram)
 | 
| -    return 0;
 | 
| -  scoped_ptr<base::HistogramSamples> samples = histogram->SnapshotSamples();
 | 
| -  if (!samples)
 | 
| -    return 0;
 | 
| -  return samples->TotalCount();
 | 
| -}
 | 
| -
 | 
| -void ExpectHistogramDelta(const char *name, int old_count, int delta) {
 | 
| -  int new_count = GetHistogramCount(name);
 | 
| -  EXPECT_EQ(old_count + delta, new_count) << "For histogram " << name;
 | 
| -}
 | 
| -
 | 
|  class NetErrorHelperCoreHistogramTest
 | 
|      : public NetErrorHelperCoreAutoReloadTest {
 | 
|   public:
 | 
|    virtual void SetUp() OVERRIDE {
 | 
|      NetErrorHelperCoreAutoReloadTest::SetUp();
 | 
| -    StoreOldCounts();
 | 
| -  }
 | 
| -
 | 
| -  void ExpectDelta(const char *name, int delta) {
 | 
| -    DCHECK(old_counts_.count(name) == 1);
 | 
| -    ExpectHistogramDelta(name, old_counts_[name], delta);
 | 
|    }
 | 
|  
 | 
|    static const char kCountAtStop[];
 | 
| @@ -2269,15 +2243,8 @@ class NetErrorHelperCoreHistogramTest
 | 
|    static const char kErrorAtSuccess[];
 | 
|    static const char kErrorAtFirstSuccess[];
 | 
|  
 | 
| - private:
 | 
| -  void StoreOldCounts() {
 | 
| -    for (size_t i = 0; kHistogramNames[i]; i++)
 | 
| -      old_counts_[kHistogramNames[i]] = GetHistogramCount(kHistogramNames[i]);
 | 
| -  }
 | 
| -
 | 
| -  static const char *kHistogramNames[];
 | 
| -
 | 
| -  std::map<std::string, int> old_counts_;
 | 
| + protected:
 | 
| +  base::HistogramTester histogram_tester_;
 | 
|  };
 | 
|  
 | 
|  const char NetErrorHelperCoreHistogramTest::kCountAtStop[] =
 | 
| @@ -2290,14 +2257,6 @@ const char NetErrorHelperCoreHistogramTest::kErrorAtSuccess[] =
 | 
|      "Net.AutoReload.ErrorAtSuccess";
 | 
|  const char NetErrorHelperCoreHistogramTest::kErrorAtFirstSuccess[] =
 | 
|      "Net.AutoReload.ErrorAtFirstSuccess";
 | 
| -const char *NetErrorHelperCoreHistogramTest::kHistogramNames[] = {
 | 
| -  kCountAtStop,
 | 
| -  kErrorAtStop,
 | 
| -  kCountAtSuccess,
 | 
| -  kErrorAtSuccess,
 | 
| -  kErrorAtFirstSuccess,
 | 
| -  NULL
 | 
| -};
 | 
|  
 | 
|  // Test that the success histograms are updated when auto-reload succeeds at the
 | 
|  // first attempt, and that the failure histograms are not updated.
 | 
| @@ -2308,11 +2267,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, SuccessAtFirstAttempt) {
 | 
|  
 | 
|    // All of CountAtSuccess, ErrorAtSuccess, and ErrorAtFirstSuccess should
 | 
|    // reflect this successful load. The failure histograms should be unchanged.
 | 
| -  ExpectDelta(kCountAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 1);
 | 
| -  ExpectDelta(kCountAtStop, 0);
 | 
| -  ExpectDelta(kErrorAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 0);
 | 
|  }
 | 
|  
 | 
|  // Test that the success histograms are updated when auto-reload succeeds but
 | 
| @@ -2329,11 +2288,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, SuccessAtSecondAttempt) {
 | 
|  
 | 
|    // CountAtSuccess and ErrorAtSuccess should reflect this successful load, but
 | 
|    // not ErrorAtFirstSuccess since it wasn't a first success.
 | 
| -  ExpectDelta(kCountAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 0);
 | 
| -  ExpectDelta(kErrorAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 0);
 | 
|  }
 | 
|  
 | 
|  // Test that a user stop (caused by the user pressing the 'Stop' button)
 | 
| @@ -2348,11 +2307,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, UserStop) {
 | 
|    core()->OnStop();
 | 
|  
 | 
|    // CountAtStop and ErrorAtStop should reflect the failure.
 | 
| -  ExpectDelta(kCountAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 1);
 | 
| -  ExpectDelta(kErrorAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 1);
 | 
|  }
 | 
|  
 | 
|  // Test that a user stop (caused by the user pressing the 'Stop' button)
 | 
| @@ -2366,11 +2325,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, OtherPageLoaded) {
 | 
|                       NetErrorHelperCore::NON_ERROR_PAGE);
 | 
|    core()->OnStop();
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 1);
 | 
| -  ExpectDelta(kErrorAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 1);
 | 
|  }
 | 
|  
 | 
|  // Test that a commit of a different URL (caused by the user navigating to a
 | 
| @@ -2386,11 +2345,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, OtherPageLoadedAfterTimerFires) {
 | 
|                        kTestUrl);
 | 
|    core()->OnFinishLoad(NetErrorHelperCore::MAIN_FRAME);
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 1);
 | 
| -  ExpectDelta(kErrorAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 1);
 | 
|  }
 | 
|  
 | 
|  // Test that a commit of the same URL with an auto-reload attempt in flight
 | 
| @@ -2400,11 +2359,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, SamePageLoadedAfterTimerFires) {
 | 
|    timer()->Fire();
 | 
|    DoSuccessLoad();
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 1);
 | 
| -  ExpectDelta(kCountAtStop, 0);
 | 
| -  ExpectDelta(kErrorAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 0);
 | 
|  }
 | 
|  
 | 
|  TEST_F(NetErrorHelperCoreHistogramTest, SamePageLoadedAfterLoadStarts) {
 | 
| @@ -2416,11 +2375,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, SamePageLoadedAfterLoadStarts) {
 | 
|    // User does a manual reload
 | 
|    DoSuccessLoad();
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtSuccess, 1);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 1);
 | 
| -  ExpectDelta(kCountAtStop, 0);
 | 
| -  ExpectDelta(kErrorAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 0);
 | 
|  }
 | 
|  
 | 
|  // In this test case, the user presses the reload button manually after an
 | 
| @@ -2434,11 +2393,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, ErrorPageLoadedAfterTimerFires) {
 | 
|                                               default_url()));
 | 
|    DoErrorLoad(net::ERR_CONNECTION_RESET);
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 0);
 | 
| -  ExpectDelta(kErrorAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 0);
 | 
|  }
 | 
|  
 | 
|  TEST_F(NetErrorHelperCoreHistogramTest, SuccessPageLoadedBeforeTimerFires) {
 | 
| @@ -2448,11 +2407,11 @@ TEST_F(NetErrorHelperCoreHistogramTest, SuccessPageLoadedBeforeTimerFires) {
 | 
|    core()->OnCommitLoad(NetErrorHelperCore::MAIN_FRAME,
 | 
|                        GURL(kFailedHttpsUrl));
 | 
|  
 | 
| -  ExpectDelta(kCountAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtSuccess, 0);
 | 
| -  ExpectDelta(kErrorAtFirstSuccess, 0);
 | 
| -  ExpectDelta(kCountAtStop, 1);
 | 
| -  ExpectDelta(kErrorAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtFirstSuccess, 0);
 | 
| +  histogram_tester_.ExpectTotalCount(kCountAtStop, 1);
 | 
| +  histogram_tester_.ExpectTotalCount(kErrorAtStop, 1);
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |