// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef WEBLAYER_BROWSER_CONTROLS_VISIBILITY_REASON_H_ #define WEBLAYER_BROWSER_CONTROLS_VISIBILITY_REASON_H_ namespace weblayer { // This enum represents actions or UI conditions that affect the visibility of // top UI, and is used to track concurrent concerns and to allow native and Java // code to coordinate. // // WARNING: only a subset of these are used if OnlyExpandTopControlsAtPageTop // is true. // // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.weblayer_private // GENERATED_JAVA_CLASS_NAME_OVERRIDE: ImplControlsVisibilityReason enum class ControlsVisibilityReason { // Browser controls are hidden when fullscreen is active. kFullscreen = 0, // Find in page forces browser controls to be visible. kFindInPage, // Tab modal dialogs obscure the content while leaving controls interactive. kTabModalDialog, // If accessibility is enabled, controls are forced shown. kAccessibility, // Browser controls visibility can be set to force them to animate in/out when // being set or cleared. kAnimation, // If the renderer isn't able to update the controls position because it is // being destroyed, crashed, or is unresponsive, show the controls. kRendererUnavailable, // Miscellaneous reasons for showing the controls, including: // * User entering text // * The URL being dangerous or having a warning // * An interstitial is showing // * chrome:// URL kOther, kReasonCount, }; } // namespace weblayer #endif // WEBLAYER_BROWSER_CONTROLS_VISIBILITY_REASON_H_