#include "chrome/browser/serial/serial_blocklist.h"
#include <algorithm>
#include <string>
#include <string_view>
#include <tuple>
#include "base/metrics/field_trial_params.h"
#include "base/no_destructor.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "services/device/public/cpp/bluetooth/bluetooth_utils.h"
#include "services/device/public/mojom/serial.mojom.h"
namespace {
const char kEntryKeyUsb[] = …;
const char kEntryKeyBluetooth[] = …;
const char kBluetoothStandardUUID[] = …;
bool IsHexComponent(std::string_view string) { … }
bool CompareEntry(const SerialBlocklist::Entry& a,
const SerialBlocklist::Entry& b) { … }
template <class Iterator>
bool EntryMatches(Iterator begin,
Iterator end,
const SerialBlocklist::Entry& entry) { … }
}
BASE_FEATURE(…);
constexpr base::FeatureParam<std::string> kWebSerialBlocklistAdditions{ … };
SerialBlocklist::~SerialBlocklist() = default;
SerialBlocklist& SerialBlocklist::Get() { … }
bool SerialBlocklist::IsExcluded(
const device::mojom::SerialPortInfo& port_info) const { … }
void SerialBlocklist::ResetToDefaultValuesForTesting() { … }
SerialBlocklist::SerialBlocklist() { … }
void SerialBlocklist::PopulateWithServerProvidedValues() { … }