// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_PROVIDER_H_ #define COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_PROVIDER_H_ #include <memory> #include "base/callback_list.h" #include "base/memory/raw_ptr.h" #include "base/sequence_checker.h" #include "base/task/sequenced_task_runner.h" #include "components/omnibox/browser/autocomplete_provider.h" #include "components/omnibox/browser/autocomplete_provider_client.h" #include "components/omnibox/browser/on_device_head_model.h" #include "components/optimization_guide/machine_learning_tflite_buildflags.h" // TODO(crbug.com/40241602): clean up this build flag guard later if possible. #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) #include "components/omnibox/browser/on_device_tail_model_executor.h" #endif class AutocompleteProviderListener; // An asynchronous autocomplete provider which receives input string and tries // to find the matches in an on device head model. This provider is designed to // help users get suggestions when they are in poor network. // By default, all matches provided by this provider will have a relevance no // greater than 99, such that its matches will not show before any other // providers; However the relevance can be changed to any arbitrary value by // Finch when the input is not classified as a URL. // TODO(crbug.com/40241602): rename this provider to "OnDeviceProvider" since it // will serve both head and tail suggestions. class OnDeviceHeadProvider : public AutocompleteProvider { … }; #endif // COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_PROVIDER_H_