# Copyright 2022 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//ios/web/public/js_messaging/optimize_ts.gni") source_set("infobar_delegate") { sources = [ "permissions_infobar_delegate.h", "permissions_infobar_delegate.mm", ] deps = [ "//components/infobars/core", "//ios/web/public", ] } source_set("tab_helper") { sources = [ "permissions_tab_helper.h", "permissions_tab_helper.mm", ] deps = [ ":infobar_delegate", "//components/infobars/core", "//ios/chrome/browser/infobars/model", "//ios/chrome/browser/infobars/model/overlays", "//ios/chrome/browser/infobars/model/overlays:util", "//ios/chrome/browser/overlays/model", "//ios/chrome/browser/overlays/model/public/common/infobars", "//ios/chrome/browser/overlays/model/public/infobar_banner", "//ios/chrome/browser/overlays/model/public/web_content_area", "//ios/web/public", ] } source_set("features") { sources = [ "features.h", "features.mm", ] public_deps = [ "//base" ] } source_set("geolocation") { deps = [ ":geolocation_js", "//base", "//ios/chrome/browser/geolocation/model", "//ios/web/public/js_messaging", ] sources = [ "geolocation_api_usage_java_script_feature.h", "geolocation_api_usage_java_script_feature.mm", ] } optimize_ts("geolocation_js") { visibility = [ ":geolocation", ":js_tests", ] sources = [ "resources/geolocation_overrides.ts" ] deps = [ "//ios/web/public/js_messaging:util_scripts" ] } source_set("media") { deps = [ ":media_js", "//base", "//ios/web/public/js_messaging", ] sources = [ "media_api_usage_java_script_feature.h", "media_api_usage_java_script_feature.mm", ] } optimize_ts("media_js") { visibility = [ ":js_tests", ":media", ] sources = [ "resources/media_overrides.ts" ] deps = [ "//ios/web/public/js_messaging:util_scripts" ] } source_set("unit_tests") { testonly = true sources = [ "permissions_tab_helper_unittest.mm" ] deps = [ ":infobar_delegate", ":js_tests", ":tab_helper", "//base", "//base/test:test_support", "//ios/chrome/browser/infobars/model", "//ios/chrome/browser/infobars/model/overlays", "//ios/chrome/browser/overlays/model", "//ios/chrome/browser/permissions/model:infobar_delegate", "//ios/chrome/test:test_support", "//ios/web/public/permissions", "//ios/web/public/test", "//ios/web/public/test/fakes", "//testing/gtest", ] } source_set("js_tests") { testonly = true sources = [ "geolocation_overrides_javascript_test.mm", "media_overrides_javascript_test.mm", ] deps = [ ":geolocation_js", ":media_js", "//base", "//ios/web/public/test", "//ios/web/public/test:javascript_test", "//net:test_support", "//testing/gtest", ] }