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

import "url/mojom/origin.mojom";

const int32 kAutoplayFlagNone                = 0x00000;

// This flag indicates a page has high media engagement.
const int32 kAutoplayFlagHighMediaEngagement = 0x00001;

// This flag indicates a page should always be allowed to autoplay.
const int32 kAutoplayFlagForceAllow          = 0x00002;

// This flag indicates a page should be allowed to autoplay because the
// user has added an exception for it.
const int32 kAutoplayFlagUserException       = 0x00004;

interface AutoplayConfigurationClient {
  // The browser tells the renderer that an origin has specific autoplay flags.
  AddAutoplayFlags(url.mojom.Origin origin, int32 flags);
};
