blob: c1c454e8596b582a1cc1056ead5629e4cb06a905 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_PEDAL_IMPLEMENTATIONS_H_
#define COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_PEDAL_IMPLEMENTATIONS_H_
#include <memory>
#include <unordered_map>
#include "build/build_config.h"
#include "components/omnibox/browser/omnibox_pedal.h"
#include "components/omnibox/browser/omnibox_pedal_concepts.h"
class OmniboxPedalClearBrowsingData : public OmniboxPedal {
public:
OmniboxPedalClearBrowsingData();
#if (!defined(OS_ANDROID) || BUILDFLAG(ENABLE_VR)) && !defined(OS_IOS)
const gfx::VectorIcon& GetVectorIcon() const override;
#endif
};
class OmniboxPedalUpdateChrome : public OmniboxPedal {
public:
OmniboxPedalUpdateChrome();
void Execute(ExecutionContext& context) const override;
bool IsReadyToTrigger(
const AutocompleteProviderClient& client) const override;
};
// Returns the full set of encapsulated OmniboxPedal implementations.
std::unordered_map<OmniboxPedalId, std::unique_ptr<OmniboxPedal>>
GetPedalImplementations();
#endif // COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_PEDAL_IMPLEMENTATIONS_H_