#include "chrome/browser/metrics/tab_stats/tab_stats_data_store.h"
#include <utility>
#include "base/containers/contains.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/web_contents.h"
namespace metrics {
TabStatsDataStore::TabsStats::TabsStats()
: … { … }
TabStatsDataStore::TabsStats::TabsStats(const TabsStats& other) = default;
TabStatsDataStore::TabsStats& TabStatsDataStore::TabsStats::operator=(
const TabsStats& other) = default;
TabStatsDataStore::TabStatsDataStore(PrefService* pref_service)
: … { … }
TabStatsDataStore::~TabStatsDataStore() { … }
void TabStatsDataStore::OnWindowAdded() { … }
void TabStatsDataStore::OnWindowRemoved() { … }
void TabStatsDataStore::OnTabAdded(content::WebContents* web_contents) { … }
void TabStatsDataStore::OnTabRemoved(content::WebContents* web_contents) { … }
void TabStatsDataStore::RecordSamplingMetaData() { … }
void TabStatsDataStore::UpdateMaxTabsPerWindowIfNeeded(size_t value) { … }
void TabStatsDataStore::ResetMaximumsToCurrentState() { … }
void TabStatsDataStore::OnTabDiscardStateChange(
LifecycleUnitDiscardReason discard_reason,
bool is_discarded) { … }
void TabStatsDataStore::ClearTabDiscardAndReloadCounts() { … }
void TabStatsDataStore::UpdateTotalTabCountMaxIfNeeded() { … }
void TabStatsDataStore::UpdateWindowCountMaxIfNeeded() { … }
}