#include "components/autofill_prediction_improvements/core/browser/autofill_prediction_improvements_manager.h"
#include "base/check_deref.h"
#include "base/functional/callback.h"
#include "base/types/expected.h"
#include "components/autofill/core/browser/ui/suggestion.h"
#include "components/autofill/core/browser/ui/suggestion_type.h"
#include "components/autofill/core/common/form_data.h"
#include "components/autofill_prediction_improvements/core/browser/autofill_prediction_improvements_client.h"
#include "components/autofill_prediction_improvements/core/browser/autofill_prediction_improvements_features.h"
#include "components/autofill_prediction_improvements/core/browser/autofill_prediction_improvements_filling_engine.h"
#include "components/optimization_guide/core/optimization_guide_decider.h"
#include "components/optimization_guide/proto/features/common_quality_data.pb.h"
#include "components/optimization_guide/proto/hints.pb.h"
namespace autofill_prediction_improvements {
namespace {
autofill::Suggestion CreateChildSuggestionForFilling(
const autofill::FormFieldData& filled_field) { … }
}
AutofillPredictionImprovementsManager::AutofillPredictionImprovementsManager(
AutofillPredictionImprovementsClient* client,
optimization_guide::OptimizationGuideDecider* decider)
: … { … }
AutofillPredictionImprovementsManager::
~AutofillPredictionImprovementsManager() = default;
std::vector<autofill::Suggestion>
AutofillPredictionImprovementsManager::CreateFillingSuggestion(
const autofill::FormFieldData& field) { … }
std::vector<autofill::Suggestion>
AutofillPredictionImprovementsManager::CreateLoadingSuggestion() { … }
std::vector<autofill::Suggestion>
AutofillPredictionImprovementsManager::CreateTriggerSuggestion(
bool add_separator) { … }
bool AutofillPredictionImprovementsManager::HasImprovedPredictionsForField(
const autofill::FormFieldData& field) { … }
bool AutofillPredictionImprovementsManager::UsedImprovedPredictionsForField(
const autofill::FormFieldData& field) { … }
void AutofillPredictionImprovementsManager::
ExtractImprovedPredictionsForFormFields(
const autofill::FormData& form,
FillPredictionsCallback fill_callback) { … }
void AutofillPredictionImprovementsManager::OnReceivedAXTree(
const autofill::FormData& form,
FillPredictionsCallback fill_callback,
optimization_guide::proto::AXTreeUpdate ax_tree_update) { … }
void AutofillPredictionImprovementsManager::OnReceivedPredictions(
FillPredictionsCallback fill_callback,
base::expected<autofill::FormData, bool> filled_form) { … }
bool AutofillPredictionImprovementsManager::ShouldProvidePredictionImprovements(
const GURL& url) { … }
}