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

// Used to deliver commands from the supervised user interstitial when
// committed interstitials are enabled.
interface SupervisedUserCommands {
  // Go back to the previous page.
  GoBack();
  // Request permission from supervised user administrator to view the current
  // URL. Expects a |success| response indicating whether or not sending the
  // request was successful.
  RequestPermission() => (bool success);
  // Send feedback about the decision to block the current URL.
  Feedback();
};