Chrome omnibox: понимание различий между провайдерами HistoryURL и HistoryQuick и точные условия, когда каждый URL предлагает URL
Я пытаюсь понять точные условия, когда URL-адрес из истории отображается в качестве предложения в омнибоксе Google Chrome.
Вот что я понимаю до сих пор:
- Класс AutocompleteProvider дает рекомендации для омнибокса.
- HistoryProvider - это подкласс AutocompleteProvider, который специально отправляет предложения по истории.
- HistoryProvider имеет два не тестовых подкласса, HistoryQuickProvider и HistoryURLProvider.
- И провайдеры HistoryQuick и HistoryURL используют
kLowQualityMatch
константы (я нахожу это из "Если URL не соответствует ни одному из этих столбцов, он деиндексируется. Ни HQP, ни HUP не вернут его". и "Простое ослабление их в RowQualizesAsSignificant() повлияет как на HUP, так и на HQP"в этом сообщении об ошибке) - HistoryURL, кажется, старше, чем HistoryQuick, и первый в будущем может быть полностью заменен последним ( 1, 2, 3)
- HistoryURL, кажется, имеет как синхронный, так и асинхронный шаг ( отсюда)
- HistoryQuick, кажется, работает только синхронно ( отсюда)
Я не очень старался копаться в коде, полагаясь в основном на сообщения об ошибках / списках рассылки и комментарии в коде.
Мои основные вопросы:
- Когда URL из истории появляется в омнибоксе? Это URL-адреса, посещенные за последние 3 дня, посещенные как минимум 4 раза или набранные хотя бы один раз? Каковы правила, когда ключевое слово соответствует?
- Различаются ли HistoryURL и HistoryQuick по URL-адресам, которые они возвращают, или только с точки зрения скорости и синхронности? (Похоже, они отличаются с точки зрения возвращаемых URL, основанных на игре с
chrome://omnibox/
и люди, кажется, говорят о подсчете различий, например, здесь.) Если они различаются по возвращаемым URL-адресам, в чем разница? - Какие исключения упоминаются в "даже у этих провайдеров есть исключения" в этом посте (Одно возможное исключение, которое я обнаружил, - это когда продолжительность сеанса превышает три дня, а один посетил URL более трех дней назад во время текущего сеанса..)
- Насколько актуален материал на https://www.chromium.org/omnibox-history-provider?
Раскрытие: я разместил этот же вопрос в списке рассылки chromium-dev, но не получил ответа.