# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/buildflag_header.gni")
import("//components/safe_browsing/buildflags.gni")

buildflag_header("buildflags") {
  header = "buildflags.h"

  flags = []

  # FULL_SAFE_BROWSING means "are all Safe Browsing features available?"
  # This is true only for desktop OSes.
  #
  # SAFE_BROWSING_AVAILABLE means "are any Safe Browsing features available?"
  # This is true only for desktop OSes or Android.
  #
  # SAFE_BROWSING_DB_LOCAL means "are SB databases available locally?"
  # This is true only for desktop OSes.
  #
  # SAFE_BROWSING_DB_REMOTE means "are SB databases available via GMS Core?"
  # This is true only for Android.
  #
  # SAFE_BROWSING_DOWNLOAD_PROTECTION means "are SB download protection features
  # available?" This is true for desktop OSes and Android.
  if (safe_browsing_mode == 0) {
    flags += [ "FULL_SAFE_BROWSING=false" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=false" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=false" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=false" ]
    flags += [ "SAFE_BROWSING_DOWNLOAD_PROTECTION=false" ]
  } else if (safe_browsing_mode == 1) {
    flags += [ "FULL_SAFE_BROWSING=true" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=true" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=true" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=false" ]
    flags += [ "SAFE_BROWSING_DOWNLOAD_PROTECTION=true" ]
  } else if (safe_browsing_mode == 2) {
    flags += [ "FULL_SAFE_BROWSING=false" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=true" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=false" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=true" ]
    flags += [ "SAFE_BROWSING_DOWNLOAD_PROTECTION=true" ]
  }
}
