diff --git a/components/optimization_guide/core/model_execution/feature_keys.h b/components/optimization_guide/core/model_execution/feature_keys.h index 336fad3d69423..c6e8610c02b04 100644 --- a/components/optimization_guide/core/model_execution/feature_keys.h +++ b/components/optimization_guide/core/model_execution/feature_keys.h @@ -46,6 +46,8 @@ enum class ModelBasedCapabilityKey { proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_PERMISSIONS_AI, kWritingAssistanceApi = proto::ModelExecutionFeature:: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API, + kEnhancedCalendar = + proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR, }; inline std::ostream& operator<<(std::ostream& out, @@ -85,11 +87,13 @@ inline std::ostream& operator<<(std::ostream& out, return out << "PermissionsAi"; case ModelBasedCapabilityKey::kWritingAssistanceApi: return out << "WritingAssistanceApi"; + case ModelBasedCapabilityKey::kEnhancedCalendar: + return out << "EnhancedCalendar"; } return out; } -inline constexpr std::array<ModelBasedCapabilityKey, 17> +inline constexpr std::array<ModelBasedCapabilityKey, 18> kAllModelBasedCapabilityKeys = { ModelBasedCapabilityKey::kCompose, ModelBasedCapabilityKey::kTabOrganization, @@ -108,6 +112,7 @@ inline constexpr std::array<ModelBasedCapabilityKey, 17> ModelBasedCapabilityKey::kScamDetection, ModelBasedCapabilityKey::kPermissionsAi, ModelBasedCapabilityKey::kWritingAssistanceApi, + ModelBasedCapabilityKey::kEnhancedCalendar, }; // A "real" feature implemented by a model-based capability. @@ -192,6 +197,9 @@ inline ModelBasedCapabilityKey ToModelBasedCapabilityKey( case proto::ModelExecutionFeature:: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API: return ModelBasedCapabilityKey::kWritingAssistanceApi; + case proto::ModelExecutionFeature:: + MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR: + return ModelBasedCapabilityKey::kEnhancedCalendar; case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED: NOTREACHED() << "Invalid feature"; } @@ -246,6 +254,9 @@ inline proto::ModelExecutionFeature ToModelExecutionFeatureProto( case ModelBasedCapabilityKey::kWritingAssistanceApi: return proto::ModelExecutionFeature:: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API; + case ModelBasedCapabilityKey::kEnhancedCalendar: + return proto::ModelExecutionFeature:: + MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR; } } diff --git a/components/optimization_guide/core/model_execution/model_execution_features.cc b/components/optimization_guide/core/model_execution/model_execution_features.cc index feae91a20937c..717de0829ee3b 100644 --- a/components/optimization_guide/core/model_execution/model_execution_features.cc +++ b/components/optimization_guide/core/model_execution/model_execution_features.cc @@ -174,6 +174,7 @@ std::optional<proto::OptimizationTarget> GetOptimizationTargetForCapability( case ModelBasedCapabilityKey::kTextSafety: case ModelBasedCapabilityKey::kBlingPrototyping: case ModelBasedCapabilityKey::kPasswordChangeSubmission: + case ModelBasedCapabilityKey::kEnhancedCalendar: return std::nullopt; } } diff --git a/components/optimization_guide/core/model_execution/model_execution_fetcher.cc b/components/optimization_guide/core/model_execution/model_execution_fetcher.cc index f12f4918584ba..09a7477ded7c7 100644 --- a/components/optimization_guide/core/model_execution/model_execution_fetcher.cc +++ b/components/optimization_guide/core/model_execution/model_execution_fetcher.cc @@ -222,6 +222,9 @@ net::NetworkTrafficAnnotationTag GetNetworkTrafficAnnotation( case ModelBasedCapabilityKey::kFormsClassifications: // TODO(crbug.com/389631477) - Add traffic annotation. return MISSING_TRAFFIC_ANNOTATION; + case ModelBasedCapabilityKey::kEnhancedCalendar: + // TODO(crbug.com/398296762): Add network traffic annotation. + return MISSING_TRAFFIC_ANNOTATION; case ModelBasedCapabilityKey::kHistorySearch: case ModelBasedCapabilityKey::kHistoryQueryIntent: case ModelBasedCapabilityKey::kPromptApi: diff --git a/components/optimization_guide/core/optimization_guide_util.cc b/components/optimization_guide/core/optimization_guide_util.cc index 57dc841413e36..0be83717a7da7 100644 --- a/components/optimization_guide/core/optimization_guide_util.cc +++ b/components/optimization_guide/core/optimization_guide_util.cc @@ -108,6 +108,9 @@ std::string_view GetStringNameForModelExecutionFeature( case proto::ModelExecutionFeature:: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API: return "WritingAssistanceApi"; + case proto::ModelExecutionFeature:: + MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR: + return "EnhancedCalendar"; case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED: return "Unknown"; // Must be in sync with the ModelExecutionFeature variant in diff --git a/components/optimization_guide/proto/BUILD.gn b/components/optimization_guide/proto/BUILD.gn index fb3f933463554..7ae0a91c5dca5 100644 --- a/components/optimization_guide/proto/BUILD.gn +++ b/components/optimization_guide/proto/BUILD.gn @@ -21,6 +21,7 @@ proto_library("optimization_guide_proto") { "features/common_quality_data.proto", "features/compose.proto", "features/default.proto", + "features/enhanced_calendar.proto", "features/example_for_testing.proto", "features/forms_annotations.proto", "features/forms_classifications.proto", diff --git a/components/optimization_guide/proto/model_execution.proto b/components/optimization_guide/proto/model_execution.proto index c724392687702..61c28ebeb0ec4 100644 --- a/components/optimization_guide/proto/model_execution.proto +++ b/components/optimization_guide/proto/model_execution.proto @@ -78,4 +78,5 @@ enum ModelExecutionFeature { MODEL_EXECUTION_FEATURE_PERMISSIONS_AI = 17; MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API = 18; MODEL_EXECUTION_FEATURE_FORMS_CLASSIFICATIONS = 20; + MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR = 23; } diff --git a/tools/metrics/histograms/metadata/optimization/histograms.xml b/tools/metrics/histograms/metadata/optimization/histograms.xml index df61b5aad7d0b..411dcf29b04a6 100644 --- a/tools/metrics/histograms/metadata/optimization/histograms.xml +++ b/tools/metrics/histograms/metadata/optimization/histograms.xml @@ -34,7 +34,9 @@ chromium-metrics-reviews@google.com. </variants> <variants name="ModelExecutionFeature"> + <variant name="BlingPrototyping" summary="Bling Prototyping"/> <variant name="Compose" summary="Compose"/> + <variant name="EnhancedCalendar" summary="Enhanced Calendar"/> <variant name="FormsAnnotations" summary="Forms Annotations"/> <variant name="FormsClassifications" summary="Forms Classifications"/> <variant name="FormsPredictions" summary="Forms Predictions"/>