blob: 1443990e8d79d4f1d9c751b87f449bc8cf19de95 [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Internal, used by fileManagerPrivate's custom bindings.
[platforms=("chromeos"),
implemented_in="chrome/browser/ash/extensions/file_manager/file_manager_private_api_functions.h"]
namespace fileManagerPrivateInternal {
// Entry information that renderers need to create an Entry instance.
dictionary EntryDescription {
DOMString fileSystemName;
DOMString fileSystemRoot;
DOMString fileFullPath;
boolean fileIsDirectory;
};
dictionary IOTaskParams {
DOMString? destinationFolderUrl;
DOMString? password;
boolean? showNotification;
};
dictionary ParsedTrashInfoFile {
EntryDescription restoreEntry;
DOMString trashInfoFileName;
double deletionDate;
};
dictionary SearchFilesParams {
DOMString? rootUrl;
DOMString query;
fileManagerPrivate.SearchType types;
long maxResults;
double modifiedTimestamp;
fileManagerPrivate.FileCategory category;
};
callback SimpleCallback = void();
callback ResolveIsolatedEntriesCallback = void(EntryDescription[] entries);
callback GetEntryPropertiesCallback = void(
fileManagerPrivate.EntryProperties[] entryProperties);
callback AddFileWatchCallback = void(optional boolean success);
callback RemoveFileWatchCallback = void(optional boolean success);
callback GetCustomActionsCallback = void(fileSystemProvider.Action[] actions);
callback ComputeChecksumCallback = void(DOMString checksum);
callback GetMimeTypeCallback = void(DOMString result);
callback GetContentMimeTypeCallback = void(DOMString result);
callback GetContentMetadataCallback = void(
fileManagerPrivate.MediaMetadata result);
callback ExecuteTaskCallback = void(fileManagerPrivate.TaskResult result);
callback GetFileTasksCallback = void(fileManagerPrivate.ResultingTasks resultingTasks);
callback GetDisallowedTransfersCallback =
void(EntryDescription[] entries);
callback GetDlpMetadataCallback =
void(fileManagerPrivate.DlpMetadata[] entries);
callback GetDriveQuotaMetadataCallback =
void(optional fileManagerPrivate.DriveQuotaMetadata driveQuotaMetadata);
callback IOTaskIdCallback = void(long taskId);
callback ValidatePathNameLengthCallback = void(boolean result);
callback GetDirectorySizeCallback = void(double size);
callback GetRecentFilesCallback = void(EntryDescription[] entries);
callback GetCrostiniSharedPathsCallback =
void(EntryDescription[] entries, boolean firstForSession);
callback GetLinuxPackageInfoCallback =
void(fileManagerPrivate.LinuxPackageInfo linux_package_info);
callback InstallLinuxPackageCallback =
void(fileManagerPrivate.InstallLinuxPackageResponse response);
callback GetThumbnailCallback = void(DOMString ThumbnailDataUrl);
callback BooleanCallback = void(boolean result);
callback GetVolumeRootCallback = void(EntryDescription rootDir);
callback ParseTrashInfoFilesCallback = void(ParsedTrashInfoFile[] files);
callback SearchFilesCallback = void(EntryDescription[] entries);
interface Functions {
[supportsPromises] static void resolveIsolatedEntries(
DOMString[] urls,
ResolveIsolatedEntriesCallback callback);
[supportsPromises] static void getEntryProperties(
DOMString[] urls,
fileManagerPrivate.EntryPropertyName[] names,
GetEntryPropertiesCallback callback);
[supportsPromises] static void addFileWatch(
DOMString url,
AddFileWatchCallback callback);
[supportsPromises] static void removeFileWatch(
DOMString url,
RemoveFileWatchCallback callback);
[supportsPromises] static void getCustomActions(
DOMString[] urls,
GetCustomActionsCallback callback);
[supportsPromises] static void executeCustomAction(
DOMString[] urls,
DOMString actionId,
SimpleCallback callback);
[supportsPromises] static void computeChecksum(
DOMString url,
ComputeChecksumCallback callback);
[supportsPromises] static void getMimeType(
DOMString url,
GetMimeTypeCallback callback);
[supportsPromises] static void getContentMimeType(
DOMString blobUUID,
GetContentMimeTypeCallback callback);
[supportsPromises] static void getContentMetadata(
DOMString blobUUID,
DOMString mimeType,
boolean includeImages,
GetContentMetadataCallback callback);
[supportsPromises] static void pinDriveFile(
DOMString url,
boolean pin,
SimpleCallback callback);
[supportsPromises] static void executeTask(
fileManagerPrivate.FileTaskDescriptor descriptor,
DOMString[] urls,
ExecuteTaskCallback callback);
[supportsPromises] static void searchFiles(
SearchFilesParams searchParams, SearchFilesCallback callback);
[supportsPromises] static void setDefaultTask(
fileManagerPrivate.FileTaskDescriptor descriptor,
DOMString[] urls,
DOMString[] mimeTypes,
SimpleCallback callback);
[supportsPromises] static void getFileTasks(
DOMString[] urls,
DOMString[] dlpSourceUrls,
GetFileTasksCallback callback);
[supportsPromises] static void getDisallowedTransfers(
DOMString[] entries,
DOMString destinationEntry,
boolean isMove,
GetDisallowedTransfersCallback callback);
[supportsPromises] static void getDlpMetadata(
DOMString[] entries,
GetDlpMetadataCallback callback);
[supportsPromises] static void getDriveQuotaMetadata(
DOMString url,
GetDriveQuotaMetadataCallback callback);
[supportsPromises] static void validatePathNameLength(
DOMString parentUrl,
DOMString name,
ValidatePathNameLengthCallback callback);
[supportsPromises] static void getDirectorySize(
DOMString url,
GetDirectorySizeCallback callback);
[supportsPromises] static void getVolumeRoot(
fileManagerPrivate.GetVolumeRootOptions options,
GetVolumeRootCallback callback);
[supportsPromises] static void getRecentFiles(
fileManagerPrivate.SourceRestriction restriction,
fileManagerPrivate.FileCategory file_category,
boolean invalidate_cache,
GetRecentFilesCallback callback);
[supportsPromises] static void sharePathsWithCrostini(
DOMString vmName, DOMString[] urls,
boolean persist,
SimpleCallback callback);
[supportsPromises] static void unsharePathWithCrostini(
DOMString vmName, DOMString url,
SimpleCallback callback);
static void getCrostiniSharedPaths(
boolean observeFirstForSession,
DOMString vmName,
GetCrostiniSharedPathsCallback callback);
[supportsPromises] static void getLinuxPackageInfo(
DOMString url,
GetLinuxPackageInfoCallback callback);
static void installLinuxPackage(
DOMString url,
InstallLinuxPackageCallback callback);
static void importCrostiniImage(DOMString url);
[supportsPromises] static void sharesheetHasTargets(
DOMString[] urls,
BooleanCallback callback);
[supportsPromises] static void invokeSharesheet(
DOMString[] urls,
fileManagerPrivate.SharesheetLaunchSource launchSource,
DOMString[] dlpSourceUrls,
SimpleCallback callback);
[supportsPromises] static void toggleAddedToHoldingSpace(
DOMString[] urls, boolean add,
optional SimpleCallback callback);
[supportsPromises] static void startIOTask(
fileManagerPrivate.IOTaskType type,
DOMString[] urls,
IOTaskParams params,
optional IOTaskIdCallback callback);
[supportsPromises] static void parseTrashInfoFiles(
DOMString[] urls,
ParseTrashInfoFilesCallback callback);
};
};