blob: 7e34748de40807b512bccca987c5d2558d475c1e [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/public/common/privacy_budget/identifiability_sample_collector.h"
#include "third_party/blink/common/privacy_budget/aggregating_sample_collector.h"
#include "third_party/blink/common/privacy_budget/identifiability_sample_collector_test_utils.h"
namespace blink {
namespace {
// Only used for testing. Not thread safe.
IdentifiabilitySampleCollector* testing_overriding_collector = nullptr;
} // namespace
// static
IdentifiabilitySampleCollector* IdentifiabilitySampleCollector::Get() {
auto* overridden = testing_overriding_collector;
if (overridden)
return overridden;
return internal::GetCollectorInstance();
}
IdentifiabilitySampleCollector::~IdentifiabilitySampleCollector() = default;
void SetCollectorInstanceForTesting(
IdentifiabilitySampleCollector* new_collector) {
testing_overriding_collector = new_collector;
}
void ResetCollectorInstanceStateForTesting() {
internal::GetCollectorInstance()->ResetForTesting();
}
} // namespace blink