chromium/components/safe_browsing/BUILD.gn

# 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.
  #
  if (safe_browsing_mode == 0) {
    flags += [ "FULL_SAFE_BROWSING=0" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=0" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=0" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=0" ]
  } else if (safe_browsing_mode == 1) {
    flags += [ "FULL_SAFE_BROWSING=1" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=1" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=1" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=0" ]
  } else if (safe_browsing_mode == 2) {
    flags += [ "FULL_SAFE_BROWSING=0" ]
    flags += [ "SAFE_BROWSING_AVAILABLE=1" ]
    flags += [ "SAFE_BROWSING_DB_LOCAL=0" ]
    flags += [ "SAFE_BROWSING_DB_REMOTE=1" ]
  }
}