mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
// 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 content.mojom;
|
|
|
|
import "services/viz/public/interfaces/compositing/local_surface_id.mojom";
|
|
import "services/viz/public/interfaces/compositing/selection.mojom";
|
|
import "ui/gfx/geometry/mojo/geometry.mojom";
|
|
|
|
// See components/viz/service/quads/render_frame_metadata.h
|
|
struct RenderFrameMetadata {
|
|
// The background color of a CompositorFrame. It can be used for filling the
|
|
// content area if the primary surface is unavailable and fallback is not
|
|
// specified.
|
|
uint32 root_background_color;
|
|
|
|
// Scroll offset of the root layer. This optional parameter is only sent
|
|
// during tests.
|
|
gfx.mojom.Vector2dF? root_scroll_offset;
|
|
|
|
// Indicates whether the scroll offset of the root layer is at top, i.e.,
|
|
// whether scroll_offset.y() == 0.
|
|
bool is_scroll_offset_at_top;
|
|
|
|
// Selection region relative to the current viewport. If the selection is
|
|
// empty or otherwise unused, the bound types will indicate such.
|
|
viz.mojom.Selection selection;
|
|
|
|
// Determines whether the page is mobile optimized or not, which means at
|
|
// least one of the following has to be true:
|
|
// - page has a width=device-width or narrower viewport.
|
|
// - page prevents zooming in or out (i.e. min and max page scale factors
|
|
// are the same).
|
|
bool is_mobile_optimized;
|
|
|
|
// The device scale factor used to generate CompositorFrame.
|
|
float device_scale_factor;
|
|
|
|
// The size of the viewport used to generate a CompositorFrame.
|
|
gfx.mojom.Size viewport_size_in_pixels;
|
|
|
|
// The last viz::LocalSurfaceId used to submit a CompositorFrame.
|
|
viz.mojom.LocalSurfaceId? local_surface_id;
|
|
|
|
// The page scale factor used on the content.
|
|
float page_scale_factor;
|
|
|
|
// Used to position the Android location top bar and page content, whose
|
|
// precise position is computed by the renderer compositor.
|
|
[EnableIf=is_android]
|
|
float top_controls_height;
|
|
|
|
[EnableIf=is_android]
|
|
float top_controls_shown_ratio;
|
|
|
|
// Used to position Android bottom bar, whose position is computed by the
|
|
// renderer compositor.
|
|
[EnableIf=is_android]
|
|
float bottom_controls_height;
|
|
|
|
[EnableIf=is_android]
|
|
float bottom_controls_shown_ratio;
|
|
|
|
[EnableIf=is_android]
|
|
float min_page_scale_factor;
|
|
|
|
[EnableIf=is_android]
|
|
float max_page_scale_factor;
|
|
|
|
[EnableIf=is_android]
|
|
bool root_overflow_y_hidden;
|
|
|
|
[EnableIf=is_android]
|
|
gfx.mojom.SizeF scrollable_viewport_size;
|
|
|
|
[EnableIf=is_android]
|
|
gfx.mojom.SizeF root_layer_size;
|
|
|
|
[EnableIf=is_android]
|
|
bool has_transparent_background;
|
|
};
|
|
|
|
// This interface is provided by the renderer. It can optionally enable
|
|
// notifications for all frame submissions.
|
|
interface RenderFrameMetadataObserver {
|
|
// When |enabled| is set to true, this will notify the associated client of
|
|
// all frame submissions.
|
|
ReportAllFrameSubmissionsForTesting(bool enabled);
|
|
};
|
|
|
|
// This interface is provided by the browser. It is notified of all changes to
|
|
// RenderFrameMetadata. It can be notified of all frame submissions, via
|
|
// RenderFrameMetadataObserver::ReportAllFrameSubmissionsForTesting.
|
|
interface RenderFrameMetadataObserverClient {
|
|
// Notified when RenderFrameMetadata has changed.
|
|
OnRenderFrameMetadataChanged(uint32 frame_token, RenderFrameMetadata metadata);
|
|
|
|
// Notified on all frame submissions.
|
|
OnFrameSubmissionForTesting(uint32 frame_token);
|
|
};
|