Chrome omnibox: понимание различий между провайдерами HistoryURL и HistoryQuick и точные условия, когда каждый URL предлагает URL - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь понять точные условия, когда URL из своей истории отображается в качестве предложения в омнибоксе Google Chrome.

Вот что я понимаю до сих пор:

  • Класс AutocompleteProvider предоставляет рекомендации для омнибокса.
  • HistoryProvider - это подкласс AutocompleteProvider, который специально отправляет предложения по истории.
  • HistoryProvider имеет два не тестовых подкласса, HistoryQuickProvider и HistoryURLProvider.
  • И провайдеры HistoryQuick, и HistoryURL используют константы kLowQualityMatch (из этого следует, что «если URL не соответствует ни одному из этих столбцов, он деиндексируется. Ни HQP, ни HUP не будут его возвращать». «И» Простое ослабление их в RowQualifyAsSignificant () повлияет как на HUP, так и на HQP »в этом отчете об ошибке )
  • HistoryURL, кажется, старше, чем HistoryQuick, и в будущем первый может быть полностью заменен последним ( 1 , 2 , 3 )
  • HistoryURL имеет синхронный и асинхронный этап (с здесь )
  • HistoryQuick, кажется, работает только синхронно (с здесь )

Я не очень старался копаться в коде, полагаясь главным образом на сообщения об ошибках / списках рассылки и комментарии в коде.

Мои основные вопросы:

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

Раскрытие информации: я разместил этот же вопрос в списке рассылки chromium-dev, но не получил ответа.

...