blob: fe33da2dd9ea56c3bb789d78458d02a8fe36a2d9 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PRIVACY_SANDBOX_TRACKING_PROTECTION_SETTINGS_OBSERVER_H_
#define COMPONENTS_PRIVACY_SANDBOX_TRACKING_PROTECTION_SETTINGS_OBSERVER_H_
namespace privacy_sandbox {
// Used by other components to observe `TrackingProtectionSettings`.
class TrackingProtectionSettingsObserver {
public:
TrackingProtectionSettingsObserver() = default;
TrackingProtectionSettingsObserver(
const TrackingProtectionSettingsObserver&) = delete;
TrackingProtectionSettingsObserver& operator=(
const TrackingProtectionSettingsObserver&) = delete;
virtual ~TrackingProtectionSettingsObserver() = default;
// For observation of DNT.
virtual void OnDoNotTrackEnabledChanged() {}
// For observation of IP protection.
virtual void OnIpProtectionEnabledChanged() {}
// For observation of fingerprinting protection.
virtual void OnFpProtectionEnabledChanged() {}
// For observation of block all 3PC.
virtual void OnBlockAllThirdPartyCookiesChanged() {}
// For observation of tracking protection experiment status.
virtual void OnTrackingProtection3pcdChanged() {}
// For observation of tracking protection exceptions.
virtual void OnTrackingProtectionExceptionsChanged() {}
};
} // namespace privacy_sandbox
#endif // COMPONENTS_PRIVACY_SANDBOX_TRACKING_PROTECTION_SETTINGS_OBSERVER_H_