#include "components/omnibox/browser/actions/omnibox_pedal_provider.h"
#include <numeric>
#include <string_view>
#include <unordered_map>
#include "base/i18n/case_conversion.h"
#include "base/i18n/char_iterator.h"
#include "base/i18n/rtl.h"
#include "base/metrics/field_trial_params.h"
#include "base/strings/string_tokenizer.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/trace_event/memory_usage_estimator.h"
#include "components/omnibox/browser/actions/omnibox_pedal.h"
#include "components/omnibox/browser/actions/omnibox_pedal_concepts.h"
#include "components/omnibox/browser/autocomplete_input.h"
#include "components/omnibox/browser/autocomplete_provider_client.h"
#include "components/omnibox/browser/omnibox_field_trial.h"
#include "components/omnibox/common/omnibox_features.h"
#include "components/omnibox/resources/grit/omnibox_pedal_synonyms.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
StringTokenizer16;
constexpr size_t kMaxTokens = …;
const char16_t kRemoveChars[] = …;
}
size_t EstimateMemoryUsage(scoped_refptr<OmniboxPedal> pedal) { … }
OmniboxPedalProvider::OmniboxPedalProvider(
AutocompleteProviderClient& client,
std::unordered_map<OmniboxPedalId, scoped_refptr<OmniboxPedal>> pedals)
: … { … }
OmniboxPedalProvider::~OmniboxPedalProvider() { … }
size_t OmniboxPedalProvider::EstimateMemoryUsage() const { … }
OmniboxPedal* OmniboxPedalProvider::FindPedalMatch(
const std::u16string& match_text) { … }
OmniboxPedal* OmniboxPedalProvider::FindReadyPedalMatch(
const AutocompleteInput& input,
const std::u16string& match_text) { … }
void OmniboxPedalProvider::Tokenize(OmniboxPedal::TokenSequence& out_tokens,
const std::u16string& text) const { … }
void OmniboxPedalProvider::TokenizeAndExpandDictionary(
OmniboxPedal::TokenSequence& out_tokens,
const std::u16string& token_sequence_string) { … }
void OmniboxPedalProvider::LoadPedalConcepts() { … }
OmniboxPedal::SynonymGroup OmniboxPedalProvider::LoadSynonymGroupString(
bool required,
bool match_once,
std::u16string synonyms_csv) { … }