chrome.fileSystemProvider

説明

chrome.fileSystemProvider API を使用すると、ファイル システムを作成し、そのファイル システムに Chrome OS のファイル マネージャからアクセスできます。

権限

fileSystemProvider

対象

ChromeOS のみ

File System Provider API を使用するには、拡張機能マニフェストで「fileSystemProvider」権限とセクションを宣言する必要があります。次に例を示します。

{
  "name": "My extension",
  ...
  "permissions": [
    "fileSystemProvider"
  ],
  ...
  "file_system_provider_capabilities": {
    "configurable": true,
    "watchable": false,
    "multiple_mounts": true,
    "source": "network"
  },
  ...
}

file_system_provider セクションは次のように宣言する必要があります。

configurable(ブール値) - 省略可
onConfigureRequested による構成がサポートされているかどうか。デフォルト: false。
multiple_mounts(ブール値) - 省略可
マウントされた複数の(2 つ以上の)ファイル システムがサポートされているかどうか。デフォルト: false。
watchable(ブール値) - 省略可
ウォッチャーの設定と変更の通知がサポートされているかどうか。デフォルト: false。
source(「file」、「device」、「network」の列挙型) - 必須
マウントされたファイル システムのデータのソース。

ファイル アプリは、関連する UI 要素を適切にレンダリングするために上記の情報を使用します。たとえば、configurable が true に設定されている場合、音量を構成するためのメニュー項目がレンダリングされます。同様に、multiple_mountstrue に設定されている場合、ファイル アプリでは UI から複数のマウント ポイントを追加できます。watchablefalse の場合、更新ボタンがレンダリングされます。可能であれば、ファイル システムの変更が直ちに自動的に反映されるように、ウォッチャーのサポートを追加する必要があります。

概要

File System Provider API を使用すると、拡張機能で仮想ファイル システムをサポートできます。この仮想ファイル システムは ChromeOS のファイル マネージャーで利用できます。ユースケースには、アーカイブの解凍や、ドライブ以外のクラウド サービス内のファイルへのアクセスなどがあります。

ファイル システムをマウントする

拡張機能を提供する側は、外部ソース(リモート サーバーや USB デバイスなど)からファイル システムの内容を提供するか、ローカル ファイル(アーカイブなど)を入力として使用します。

ファイル ハンドラ(ソースは "file")であるファイル システムを書き込むには、プロバイダはパッケージ化されたアプリである必要があります。これは、拡張機能では onLaunched イベントを利用できないためです。

ソースがネットワークまたはデバイスの場合、onMountRequested イベントが呼び出されたときにファイル システムをマウントする必要があります。

ファイル システム データのソース エントリ ポイント
"file" パッケージ アプリでのみ使用できます。
"device" または "network" onMountRequested

ファイル システムを構成する

マウントされたファイル システムは、onConfigureRequested イベントを介して構成できます。適切な認証情報を設定するために、ネットワーク経由でコンテンツを提供するファイル システムで特に便利です。このイベントの処理は省略可能です。

ライフサイクル

マウントされたファイル システムは Chrome によって記憶され、再起動または再開後に自動的に再マウントされます。したがって、プロバイダ拡張機能によってファイル システムがマウントされると、拡張機能がアンロードされるか、拡張機能がアンマウント メソッドを呼び出すまで、マウントされたままになります。

AbortRequestedOptions

プロパティ

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • operationRequestId

    数値

    中止するリクエストの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

Action

Chrome 45 以降

プロパティ

  • id

    文字列

    アクションの識別子。一般的なアクションの任意の文字列または CommonActionId

  • title

    文字列 省略可

    アクションのタイトル。一般的なアクションでは無視されることがあります。

AddWatcherRequestedOptions

プロパティ

  • entryPath

    文字列

    監視するエントリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • recursive

    ブール値

    再帰的にすべての子エントリを監視に含めるかどうか。ディレクトリの場合にのみ true になります。

  • requestId

    数値

    このリクエストの一意の識別子。

Change

プロパティ

  • changeType

    エントリに発生した変更のタイプ。

  • cloudFileInfo

    CloudFileInfo 省略可

    Chrome 125 以降

    クラウド ファイル システムでバックアップされたファイルに関する情報。

  • entryPath

    文字列

    変更されたエントリのパス。

ChangeType

監視対象ディレクトリで検出された変更のタイプ。

列挙型

"CHANGED"

"DELETED"

CloseFileRequestedOptions

プロパティ

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • openRequestId

    数値

    ファイルを開くために使用されるリクエスト ID。

  • requestId

    数値

    このリクエストの一意の識別子。

CloudFileInfo

Chrome 125 以降

プロパティ

  • versionTag

    文字列 省略可

    ファイルのバージョンを表すタグ。

CloudIdentifier

Chrome 117 以降

プロパティ

  • id

    文字列

    指定されたファイル/ディレクトリのプロバイダの識別子。

  • providerName

    文字列

    クラウド ストレージ プロバイダの識別子(「drive.google.com」など)。

CommonActionId

Chrome 45 以降

一般的なアクションのリスト。"SHARE" は、他のユーザーとファイルを共有するためのものです。"SAVE_FOR_OFFLINE": ピン留め(オフライン アクセス用に保存)"OFFLINE_NOT_NECESSARY": ファイルをオフライン アクセス用に保存する必要がなくなったことを通知します。onGetActionsRequestedonExecuteActionRequested で使用されます。

列挙型

「SAVE_FOR_OFFLINE」

"OFFLINE_NOT_NECESSARY"

[SHARE](共有)

ConfigureRequestedOptions

Chrome 44 以降

プロパティ

  • fileSystemId

    文字列

    構成するファイル システムの識別子。

  • requestId

    数値

    このリクエストの一意の識別子。

CopyEntryRequestedOptions

プロパティ

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

  • sourcePath

    文字列

    コピーするエントリのソースパス。

  • targetPath

    文字列

    コピー オペレーションの宛先パス。

CreateDirectoryRequestedOptions

プロパティ

  • directoryPath

    文字列

    作成するディレクトリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • recursive

    ブール値

    オペレーションが再帰的かどうか(ディレクトリの場合のみ)。

  • requestId

    数値

    このリクエストの一意の識別子。

CreateFileRequestedOptions

プロパティ

  • filePath

    文字列

    作成するファイルのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

DeleteEntryRequestedOptions

プロパティ

  • entryPath

    文字列

    削除するエントリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • recursive

    ブール値

    オペレーションが再帰的かどうか(ディレクトリの場合のみ)。

  • requestId

    数値

    このリクエストの一意の識別子。

EntryMetadata

プロパティ

  • cloudFileInfo

    CloudFileInfo 省略可

    Chrome 125 以降

    基盤となるクラウド ファイル システム内の特定のファイルを識別する情報。options でリクエストされ、ファイルがクラウド ストレージでバックアップされている場合は、指定する必要があります。

  • cloudIdentifier

    CloudIdentifier 省略可

    Chrome 117 以降

    このエントリの Cloud Storage 表現。options でリクエストされ、ファイルがクラウド ストレージでバックアップされている場合は、指定する必要があります。クラウド ストレージでバックアップされていないローカル ファイルの場合、リクエストされたときに未定義である必要があります。

  • isDirectory

    ブール値(省略可)

    ディレクトリの場合は true。options でリクエストされている場合は、指定する必要があります。

  • mimeType

    文字列 省略可

    エントリの MIME タイプ。常に省略可能ですが、options でリクエストされた場合は指定する必要があります。

  • modificationTime

    日付 省略可

    このエントリの最終更新日時。options でリクエストされている場合は、指定する必要があります。

  • name

    文字列 省略可

    このエントリの名前(完全なパス名ではありません)。「/」を含めることはできません。ルートの場合は空にする必要があります。options でリクエストされている場合は、指定する必要があります。

  • サイズ

    number 省略可

    ファイルサイズ(バイト単位)。options でリクエストされている場合は、指定する必要があります。

  • サムネイル

    文字列 省略可

    サムネイル画像。PNG、JPEG、WEBP のいずれかの形式のデータ URI で、サイズは最大 32 KB。省略可。ただし、onGetMetadataRequested イベントで明示的にリクエストされた場合にのみ提供できます。

ExecuteActionRequestedOptions

Chrome 45 以降

プロパティ

  • actionId

    文字列

    実行するアクションの識別子。

  • entryPaths

    string[]

    Chrome 47 以降

    アクションに使用するエントリのパスのセット。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

FileSystemInfo

プロパティ

  • displayName

    文字列

    人が読める形式のファイル システムの名前。

  • fileSystemId

    文字列

    ファイル システムの識別子。

  • openedFiles

    現在開いているファイルの一覧。

  • openedFilesLimit

    数値

    一度に開くことができるファイルの最大数。0 の場合、制限はありません。

  • supportsNotifyTag

    ブール値(省略可)

    Chrome 45 以降

    ファイル システムがディレクトリの監視用の tag フィールドをサポートしているかどうか。

  • ウォッチャー
    Chrome 45 以降

    ウォッチャーのリスト。

  • 書き込み可能

    ブール値

    ファイル システムが、ファイル システムの内容を変更する可能性のあるオペレーション(ファイルの作成、削除、書き込みなど)をサポートしているかどうか。

GetActionsRequestedOptions

Chrome 45 以降

プロパティ

  • entryPaths

    string[]

    Chrome 47 以降

    アクションのリストのエントリのパスのリスト。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

GetMetadataRequestedOptions

プロパティ

  • cloudFileInfo

    ブール値

    Chrome 125 以降

    cloudFileInfo 値がリクエストされた場合は true に設定します。

  • cloudIdentifier

    ブール値

    Chrome 117 以降

    cloudIdentifier 値がリクエストされた場合は true に設定します。

  • entryPath

    文字列

    メタデータを取得するエントリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • isDirectory

    ブール値

    Chrome 49 以降

    is_directory 値がリクエストされた場合は true に設定します。

  • mimeType

    ブール値

    Chrome 49 以降

    mimeType 値がリクエストされた場合は true に設定します。

  • modificationTime

    ブール値

    Chrome 49 以降

    modificationTime 値がリクエストされた場合は true に設定します。

  • name

    ブール値

    Chrome 49 以降

    name 値がリクエストされた場合は true に設定します。

  • requestId

    数値

    このリクエストの一意の識別子。

  • サイズ

    ブール値

    Chrome 49 以降

    size 値がリクエストされた場合は true に設定します。

  • サムネイル

    ブール値

    thumbnail 値がリクエストされた場合は true に設定します。

MountOptions

プロパティ

  • displayName

    文字列

    人が読める形式のファイル システムの名前。

  • fileSystemId

    文字列

    ファイル システムの文字列識別子。拡張機能ごとに一意である必要があります。

  • openedFilesLimit

    number 省略可

    一度に開くことができるファイルの最大数。指定しない場合、または 0 の場合は、制限されません。

  • 永続

    ブール値(省略可)

    Chrome 64 以降

    フレームワークが次のログイン セッションでファイル システムを再開するかどうか。デフォルトでは True です。

  • supportsNotifyTag

    ブール値(省略可)

    Chrome 45 以降

    ファイル システムが監視対象ディレクトリの tag フィールドをサポートしているかどうか。

  • 書き込み可能

    ブール値(省略可)

    ファイル システムが、ファイル システムの内容を変更する可能性のあるオペレーション(ファイルの作成、削除、書き込みなど)をサポートしているかどうか。

MoveEntryRequestedOptions

プロパティ

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

  • sourcePath

    文字列

    新しい場所に移動するエントリのソースパス。

  • targetPath

    文字列

    コピー オペレーションの宛先パス。

NotifyOptions

プロパティ

  • changeType

    監視対象のエントリに発生した変更のタイプ。DELETED の場合、監視対象のエントリは監視対象のエントリのリストから自動的に削除されます。

  • 変更

    Change[] 省略可

    監視対象ディレクトリ内のエントリ(エントリ自体を含む)に対する変更のリスト

  • fileSystemId

    文字列

    この変更に関連するファイル システムの識別子。

  • observedPath

    文字列

    モニタリングされているエントリのパス。

  • recursive

    ブール値

    モニタリングされているエントリのモード。

  • タグ

    文字列 省略可

    通知のタグ。ファイル システムが supportsNotifyTag オプションでマウントされている場合は必須です。このフラグは、システムがシャットダウンされた場合でも変更に関する通知を提供するために必要です。

OpenedFile

プロパティ

  • filePath

    文字列

    開いたファイルのパス。

  • モード

    ファイルが読み取り用に開かれたか、書き込み用に開かれたか。

  • openRequestId

    数値

    連続する読み取り/書き込みリクエストとクローズ リクエストで使用されるリクエスト ID。

OpenFileMode

ファイルを開くモード。onOpenFileRequested によって使用されます。

列挙型

"READ"

"WRITE"

OpenFileRequestedOptions

プロパティ

  • filePath

    文字列

    開くファイルのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • モード

    ファイルが読み取りと書き込みのどちらに使用されるか。

  • requestId

    数値

    連続する読み取り/書き込みリクエストとクローズ リクエストで使用されるリクエスト ID。

ProviderError

リクエストに対するレスポンスで拡張機能を提供する場合や、API のメソッドを呼び出す際にエラーが発生した場合に使用されるエラーコード。成功させるには、"OK" を使用する必要があります。

列挙型

「OK」

"FAILED"

"IN_USE"

"EXISTS"

"NOT_FOUND"

"ACCESS_DENIED"

"TOO_MANY_OPENED"

"NO_MEMORY"

"NO_SPACE"

"NOT_A_DIRECTORY"

"INVALID_OPERATION"

"SECURITY"

"ABORT"

"NOT_A_FILE"

"NOT_EMPTY"

"INVALID_URL"

「IO」

ReadDirectoryRequestedOptions

プロパティ

  • directoryPath

    文字列

    コンテンツがリクエストされたディレクトリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • isDirectory

    ブール値

    Chrome 49 以降

    is_directory 値がリクエストされた場合は true に設定します。

  • mimeType

    ブール値

    Chrome 49 以降

    mimeType 値がリクエストされた場合は true に設定します。

  • modificationTime

    ブール値

    Chrome 49 以降

    modificationTime 値がリクエストされた場合は true に設定します。

  • name

    ブール値

    Chrome 49 以降

    name 値がリクエストされた場合は true に設定します。

  • requestId

    数値

    このリクエストの一意の識別子。

  • サイズ

    ブール値

    Chrome 49 以降

    size 値がリクエストされた場合は true に設定します。

  • サムネイル

    ブール値

    Chrome 49 以降

    thumbnail 値がリクエストされた場合は true に設定します。

ReadFileRequestedOptions

プロパティ

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • 長さ

    数値

    返されるバイト数。

  • offset

    数値

    読み取りを開始するファイル内の位置(バイト単位)。

  • openRequestId

    数値

    ファイルを開くために使用されるリクエスト ID。

  • requestId

    数値

    このリクエストの一意の識別子。

RemoveWatcherRequestedOptions

プロパティ

  • entryPath

    文字列

    監視対象のエントリのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • recursive

    ブール値

    ウォッチャーのモード。

  • requestId

    数値

    このリクエストの一意の識別子。

TruncateRequestedOptions

プロパティ

  • filePath

    文字列

    切り捨てられるファイルのパス。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • 長さ

    数値

    オペレーションの完了後に保持されるバイト数。

  • requestId

    数値

    このリクエストの一意の識別子。

UnmountOptions

プロパティ

  • fileSystemId

    文字列

    マウント解除するファイル システムの ID。

UnmountRequestedOptions

プロパティ

  • fileSystemId

    文字列

    マウント解除するファイル システムの ID。

  • requestId

    数値

    このリクエストの一意の識別子。

Watcher

プロパティ

  • entryPath

    文字列

    監視対象のエントリのパス。

  • lastTag

    文字列 省略可

    ウォッチャーの最後の通知で使用されたタグ。

  • recursive

    ブール値

    再帰的にすべての子エントリを含めるかどうか。ディレクトリの場合にのみ true になります。

WriteFileRequestedOptions

プロパティ

  • データ

    ArrayBuffer

    ファイルに書き込まれるバイトのバッファ。

  • fileSystemId

    文字列

    このオペレーションに関連するファイル システムの ID。

  • offset

    数値

    バイトの書き込みを開始するファイル内の位置(バイト単位)。

  • openRequestId

    数値

    ファイルを開くために使用されるリクエスト ID。

  • requestId

    数値

    このリクエストの一意の識別子。

メソッド

get()

chrome.fileSystemProvider.get(
  fileSystemId: string,
)
: Promise<FileSystemInfo>

渡された fileSystemId を持つファイル システムに関する情報を返します。

パラメータ

  • fileSystemId

    文字列

戻り値

getAll()

chrome.fileSystemProvider.getAll(): Promise<FileSystemInfo[]>

拡張機能によってマウントされたすべてのファイル システムを返します。

戻り値

mount()

chrome.fileSystemProvider.mount(
  options: MountOptions,
)
: Promise<void>

指定された fileSystemIddisplayName でファイル システムをマウントします。displayName はファイル アプリの左側のパネルに表示されます。displayName には「/」を含む任意の文字を含めることができますが、空の文字列にすることはできません。displayName は説明的である必要がありますが、一意である必要はありません。fileSystemId は空の文字列にできません。

マウントするファイル システムのタイプに応じて、source オプションを適切に設定する必要があります。

エラーが発生した場合は、runtime.lastError が対応するエラーコードで設定されます。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

notify()

Chrome 45 以降
chrome.fileSystemProvider.notify(
  options: NotifyOptions,
)
: Promise<void>

recursive モードで、監視対象ディレクトリの変更を observedPath で通知します。ファイル システムが supportsNotifyTag でマウントされている場合、tag を指定する必要があります。また、システムがシャットダウンされた場合でも、最後の通知以降のすべての変更が常に報告されます。最後のタグは getAll で取得できます。

使用するには、file_system_provider.notify マニフェスト オプションを true に設定する必要があります。

tag の値は呼び出しごとに一意の任意の文字列にできるため、最後に登録された通知を識別できます。たとえば、提供側の拡張機能が再起動後に開始され、最後に登録された通知のタグが「123」と等しい場合、タグが「123」とされた変更以降に発生したすべての変更に対して notify を呼び出す必要があります。空の文字列は使用できません。

すべてのプロバイダがタグを提供できるわけではありませんが、ファイル システムに変更ログがある場合、タグは変更番号やリビジョン番号などになります。

親ディレクトリが削除されると、すべての子孫エントリも削除されます。監視されている場合は、API にその事実を通知する必要があります。また、ディレクトリの名前が変更されると、元のパスの下にエントリがなくなるため、実際にはすべての子孫エントリが削除されます。

エラーが発生した場合、runtime.lastError に対応するエラーコードが設定されます。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

unmount()

chrome.fileSystemProvider.unmount(
  options: UnmountOptions,
)
: Promise<void>

指定された fileSystemId を使用してファイル システムのマウントを解除します。onUnmountRequested が呼び出された後に呼び出す必要があります。また、提供側の拡張機能は、リクエストがない場合でも(接続の切断やファイル エラーなど)、マウント解除を実行できます。

エラーが発生した場合は、runtime.lastError が対応するエラーコードで設定されます。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

イベント

onAbortRequested

chrome.fileSystemProvider.onAbortRequested.addListener(
  callback: function,
)

operationRequestId を使用してオペレーションの中止がリクエストされた場合に発生します。operationRequestId で実行されたオペレーションは直ちに停止し、この中止リクエストの successCallback が実行される必要があります。中止に失敗した場合は、errorCallback を呼び出す必要があります。中止されたオペレーションのコールバックは無視されるため、呼び出す必要はありません。errorCallback を呼び出しても、リクエストが強制的に中止されることがあります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onAddWatcherRequested

Chrome 45 以降
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
  callback: function,
)

新しいディレクトリ ウォッチャーの設定がリクエストされたときに発生します。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onCloseFileRequested

chrome.fileSystemProvider.onCloseFileRequested.addListener(
  callback: function,
)

openRequestId で以前に開いたファイルを閉じるリクエストがあった場合に発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onConfigureRequested

Chrome 44 以降
chrome.fileSystemProvider.onConfigureRequested.addListener(
  callback: function,
)

fileSystemId の構成ダイアログの表示がリクエストされたときに発生します。処理される場合、file_system_provider.configurable マニフェスト オプションを true に設定する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onCopyEntryRequested

chrome.fileSystemProvider.onCopyEntryRequested.addListener(
  callback: function,
)

エントリのコピー(ディレクトリの場合は再帰的)がリクエストされたときに発生します。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onCreateDirectoryRequested

chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
  callback: function,
)

ディレクトリの作成がリクエストされたときに発生します。ターゲット ディレクトリがすでに存在する場合、オペレーションは EXISTS エラーで失敗する必要があります。recursive が true の場合、ディレクトリ パスに存在しないディレクトリはすべて作成する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onCreateFileRequested

chrome.fileSystemProvider.onCreateFileRequested.addListener(
  callback: function,
)

ファイルの作成がリクエストされたときに発生します。ファイルがすでに存在する場合は、"EXISTS" エラーコードを指定して errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onDeleteEntryRequested

chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
  callback: function,
)

エントリの削除がリクエストされたときに発生します。recursive が true で、エントリがディレクトリの場合、内部のすべてのエントリも再帰的に削除する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onExecuteActionRequested

Chrome 48 以降
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
  callback: function,
)

ファイルまたはディレクトリのセットに対するアクションの実行がリクエストされた場合に発生します。アクションが完了したら、successCallback を呼び出す必要があります。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onGetActionsRequested

Chrome 48 以降
chrome.fileSystemProvider.onGetActionsRequested.addListener(
  callback: function,
)

entryPaths のファイルまたはディレクトリのセットに対するアクションのリストがリクエストされた場合に発生します。返されるアクションはすべて、各エントリに適用できる必要があります。そのようなアクションがない場合は、空の配列を返す必要があります。アクションは successCallback 呼び出しで返される必要があります。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void

onGetMetadataRequested

chrome.fileSystemProvider.onGetMetadataRequested.addListener(
  callback: function,
)

entryPath のファイルまたはディレクトリのメタデータがリクエストされた場合に発生します。メタデータは successCallback 呼び出しで返される必要があります。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

onMountRequested

Chrome 44 以降
chrome.fileSystemProvider.onMountRequested.addListener(
  callback: function,
)

新しいファイル システムのマウントに関するダイアログの表示がリクエストされたときに発生します。拡張機能/アプリがファイル ハンドラの場合、このイベントは処理されません。代わりに、ファイルを開いたときに新しいファイル システムをマウントするために app.runtime.onLaunched を処理する必要があります。複数のマウントの場合、file_system_provider.multiple_mounts マニフェスト オプションを true に設定する必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (successCallback: function, errorCallback: function) => void

    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onMoveEntryRequested

chrome.fileSystemProvider.onMoveEntryRequested.addListener(
  callback: function,
)

エントリの移動(ディレクトリの場合は再帰的に)がリクエストされた場合に発生します。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onOpenFileRequested

chrome.fileSystemProvider.onOpenFileRequested.addListener(
  callback: function,
)

filePath でファイルを開くことがリクエストされた場合に発生します。ファイルが存在しない場合、オペレーションは失敗する必要があります。一度に開くファイルの最大数は MountOptions で指定できます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void

onReadDirectoryRequested

chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
  callback: function,
)

directoryPath のディレクトリの内容がリクエストされた場合に発生します。結果は、successCallback を複数回呼び出してチャンク単位で返す必要があります。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void

onReadFileRequested

chrome.fileSystemProvider.onReadFileRequested.addListener(
  callback: function,
)

openRequestId で以前に開いたファイルの内容の読み取りがリクエストされた場合に発生します。結果は、successCallback を複数回呼び出してチャンクで返す必要があります。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      (data: ArrayBuffer, hasMore: boolean) => void

      • データ

        ArrayBuffer

      • hasMore

        ブール値

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onRemoveWatcherRequested

Chrome 45 以降
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
  callback: function,
)

ウォッチャーを削除する必要がある場合に発生します。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onTruncateRequested

chrome.fileSystemProvider.onTruncateRequested.addListener(
  callback: function,
)

ファイルを目的の長さに切り詰めるリクエストがあった場合に発生します。エラーが発生した場合は、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onUnmountRequested

chrome.fileSystemProvider.onUnmountRequested.addListener(
  callback: function,
)

fileSystemId 識別子を持つファイル システムのアンマウントがリクエストされた場合に発生します。レスポンスでは、unmount API メソッドを successCallback とともに呼び出す必要があります。マウント解除ができない場合(保留中のオペレーションがある場合など)、errorCallback を呼び出す必要があります。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void

onWriteFileRequested

chrome.fileSystemProvider.onWriteFileRequested.addListener(
  callback: function,
)

openRequestId で以前に開いたファイルにコンテンツを書き込むリクエストがあった場合に発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • オプション
    • successCallback

      関数

      successCallback パラメータは次のようになります。

      () => void

    • errorCallback

      関数

      errorCallback パラメータは次のようになります。

      (error: ProviderError) => void