Manifesto - gerenciadores de arquivos

Usado por apps empacotados para especificar os tipos de arquivos que o app pode processar. Um app pode ter vários file_handlers, com cada um com um identificador, uma lista de tipos MIME e/ou uma lista de extensões de arquivo que podem ser manipuladas. O app pode processar um arquivo se ele tiver um arquivo correspondente extensão ou tiver um tipo MIME correspondente. O app também pode processar diretórios se include_directories está definido. É possível usar um caractere curinga "*" em types ou extensions para indicar que o app pode processar qualquer tipo de arquivo ou "_type_/*" em types para indicar que o app pode processar qualquer arquivo com um MIME tipo de _type_. Veja um exemplo de especificação de gerenciadores de arquivos:

"file_handlers": {
  "text": {
    "types": [
      "text/*"
    ],
  },
  "image": {
    "types": [
      "image/png",
      "image/jpeg"
    ],
    "extensions": [
      "tiff"
    ],
  },
  "any": {
    "extensions": [
      "*",
      "include_directories": true
    ],
  }
}

Para processar arquivos ou diretórios, os apps também precisam declarar a permissão fileSystem. Os apps podem receber arquivos ou diretórios no evento app.runtime.onLaunched, de qualquer gerenciador de arquivos do sistema (atualmente compatível apenas com o ChromeOS) ou fornecendo um caminho no comando linha.