blob: 5af46371bcf9dcabe96d114e60f8f58703c9ba8f [file] [log] [blame] [edit]
// Copyright 2025 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_LENS_SUGGEST_INPUTS_UTILS_H_
#define COMPONENTS_OMNIBOX_BROWSER_LENS_SUGGEST_INPUTS_UTILS_H_
#include "base/functional/callback.h"
#include "components/lens/proto/server/lens_overlay_response.pb.h"
// A callback that returns the LensOverlaySuggestInputs when they are ready if
// they exist. Returns std::nullopt if they do not exist.
using LensOverlaySuggestInputsCallback = base::OnceCallback<void(
std::optional<lens::proto::LensOverlaySuggestInputs>)>;
inline bool AreLensSuggestInputsReady(
std::optional<lens::proto::LensOverlaySuggestInputs> suggest_inputs) {
return suggest_inputs.has_value() &&
suggest_inputs->has_search_session_id() &&
suggest_inputs->has_contextual_visual_input_type() &&
suggest_inputs->has_encoded_request_id();
}
// LINT.IfChange(PaywallSignal)
enum class PaywallSignal {
// Whether the paywall signal was unavailable because the page content was
// not available.
kUnknown = 0,
// Whether the paywall signal was present on the current page.
kSignalPresent = 1,
// Whether the paywall signal was not present on the current page.
kSignalNotPresent = 2,
kMaxValue = kSignalNotPresent,
};
// LINT.ThenChange(//tools/metrics/histograms/metadata/omnibox/enums.xml:PaywallSignal)
#endif // COMPONENTS_OMNIBOX_BROWSER_LENS_SUGGEST_INPUTS_UTILS_H_