Глоссарий
Перечисление приборов (media devices)
Перечисление приборов это список микрофонов, динамиков и камер, который браузер отдаёт странице до всякого разрешения.
Что приходит без вопроса
Один вызов возвращает запись на каждый вход и выход машины. Занятно тут не то, что написано в записи, а сколько этих записей всего.
Вид каждого прибора
Микрофон, динамик или камера, по записи на каждый прибор, в том порядке, в каком их держит сама система.
Сколько чего
Именно числа описывают машину, и никакого разрешения на них не нужно вовсе.
Пустые имена и пустые опознаватели
Подписи остаются пустыми, пока странице не позволили записывать, а числа этого не ждут.
Почему набор связывает профили
Ноутбук с одним микрофоном, двумя выходами и одной камерой отвечает одинаково в каждом профиле, который на нём открывали.
Аккаунты, у которых не совпадали ни адрес, ни печенье, ни пароль, оказываются сшиты описью, которая никого опознавать не собиралась.
Проверка эта к тому же дешёвая. Сайт читает набор один раз на первой же странице и хранит потом три маленьких числа.
Что делает наш движок
Числа выводятся из семени профиля, поэтому у одного профиля свой набор, а два профиля между собой расходятся.
Странице достаётся подмножество того, что у машины есть на самом деле, урезанное в тот миг, когда страница спросила.
- 1
Семя называет число по каждому виду
Оно выведено из номера профиля, поэтому одинаково при каждом его запуске.
- 2
Движок оставляет столько же
Записи сверх названного числа в ответ не попадают, а все остальные проходят к странице нетронутыми.
- 3
Самопроверка читает итог
Внутри профиля самопроверка отпечатка запрашивает список и сверяет числа с профилем.
Чего нельзя выдумать
Опознаватель прибора браузер выводит из площадки и из настоящего прибора, поэтому выдуманный стал бы приметой, а не лекарством.
Значит набор можно только укоротить и нельзя удлинить, и это написано здесь, а не оставлено вам на самостоятельное открытие.
Ни один вид не опустошается
Браузер, ответивший «камеры нет» на машине с камерой, выдал бы её следующим же вопросом, а два ответа подряд, противоречащих друг другу, громче любого числа.
Машина без камеры так и остаётся
Мы ничего не добавляем, поэтому компьютер без камеры отвечает ноль, как и должен.
Голоса синтеза речи идут рядом
Список голосов синтеза речи это опись того же рода. Читается он одной строкой, разрешения не требует и принадлежит операционной системе, а не браузеру.
Профиль, заявивший одну систему и отдавший голоса другой, противоречит сам себе, поэтому голоса держат в пределах языка, который профиль объявил.
Часто путают с этим
Окно с разрешением на камеру
Просьба записывать это отдельный шаг. Подсчёт идёт до него и от ответа не зависит.
Утечка WebRTC
Там речь про адреса, которые выдаёт соединение. Здесь про опись железа, и меряют их порознь.
Память устройства
Ещё одно показание про машину, выведенное из семени профиля, и у него есть своя страница.
Чего это не делает
- Это не добавляет прибора, которого нет. Профиль, попросивший больше камер, чем есть у машины, получит число машины, потому что список только режется.
- Это не опустошает вид целиком. Браузер, отвечающий «микрофона нет» и отдающий микрофон следующим вызовом, сам стал бы приметой.
- Это не переписывает имена. Подписи приходят от системы после разрешения и описывают настоящее железо.
- Это не доводит телефонный профиль до конца. На нашем собственном движке такой профиль всё ещё перечисляет звуковые выходы, а браузер на настоящей трубке не перечисляет ни одного.
Проверить
Каждое утверждение выше взято из файла, который можно открыть.
- Откуда числа берутся из семени профиля
- packages/shared/src/index.js
- Правило, которое движок применяет к списку
- engine/patches/armanos-fp-0012.diff
- Замер приборов в самопроверке
- apps/desktop/src/lib/fpAudit.js
- Что отдала отгружаемая сборка по приборам и голосам
- engine/приёмка-отчёт.json
Вопросы
- Нужно ли сайту разрешение, чтобы пересчитать приборы?
- Нет. Виды и числа приходят с первого же запроса, а знакомое вам окно относится к записи, а не к подсчёту.
- Имена приборов тоже приходят?
- До разрешения нет. Пока странице не позволили записывать, подписи и опознаватели приборов это пустые строки.
- Меняет ли ответ подключение наушников?
- Список машины растёт, а профиль всё равно показывает не больше записей, чем позволяет его собственное число.
- Хорошая ли мысль поставить виртуальный микрофон?
- Он добавляет запись, которой у большинства машин нет, то есть двигает вас к более редкому набору, а не к более обычному.
- Где посмотреть свой набор?
- Самопроверка внутри профиля читает список и сверяет числа с профилем. Это один из 29 замеров, которые там идут.
Рядом с этим
Battery Status API
Ещё одно показание без вопроса, и профилю оно не принадлежит.
Утечка WebRTC
Вторая половина истории про микрофон и камеру, только там речь про адреса.
Отпечаток и его редактор
Что несёт профиль и что из этого можно менять.
Что читает сайт
Урок, который проходит по показаниям браузера одно за другим.
Посмотрите, что перечисляет ваш профиль
Самопроверка отпечатка идёт внутри профиля и показывает все 29 замеров, и зелёные, и красные.