Upload upstream chromium 114.0.5735.31
[platform/framework/web/chromium-efl.git] / components / ukm / ukm_consent_state.h
1 // Copyright 2022 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_UKM_UKM_CONSENT_STATE_H_
6 #define COMPONENTS_UKM_UKM_CONSENT_STATE_H_
7
8 #include "base/containers/enum_set.h"
9
10 namespace ukm {
11
12 // Different types of consents that control what types of data is recorded by
13 // UKM.
14 enum UkmConsentType {
15   // "Make searches and browsing better" (MSBB) is consented.
16   // MSBB is toggled on in chrome://settings for all user profiles.
17   MSBB,
18   // Extensions are consented, depends on MSBB.
19   // Separately controls recording of chrome-extension:// urls.
20   // This flag should reflect the "Extensions" user setting
21   // found in chrome://settings/syncSetup/advanced.
22   EXTENSIONS,
23   // App Sync is consented, depends on MSBB.
24   // Controls recording of urls in the form of app:// urls.
25   // This flag should reflect the "Apps" user setting
26   // found in chrome://settings/syncSetup/advanced.
27   APPS,
28 };
29
30 // Collection of ukm consent type states.
31 using UkmConsentState =
32     base::EnumSet<UkmConsentType, UkmConsentType::MSBB, UkmConsentType::APPS>;
33 }  // namespace ukm
34
35 #endif  // COMPONENTS_UKM_UKM_CONSENT_STATE_H_