// 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 client_hints.mojom;

import "mojo/public/mojom/base/time.mojom";
import "third_party/blink/public/platform/web_client_hints_types.mojom";
import "url/mojom/origin.mojom";

// Sent from renderer to browser process when the lifetime of the client hints
// for |primary_origin| has changed. |client_hints| is the list of client hints
// that |primary_origin| has requested for. The client hints should be sent
// for a duration of |expiration_duration|.
interface ClientHints {
  PersistClientHints(url.mojom.Origin primary_origin,
                     array<blink.mojom.WebClientHintsType> client_hints,
                     mojo_base.mojom.TimeDelta expiration_duration);
};