// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module blink.mojom;
// This enum should be synced with
// and chrome/browser/web_applications/proto/web_app.proto
// and components/sync/protocol/web_app_specifics.proto
// and tools/metrics/histograms/enums.xml
enum DisplayMode {
kUndefined, // Used for override setting (ie. not set).
// The standard display modes that are accepted in the "display" field of the
// web app manifest: https://www.w3.org/TR/appmanifest/#dfn-display-modes-list.
kBrowser,
kMinimalUi,
kStandalone,
kFullscreen,
// TODO(crbug.com/937121): This is a non-standard value intended for use in
// the "display_override" field of the web app manifest:
// https://github.com/WICG/window-controls-overlay/blob/main/explainer.md.
kWindowControlsOverlay,
// This is a non-standard value intended for use in the "display_override"
// field of the web app manifest: https://github.com/w3c/manifest/issues/737
kTabbed,
// This is a non-standard value intended for use in the "display_override"
// field of the web app manifest:
// https://github.com/WICG/manifest-incubations/blob/gh-pages/borderless-explainer.md.
kBorderless,
// This value is used only for the "display-mode" CSS media feature:
// https://drafts.csswg.org/mediaqueries-5/#display-mode-picture-in-picture
// It is not used in the web app manifest.
kPictureInPicture,
/**
* This enum is persisted to logs, and therefore is append-only and should not be reordered.
*/
};