blob: a543e86393c2d8da9905a0368777374254b122f5 [file] [log] [blame]
// Copyright 2018 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.
module blink.mojom;
import "ui/gfx/geometry/mojom/geometry.mojom";
enum ViewportFit {
// No effect - the whole web page is viewable (default).
kAuto,
// The initial layout viewport and the visual viewport are set to the
// largest rectangle which is inscribed in the display of the device.
kContain,
// The initial layout viewport and the visual viewport are set to the
// circumscribed rectangle of the physical screen of the device.
kCover,
// This has the same behaviour as |kCover| but it identifies that the
// ViewportFit value was forced by the user agent by the media controls.
kCoverForcedByUserAgent,
};
// Used for renderer -> browser calls about display cutout.
interface DisplayCutoutHost {
// Notify the browser that the ViewportFit for the renderer has changed.
NotifyViewportFitChanged(blink.mojom.ViewportFit value);
};
// Contains the four safe areas for the display cutout. These are insets from
// each edge of the display measured in pixels.
// TODO(beccahughes): Replace with gfx::Insets
struct DisplayCutoutSafeArea {
int32 top;
int32 left;
int32 bottom;
int32 right;
};
// Used for browser -> renderer calls about display cutout. This is associated
// with a frame.
interface DisplayCutoutClient {
// Notify the renderer that the safe areas have changed.
SetSafeArea(DisplayCutoutSafeArea safe_area);
};