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

assert(!is_android && !is_chromeos,
       "Default browser is for desktop platforms only except ChromeOS.")

source_set("default_browser") {
  friend = [
    ":unit_tests",
    ":browser_tests",
  ]

  public = [
    "default_browser_controller.h",
    "default_browser_features.h",
    "default_browser_manager.h",
  ]

  sources = [
    "default_browser_controller.cc",
    "default_browser_features.cc",
    "default_browser_manager.cc",
    "default_browser_monitor.cc",
    "default_browser_monitor.h",
    "default_browser_setter.h",
    "setters/shell_integration_default_browser_setter.cc",
    "setters/shell_integration_default_browser_setter.h",
  ]

  public_deps = [ "//base" ]

  deps = [ "//chrome/browser:shell_integration" ]

  if (is_win) {
    sources += [ "default_browser_monitor_win.cc" ]

    deps += [ "//chrome/browser/win:registry_watcher" ]
  } else {
    sources += [ "default_browser_monitor_stub.cc" ]
  }
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "default_browser_controller_unittest.cc",
    "default_browser_features_unittest.cc",
    "default_browser_manager_unittest.cc",
    "setters/shell_integration_default_browser_setter_unittest.cc",
  ]

  deps = [
    ":default_browser",
    "//base/test:test_support",
    "//chrome/browser:shell_integration",
    "//content/test:test_support",
  ]
}

source_set("browser_tests") {
  testonly = true

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  sources = [ "default_browser_manager_browsertest.cc" ]

  deps = [
    ":default_browser",
    "//base/test:test_support",
    "//chrome/browser:browser_process",
    "//chrome/browser:global_features",
    "//chrome/test:test_support_ui",
    "//content/test:test_support",
    "//ui/base",
  ]
}