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

static_library("webui") {
  sources = [
    "mojo_bubble_web_ui_controller.cc",
    "mojo_bubble_web_ui_controller.h",
    "mojo_web_ui_controller.cc",
    "mojo_web_ui_controller.h",
    "webui_allowlist.cc",
    "webui_allowlist.h",
    "webui_allowlist_provider.cc",
    "webui_allowlist_provider.h",
  ]

  deps = [
    "//base",
    "//components/content_settings/core/browser",
    "//content/public/browser",
    "//services/service_manager/public/cpp",
  ]
}
