Commit a613a7ef authored by Sebastien Marchand's avatar Sebastien Marchand Committed by Commit Bot

Stop using a LazyInstance in TabStatsTracker.

Using LazyInstance seems to be discouraged (crbug.com/686866) now that
Chrome supports Thread-safe static initialization.

Change-Id: I7649ad76ada5bd2292341f46fa1955d2ae51385e
BUG: 686866,720131
Reviewed-on: https://chromium-review.googlesource.com/594491Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Reviewed-by: default avatarChris Hamilton <chrisha@chromium.org>
Reviewed-by: default avatarScott Graham <scottmg@chromium.org>
Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491100}
parent 7863b773
......@@ -11,22 +11,16 @@
namespace metrics {
namespace {
base::LazyInstance<TabStatsTracker>::Leaky g_instance =
LAZY_INSTANCE_INITIALIZER;
} // namespace
// static
void TabStatsTracker::Initialize() {
DCHECK(g_instance == static_cast<TabStatsTracker*>(nullptr));
g_instance.Get();
// Calls GetInstance() to initialize the static instance.
GetInstance();
}
// static
TabStatsTracker* TabStatsTracker::GetInstance() {
return g_instance.Pointer();
static TabStatsTracker* instance = new TabStatsTracker();
return instance;
}
TabStatsTracker::TabStatsTracker() : total_tabs_count_(0U), browser_count_(0U) {
......
......@@ -5,7 +5,6 @@
#ifndef CHROME_BROWSER_METRICS_TAB_STATS_TRACKER_H_
#define CHROME_BROWSER_METRICS_TAB_STATS_TRACKER_H_
#include "base/lazy_instance.h"
#include "base/macros.h"
#include "base/sequence_checker.h"
#include "chrome/browser/ui/browser_list_observer.h"
......@@ -32,8 +31,6 @@ class TabStatsTracker : public TabStripModelObserver,
size_t browser_count() const { return browser_count_; }
protected:
friend struct base::LazyInstanceTraitsBase<TabStatsTracker>;
TabStatsTracker();
~TabStatsTracker() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment