| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // `file_handlers` manifest key defintion. File Handlers allow developers to |
| // let extensions interact with files on the operating system. This manifest key |
| // can be used by developers to register an extension to a given file type. |
| [generate_error_messages] namespace fileHandlers { |
| |
| // Icon specification similar to an ImageResource. |
| dictionary Icon { |
| // TODO(crbug.com/40238266) Add `DOMString? label;` for accessibility. |
| |
| // URL from which a user agent can fetch image data. |
| DOMString src; |
| |
| // Multiple space-separated size values to also accommodate image formats |
| // that can act as containers for multiple images of varying dimensions: |
| // e.g. "16x16", "16x16 32x32". |
| DOMString? sizes; |
| |
| // MIME type is purely advisory with no default value. |
| DOMString? type; |
| }; |
| |
| // A FileHandler registers the ability to read, stream, or edit files of given |
| // MIME types and/or file extensions. |
| dictionary FileHandler { |
| // A mapping of one or more MIME types to one or more file extensions. |
| // e.g. "accept": {"text/csv": ".csv"} or {"text/csv": [".csv", ".txt"]}. |
| object accept; |
| |
| // Specifies the url after the origin that is the navigation destination for |
| // file handling launches. |
| DOMString action; |
| |
| // Description of the file type. |
| DOMString name; |
| |
| // Array of ImageResources. Only icons declared at the manifest level are |
| // currently supported. The icon for the extension will appear in the "Open" |
| // menu. |
| Icon[]? icons; |
| |
| // Whether multiple files should be opened in a single client or multiple. |
| // Defaults to `single-client`, which makes all files available in only one |
| // tab. `multiple-client` opens a new tab for each file. |
| DOMString? launch_type; |
| }; |
| |
| dictionary ManifestKeys { |
| // File Handlers to register onto the target system. |
| FileHandler[] file_handlers; |
| }; |
| }; |