// Copyright 2017 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 "url/mojom/url.mojom";

// Test interface used in RenderFrame and RenderFrameHost tests to exercise
// requesting document-scoped interfaces from the RenderFrameHost through
// the InterfaceProvider interface.
//
// The `Ping` method is invoked by clients immediately after making the
// FrameHostTestInterfaceRequest, so as to annotate where the request
// originates from. This allows verification that the request was delivered /
// not delivered to a certain InterfaceProvider implementation.
interface FrameHostTestInterface {
  Ping(url.mojom.Url source_url, string source_event);
};
