// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// imageLoaderPrivate API.
// This is a private API used by the ChromeOS FilesApp ImageLoader extension.
[platforms=("chromeos"),
implemented_in="chrome/browser/ash/extensions/file_manager/image_loader_private_api.h"]
namespace imageLoaderPrivate {
// |thumbnailDataUrl| A data URL for the thumbnail; |thumbnailDataUrl| is
// empty if no thumbnail was available.
callback GetThumbnailCallback = void(DOMString thumbnailDataUrl);
interface Functions {
// For a file in DriveFS, retrieves its thumbnail. If |cropToSquare| is
// true, returns a thumbnail appropriate for file list or grid views;
// otherwise, returns a thumbnail appropriate for quickview.
[doesNotSupportPromises]
static void getDriveThumbnail(DOMString url,
boolean cropToSquare,
GetThumbnailCallback callback);
// For a local PDF file, retrieves its thumbnail with a given |width| and
// |height|.
[doesNotSupportPromises]
static void getPdfThumbnail(DOMString url,
long width,
long height,
GetThumbnailCallback callback);
// Retrieves a thumbnail of an ARC DocumentsProvider file, closely matching
// the hinted size specified by |widthHint| and |heightHint|, but not
// necessarily the exact size. |callback| is called with thumbnail data
// encoded as a data URL. If the document does not support thumbnails,
// |callback| is called with an empty string.
// Note: The thumbnail data may originate from third-party application code,
// and is untrustworthy (Security).
[doesNotSupportPromises]
static void getArcDocumentsProviderThumbnail(DOMString url,
long widthHint,
long heightHint,
GetThumbnailCallback callback);
};
};