chromium/chrome/browser/browsing_data/chrome_browsing_data_remover_constants.h

// 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.

#ifndef CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_CONSTANTS_H_
#define CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_CONSTANTS_H_

#include <stdint.h>

#include "build/build_config.h"
#include "chrome/common/buildflags.h"
#include "content/public/browser/browsing_data_filter_builder.h"
#include "content/public/browser/browsing_data_remover.h"
#include "extensions/buildflags/buildflags.h"

namespace chrome_browsing_data_remover {
// This is an extension of content::BrowsingDataRemover::RemoveDataMask which
// includes all datatypes therefrom and adds additional Chrome-specific ones.
DataType;
  // Embedder can start adding datatypes after the last platform datatype.
constexpr DataType DATA_TYPE_EMBEDDER_BEGIN =;

// Chrome-specific datatypes.
constexpr DataType DATA_TYPE_HISTORY =;
constexpr DataType DATA_TYPE_FORM_DATA =;
constexpr DataType DATA_TYPE_PASSWORDS =;
#if BUILDFLAG(IS_ANDROID)
constexpr DataType DATA_TYPE_WEB_APP_DATA = DATA_TYPE_EMBEDDER_BEGIN << 3;
#endif
constexpr DataType DATA_TYPE_SITE_USAGE_DATA =;
constexpr DataType DATA_TYPE_DURABLE_PERMISSION =;
constexpr DataType DATA_TYPE_EXTERNAL_PROTOCOL_DATA =;
constexpr DataType DATA_TYPE_HOSTED_APP_DATA_TEST_ONLY =;
constexpr DataType DATA_TYPE_CONTENT_SETTINGS =;
constexpr DataType DATA_TYPE_BOOKMARKS =;
constexpr DataType DATA_TYPE_ISOLATED_ORIGINS =;
constexpr DataType DATA_TYPE_ACCOUNT_PASSWORDS =;
constexpr DataType DATA_TYPE_LOCAL_CUSTOM_DICTIONARY =;
constexpr DataType DATA_TYPE_ISOLATED_WEB_APP_COOKIES =;
constexpr DataType DATA_TYPE_READING_LIST =;
constexpr DataType DATA_TYPE_TABS =;

// Group datatypes.

// "Site data" includes storage backend accessible to websites and some
// additional metadata kept by the browser (e.g. site usage data).
constexpr DataType DATA_TYPE_SITE_DATA =;

// Datatypes protected by Important Sites.
constexpr DataType IMPORTANT_SITES_DATA_TYPES =;

// Datatypes that can be deleted partially per URL / origin / domain,
// whichever makes sense.
constexpr DataType FILTERABLE_DATA_TYPES =;

// Datatypes with account-scoped data that needs to be removed
// before Google cookies are deleted.
constexpr DataType DEFERRED_COOKIE_DELETION_DATA_TYPES =;

// Includes all the available remove options. Meant to be used by clients
// that wish to wipe as much data as possible from a Profile, to make it
// look like a new Profile. Does not delete account-scoped data like
// passwords but will remove access to account-scoped data by signing the
// user out.
constexpr DataType ALL_DATA_TYPES =;

// Includes all available remove options. Meant to be used when the Profile
// is scheduled to be deleted, and all possible data should be wiped from
// disk as soon as possible.
constexpr DataType WIPE_PROFILE =;

// This is an extension of content::BrowsingDataRemover::OriginType which
// includes all origin types therefrom and adds additional Chrome-specific
// ones.
OriginType;
// Embedder can start adding origin types after the last
// platform origin type.
constexpr OriginType ORIGIN_TYPE_EMBEDDER_BEGIN =;

#if BUILDFLAG(ENABLE_EXTENSIONS)
// Packaged apps and extensions (chrome-extension://*).
constexpr OriginType ORIGIN_TYPE_EXTENSION =;
#endif

  // All origin types.
constexpr OriginType ALL_ORIGIN_TYPES =;

// Important sites protect a small set of sites from the deletion of certain
// datatypes. Therefore, those datatypes must be filterable by
// url/origin/domain.
static_assert;

static_assert;

static_assert;
}  // namespace chrome_browsing_data_remover

#endif  // CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_CONSTANTS_H_