// 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; }; dictionary CrostiniSharedPathResponse { EntryDescription[] entries; boolean firstForSession; }; 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 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(CrostiniSharedPathResponse 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 { static void resolveIsolatedEntries( DOMString[] urls, ResolveIsolatedEntriesCallback callback); static void getEntryProperties( DOMString[] urls, fileManagerPrivate.EntryPropertyName[] names, GetEntryPropertiesCallback callback); static void addFileWatch( DOMString url, AddFileWatchCallback callback); static void removeFileWatch( DOMString url, RemoveFileWatchCallback callback); static void getCustomActions( DOMString[] urls, GetCustomActionsCallback callback); static void executeCustomAction( DOMString[] urls, DOMString actionId, SimpleCallback callback); static void getContentMimeType( DOMString blobUUID, GetContentMimeTypeCallback callback); static void getContentMetadata( DOMString blobUUID, DOMString mimeType, boolean includeImages, GetContentMetadataCallback callback); static void pinDriveFile( DOMString url, boolean pin, SimpleCallback callback); static void executeTask( fileManagerPrivate.FileTaskDescriptor descriptor, DOMString[] urls, ExecuteTaskCallback callback); static void searchFiles( SearchFilesParams searchParams, SearchFilesCallback callback); static void setDefaultTask( fileManagerPrivate.FileTaskDescriptor descriptor, DOMString[] urls, DOMString[] mimeTypes, SimpleCallback callback); static void getFileTasks( DOMString[] urls, DOMString[] dlpSourceUrls, GetFileTasksCallback callback); static void getDisallowedTransfers( DOMString[] entries, DOMString destinationEntry, boolean isMove, GetDisallowedTransfersCallback callback); static void getDlpMetadata( DOMString[] entries, GetDlpMetadataCallback callback); static void getDriveQuotaMetadata( DOMString url, GetDriveQuotaMetadataCallback callback); static void validatePathNameLength( DOMString parentUrl, DOMString name, ValidatePathNameLengthCallback callback); static void getDirectorySize( DOMString url, GetDirectorySizeCallback callback); static void getVolumeRoot( fileManagerPrivate.GetVolumeRootOptions options, GetVolumeRootCallback callback); static void getRecentFiles( fileManagerPrivate.SourceRestriction restriction, DOMString query, long cutoff_days, fileManagerPrivate.FileCategory file_category, boolean invalidate_cache, GetRecentFilesCallback callback); static void sharePathsWithCrostini( DOMString vmName, DOMString[] urls, boolean persist, SimpleCallback callback); static void unsharePathWithCrostini( DOMString vmName, DOMString url, SimpleCallback callback); static void getCrostiniSharedPaths( boolean observeFirstForSession, DOMString vmName, GetCrostiniSharedPathsCallback callback); static void importCrostiniImage(DOMString url); static void toggleAddedToHoldingSpace( DOMString[] urls, boolean add, optional SimpleCallback callback); static void startIOTask( fileManagerPrivate.IoTaskType type, DOMString[] urls, IOTaskParams params, optional IOTaskIdCallback callback); static void parseTrashInfoFiles( DOMString[] urls, ParseTrashInfoFilesCallback callback); }; };