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

content / common / render_message_filter.mojom [blame]

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module content.mojom;

import "mojo/public/mojom/base/unguessable_token.mojom";
import "third_party/blink/public/mojom/tokens/tokens.mojom";

// Struct representing the routing information needed for a child iframe
// created from the renderer.
struct FrameRoutingInfo {
  int32 routing_id;
  blink.mojom.LocalFrameToken frame_token;
  mojo_base.mojom.UnguessableToken devtools_frame_token;
  blink.mojom.DocumentToken document_token;
};

// A interface to the browser process that is handled on the IO thread.
// This interface contains synchronous calls the renderer needs to
// block on and should be serviced quickly.
interface RenderMessageFilter {
  // Generates a FrameRoutingInfo object. A subsequent call to
  // `FrameHost::CreateChildFrame` is expected after this call.
  [Sync] GenerateSingleFrameRoutingInfo() => (FrameRoutingInfo info);

  // Similar to `GenerateSingleFrameRoutingInfo` but returns multiple
  // FrameRoutingInfo objects that can be later used.
  [Sync] GenerateFrameRoutingInfos() => (array<FrameRoutingInfo> info_array);
};