chromium/chrome/browser/ui/autofill/autofill_suggestion_controller_utils.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ui/autofill/autofill_suggestion_controller_utils.h"

#include <string>
#include <vector>

#include "base/functional/overloaded.h"
#include "chrome/browser/feature_engagement/tracker_factory.h"
#include "components/autofill/content/browser/content_autofill_driver.h"
#include "components/autofill/core/browser/ui/suggestion.h"
#include "components/autofill/core/browser/ui/suggestion_type.h"
#include "components/autofill/core/common/autofill_features.h"
#include "components/autofill/core/common/dense_set.h"
#include "components/autofill/core/common/form_field_data.h"
#include "components/compose/core/browser/compose_features.h"
#include "components/feature_engagement/public/feature_constants.h"
#include "components/feature_engagement/public/tracker.h"
#include "components/password_manager/content/browser/content_password_manager_driver.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"

#if !BUILDFLAG(IS_ANDROID)
// UserEducationService is not implemented on Android.
#include "chrome/browser/user_education/user_education_service.h"
#endif  // !BUILDFLAG(IS_ANDROID)

namespace autofill {

bool IsAcceptableSuggestionType(SuggestionType id) {}

bool IsFooterSuggestionType(SuggestionType type) {}

bool IsFooterItem(const std::vector<Suggestion>& suggestions,
                  size_t line_number) {}

bool IsStandaloneSuggestionType(SuggestionType type) {}

content::RenderFrameHost* GetRenderFrameHost(
    AutofillSuggestionDelegate& delegate) {}

bool IsAncestorOf(content::RenderFrameHost* ancestor,
                  content::RenderFrameHost* descendant) {}

bool IsPointerLocked(content::WebContents* web_contents) {}

void NotifyUserEducationAboutAcceptedSuggestion(
    content::BrowserContext* browser_context,
    const Suggestion& suggestion) {}

std::vector<Suggestion> UpdateSuggestionsFromDataList(
    base::span<const SelectOption> options,
    std::vector<Suggestion> suggestions) {}

}  // namespace autofill