// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "services/device/public/cpp/device_features.h" #include "services/device/public/cpp/geolocation/buildflags.h" namespace features { // Enables mitigation algorithm to prevent attempt of calibration from an // attacker. BASE_FEATURE(…); // Enables an extra set of concrete sensors classes based on Generic Sensor API, // which expose previously unexposed platform features, e.g. ALS or Magnetometer BASE_FEATURE(…); // Enable serial communication for SPP devices. BASE_FEATURE(…); // Enable real-time diagnostic updates in chrome://location-internals. BASE_FEATURE(…); // Expose serial port logical connection state and dispatch connection events // for Bluetooth serial ports when the Bluetooth device connection state // changes. BASE_FEATURE(…); #if BUILDFLAG(IS_WIN) // Enable integration with the Windows system-level location permission. BASE_FEATURE(kWinSystemLocationPermission, "WinSystemLocationPermission", base::FEATURE_DISABLED_BY_DEFAULT); // Enables a fix for a HID issue where feature reports read from devices that // do not use report IDs would incorrectly include an extra zero byte at the // start of the report and truncate the last byte of the report. BASE_FEATURE(kHidGetFeatureReportFix, "HidGetFeatureReportFix", base::FEATURE_ENABLED_BY_DEFAULT); // Defines a feature parameter for the `kWinSystemLocationPermission` feature. // This parameter controls the polling interval (in milliseconds) for checking // the permission status. The default polling interval is set to 500 // milliseconds. const base::FeatureParam<int> kWinSystemLocationPermissionPollingParam{ &kWinSystemLocationPermission, "polling_interval_in_ms", 500}; #endif // BUILDFLAG(IS_WIN) // Enables usage of the location provider manager to select between // the operating system's location API or our network-based provider // as the source of location data for Geolocation API. BASE_FEATURE(…); #if BUILDFLAG(IS_CHROMEOS) // Enables crash key logging for USB device open operations on ChromeOS. See // crbug.com/332722607. Can be disabled as a kill switch if needed. BASE_FEATURE(kUsbDeviceLinuxOpenCrashKey, "UsbDeviceLinuxOpenCrashKey", base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS) const base::FeatureParam<device::mojom::LocationProviderManagerMode>::Option location_provider_manager_mode_options[] = …; const base::FeatureParam<device::mojom::LocationProviderManagerMode> kLocationProviderManagerParam{ … }; bool IsOsLevelGeolocationPermissionSupportEnabled() { … } } // namespace features