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

import("//components/signin/features.gni")
import("//extensions/buildflags/buildflags.gni")

if (!is_android) {
  source_set("bookmarks") {
    sources = [
      "bookmark_prefs.cc",
      "bookmarks_message_handler.cc",
      "bookmarks_ui.cc",
    ]
    public = [
      "bookmark_prefs.h",
      "bookmarks_message_handler.h",
      "bookmarks_ui.h",
    ]
    public_deps = [ "//chrome/browser:browser_public_dependencies" ]
    deps = [
      "//base",
      "//chrome/app:generated_resources",
      "//chrome/app/theme:theme_resources",
      "//chrome/browser/bookmarks",
      "//chrome/browser/profiles:profile",
      "//chrome/browser/profiles/batch_upload",
      "//chrome/browser/profiles/batch_upload:impl",
      "//chrome/browser/resources/bookmarks:resources",
      "//chrome/browser/signin",
      "//chrome/browser/sync",
      "//chrome/browser/ui:ui_features",
      "//chrome/browser/ui/browser_window",
      "//chrome/browser/ui/views/bookmarks",
      "//chrome/browser/ui/webui:favicon_source",
      "//chrome/browser/ui/webui:metrics_handler",
      "//chrome/browser/ui/webui:plural_string_handler",
      "//chrome/browser/ui/webui:theme_source",
      "//chrome/browser/ui/webui/page_not_available_for_guest",
      "//chrome/common",
      "//components/bookmarks/browser",
      "//components/bookmarks/common",
      "//components/bookmarks/managed",
      "//components/enterprise/isolated_mode",
      "//components/favicon_base",
      "//components/policy/core/common",
      "//components/prefs",
      "//components/signin/public/base",
      "//components/signin/public/identity_manager",
      "//components/strings:components_strings",
      "//components/sync/base",
      "//components/sync/service",
      "//content/public/browser",
      "//google_apis",
      "//ui/base",
      "//ui/webui",
    ]

    if (enable_extensions_core) {
      deps += [ "//chrome/browser/ui/webui:managed_ui_handler" ]
    }
  }

  source_set("browser_tests") {
    testonly = true
    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
    sources = [ "bookmarks_message_handler_browsertest.cc" ]
    deps = [
      ":bookmarks",
      "//chrome/browser/bookmarks",
      "//chrome/browser/profiles:profile",
      "//chrome/browser/sync",
      "//chrome/browser/ui",
      "//chrome/browser/ui/views/bookmarks:test_support",
      "//chrome/test:test_support",
      "//components/bookmarks/browser",
      "//components/bookmarks/common",
      "//components/bookmarks/managed",
      "//components/bookmarks/test",
      "//components/prefs",
      "//components/signin/public/base",
      "//components/signin/public/identity_manager:test_support",
      "//components/sync_bookmarks",
      "//content/public/browser",
      "//content/test:test_support",
      "//ui/views",
    ]
  }
}

if (is_android) {
  source_set("bookmarks_android") {
    sources = [ "bookmarks_ui_android.cc" ]
    public = [ "bookmarks_ui_android.h" ]
    deps = [
      "//base",
      "//chrome/app/theme:theme_resources",
      "//ui/base",
    ]
  }
}
