910e62b5创建于 1月15日历史提交
# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//mojo/public/tools/bindings/mojom.gni")

component("database_status") {
  output_name = "storage_database_status"
  sources = [
    "database/db_status.cc",
    "database/db_status.h",
  ]

  defines = [ "IS_STORAGE_DATABASE_STATUS_IMPL" ]

  public_deps = [ "//base" ]
}

# This helper is in a separate component to help isolate the dependency on
# leveldb. Once we have migrated storage databases from leveldb to sqlite, this
# component will be removed.
# TODO(crbug.com/377242771): Add a sqlite version of the status helper. Remove
# the leveldb one when migration to sqlite is complete.
component("leveldb_status_helper") {
  output_name = "storage_leveldb_status_helper"
  sources = [
    "database/leveldb_status_helper.cc",
    "database/leveldb_status_helper.h",
  ]

  defines = [ "IS_STORAGE_LEVELDB_STATUS_HELPER_IMPL" ]

  public_deps = [
    ":database_status",
    "//base",
  ]

  deps = [ "//third_party/leveldatabase" ]
}

component("common") {
  output_name = "storage_common"
  sources = [
    "database/database_identifier.cc",
    "database/database_identifier.h",
    "file_system/file_system_info.cc",
    "file_system/file_system_info.h",
    "file_system/file_system_mount_option.h",
    "file_system/file_system_types.h",
    "file_system/file_system_util.cc",
    "file_system/file_system_util.h",
    "quota/padding_key.cc",
    "quota/padding_key.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  defines = [ "IS_STORAGE_COMMON_IMPL" ]

  public_deps = [
    "//components/services/filesystem/public/mojom",
    "//services/network/public/mojom",
    "//third_party/blink/public:blink_headers",
    "//third_party/blink/public/common",
  ]

  deps = [
    "//base",
    "//net",
    "//url",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "database/database_identifier_unittest.cc",
    "file_system/file_system_util_unittest.cc",
    "run_all_unittests.cc",
  ]

  deps = [
    ":common",
    "//base/test:test_support",
    "//mojo/core/embedder",
    "//testing/gtest",
    "//url",
  ]
}