summaryrefslogtreecommitdiff
path: root/chromium/content/common/frame_proxy.mojom
blob: 2f7f059af123c816b2a7984dd347ce659ceda712 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Copyright 2019 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 "ui/gfx/geometry/mojom/geometry.mojom";
import "content/common/frame.mojom";
import "content/common/render_frame_metadata.mojom";
import "services/viz/public/mojom/compositing/frame_sink_id.mojom";

// Mojo interface for communicating from RenderFrameProxy to
// RenderFrameProxyHost. Implemented by the browser process, called by renderer
// processes.
interface RenderFrameProxyHost {
  // TODO(dtapuska): Keep this interface for now. All methods have moved to
  // blink::RemoteFrameHost but we might still need this.

  // Requests that the given URL be opened in the specified manner.
  OpenURL(OpenURLParams params);
};

// Mojo interface for communicating from RenderFrameProxyHost to
// RenderFrameProxy. Implemented by renderer processes, called by the browser
// process.
interface RenderFrameProxy {
  // Notifies the remote frame that the process rendering the child frame's
  // contents has terminated.
  ChildProcessGone();

  // This function enables auto-resize mode from the parent renderer.
  EnableAutoResize(gfx.mojom.Size min_size, gfx.mojom.Size max_size);

  // This function disables auto-resize-mode from the parent renderer.
  DisableAutoResize();

  // Informs the completion of an autoresize transaction from the parent
  // renderer and updates with the provided viz::LocalSurfaceId.
  DidUpdateVisualProperties(RenderFrameMetadata metadata);

  // This function notifies the remote frame that its associated
  // compositing destination (RenderWidgetHostView) has changed.
  SetFrameSinkId(viz.mojom.FrameSinkId frame_sink_id);

};