|  | // 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. | 
|  |  | 
|  | #ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_FEATURES_H_ | 
|  | #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_FEATURES_H_ | 
|  |  | 
|  | #include <string> | 
|  |  | 
|  | #include "base/feature_list.h" | 
|  | #include "base/metrics/field_trial_params.h" | 
|  |  | 
|  | namespace page_load_metrics::features { | 
|  |  | 
|  | BASE_DECLARE_FEATURE(kSendContinuousInputEventsToObservers); | 
|  |  | 
|  | // The feature flag to enable beacon leakage-related logging logic. | 
|  | BASE_DECLARE_FEATURE(kBeaconLeakageLogging); | 
|  |  | 
|  | // The param name of the URL category for beacon-leakage-related logging logic. | 
|  | BASE_DECLARE_FEATURE_PARAM(std::string, kBeaconLeakageLoggingCategoryParamName); | 
|  |  | 
|  | // The prefix of the URL category for beacon-leakage-related logging logic. | 
|  | BASE_DECLARE_FEATURE_PARAM(std::string, kBeaconLeakageLoggingCategoryPrefix); | 
|  |  | 
|  | // Enables or disables per-frame memory monitoring. | 
|  | BASE_DECLARE_FEATURE(kV8PerFrameMemoryMonitoring); | 
|  |  | 
|  | // Enables to emit zero values for some key metrics when back-forward cache is | 
|  | // used. | 
|  | // | 
|  | // With this flag disabled, no samples are emitted for regular VOLT metrics | 
|  | // after the page is restored from the back-forward cache. This means that we | 
|  | // will miss a lot of metrics for history navigations after we launch back- | 
|  | // forward cache. As metrics for history navigations tend to be better figures | 
|  | // than other navigations (e.g., due to network cache), the average of such | 
|  | // metrics values will become worse and might seem regression if we don't take | 
|  | // any actions. | 
|  | // | 
|  | // To mitigate this issue, we plan to emit 0 samples for such key metrics for | 
|  | // back-forward navigations. This is implemented behind this flag so far, and we | 
|  | // will enable this by default when we reach the conclusion how to adjust them. | 
|  | // | 
|  | // For cumulative layout shift scores, we use actual score values for back- | 
|  | // forward cache navigations instead of 0s. | 
|  | BASE_DECLARE_FEATURE(kBackForwardCacheEmitZeroSamplesForKeyMetrics); | 
|  |  | 
|  | BASE_DECLARE_FEATURE(kClickInputTracker); | 
|  |  | 
|  | }  // namespace page_load_metrics::features | 
|  |  | 
|  | #endif  // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_FEATURES_H_ |