blob: 4a5902d897ebe1b5fc2954ca69a8aa6f3fc46d1d [file] [log] [blame]
// Copyright 2019 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 "mojo/public/mojom/base/file_error.mojom";
// Always returned as a member of a FileSystemAccessError, which is declared below.
enum FileSystemAccessStatus {
kOk,
// The website doesn't/didn't have permission to do what it tried to do.
kPermissionDenied,
// The website wasn't allowed to ask for permission in the current context.
kSecurityError,
// The object being operated on was in an invalid state for the operation.
kInvalidState,
// An invalid argument was passed to a method.
kInvalidArgument,
// The operation failed for some unspecified reason.
kOperationFailed,
// The operation was aborted by the user.
kOperationAborted,
// The operation failed with a mojom_base.mojom.FileError describing the
// underlying cause.
kFileError,
};
// Errors reported by File System Access API methods.
struct FileSystemAccessError {
FileSystemAccessStatus status;
// Only meaningful when |status| is kFileError.
// Conceptually, this should be an optional member, but mojo does not
// currently support optionals.
mojo_base.mojom.FileError file_error;
// Optional extra information describing the error.
string message;
};