| // 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); |
| }; |