blob: e2dc9d3346d439ba72e42bd1bc2b30546ed1d6a2 [file]
// Copyright 2026 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_ACCESSIBILITY_ANNOTATOR_CORE_ACCESSIBILITY_ANNOTATOR_FEATURES_H_
#define COMPONENTS_ACCESSIBILITY_ANNOTATOR_CORE_ACCESSIBILITY_ANNOTATOR_FEATURES_H_
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "base/time/time.h"
namespace accessibility_annotator::features {
BASE_DECLARE_FEATURE(kContentAnnotator);
BASE_DECLARE_FEATURE_PARAM(int, kContentAnnotatorMaxPendingUrls);
BASE_DECLARE_FEATURE_PARAM(std::string,
kContentAnnotatorClassifierTitleKeywordRules);
BASE_DECLARE_FEATURE_PARAM(std::string,
kContentAnnotatorClassifierUrlMatchRules);
BASE_DECLARE_FEATURE_PARAM(std::string,
kContentAnnotatorClassifierRelevanceValues);
BASE_DECLARE_FEATURE_PARAM(double, kContentAnnotatorSensitivityThreshold);
BASE_DECLARE_FEATURE_PARAM(std::string, kContentAnnotatorSupportedLanguages);
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, kContentAnnotatorAnnotationTimeout);
BASE_DECLARE_FEATURE_PARAM(bool, kContentAnnotatorEnableFullAnnotation);
BASE_DECLARE_FEATURE_PARAM(bool, kContentAnnotatorLanguageCheckEnabled);
BASE_DECLARE_FEATURE_PARAM(int, kContentAnnotatorMaxCacheAnnotations);
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
kContentAnnotatorConfirmedStatusLookbackWindow);
BASE_DECLARE_FEATURE_PARAM(std::string,
kContentAnnotatorClassifierSemanticMatchRules);
BASE_DECLARE_FEATURE_PARAM(double, kContentAnnotatorSemanticMatchThreshold);
BASE_DECLARE_FEATURE_PARAM(bool, kContentAnnotatorEnableMultiTabAnnotations);
BASE_DECLARE_FEATURE(kAccessibilityAnnotator);
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, kAccessibilityAnnotationTTL);
BASE_DECLARE_FEATURE_PARAM(std::string, kAccessibilityAnnotatorEligibleTiers);
BASE_DECLARE_FEATURE(kAccessibilityAnnotatorFirstRun);
BASE_DECLARE_FEATURE(kAccessibilityAnnotatorFirstRunPhase2);
BASE_DECLARE_FEATURE(kAccessibilityAnnotatorGetEntities);
BASE_DECLARE_FEATURE(kAccessibilityAnnotatorLiveTabContext);
BASE_DECLARE_FEATURE_PARAM(
int,
kAccessibilityAnnotatorLiveTabContextMaxSearchResults);
BASE_DECLARE_FEATURE_PARAM(
int,
kAccessibilityAnnotatorLiveTabContextPassagesPerPage);
BASE_DECLARE_FEATURE_PARAM(base::TimeDelta,
kAccessibilityAnnotatorLiveTabContextRequestTimeout);
BASE_DECLARE_FEATURE(kAccessibilityAnnotationReducerOnePResolver);
BASE_DECLARE_FEATURE_PARAM(std::string, kAccessibilityAnnotatorOnePServiceUrl);
BASE_DECLARE_FEATURE(kAccessibilityAnnotatorDatabaseStorage);
// Returns true if either Phase 1 or Phase 2 of the first run experience is
// enabled. Since Phase 2 is an extension/continuation of the first run
// experience, checking both features ensures the whole first run feature
// set is appropriately covered.
bool IsAccessibilityAnnotatorFirstRunEnabled();
} // namespace accessibility_annotator::features
#endif // COMPONENTS_ACCESSIBILITY_ANNOTATOR_CORE_ACCESSIBILITY_ANNOTATOR_FEATURES_H_