blob: 55ccdaded380aa841acbc15a0d5178f0335c0fc5 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_FULLSCREEN_UI_BUNDLED_FULLSCREEN_METRICS_H_
#define IOS_CHROME_BROWSER_FULLSCREEN_UI_BUNDLED_FULLSCREEN_METRICS_H_
extern const char kEnterFullscreenModeTransitionReasonHistogram[];
extern const char kExitFullscreenModeTransitionReasonHistogram[];
// These values are persisted to IOS.Fullscreen.TransitionReason.{Enter,Exit}
// histograms. Entries should not be renumbered and numeric values should never
// be reused.
// LINT.IfChange(FullscreenModeTransitionReason)
enum class FullscreenModeTransitionReason {
// Reported when fullscreen mode is triggered by a sustained downward scroll
// gesture, with the animation of entering or exiting fullscreen mode being
// fully controlled by the scroll action.
kUserControlled = 0,
// Reported when entering to fullscreen mode is forced by the code, without
// any user action.
kForcedByCode = 1,
// Reported when fullscreen mode is triggered by a minimal downward scroll
// gesture. The system automatically completes the fullscreen animation after
// the user lifts their finger during the animation.
kUserInitiatedFinishedByCode = 2,
// Reported when exiting fullscreen mode by tapping on the toolbar.
kUserTapped = 3,
// Reported when exiting fullscreen mode by reaching the bottom of the page.
kBottomReached = 4,
kMaxValue = kBottomReached,
};
// LINT.ThenChange(//tools/metrics/histograms/metadata/ios/enums.xml:FullscreenModeTransitionReason)
#endif // IOS_CHROME_BROWSER_FULLSCREEN_UI_BUNDLED_FULLSCREEN_METRICS_H_