chrome拡張機能:ダウンロード時にシェルフを表示させない


manifest.jsonpermissionsdownloads.shelfを追加した上で、chrome.downloads.setShelfEnabled(false)を実行する。(downloadsとは別なので注意。)

manifest.json
{
  "permissions": [
    "downloads",
    "downloads.shelf"
  ]
}
background.js
chrome.downloads.setShelfEnabled(false);
  • この設定は Chrome 全体におよぶので、他の拡張はおろかユーザーの個別ダウンロードでもシェルフが表示されなくなる。
  • 他の拡張が無効にしたシェルフを有効に変更しようとすると、エラーが発生する。
  • シェルフが表示されている状態で無効にすると、シェルフが引っ込む。
  • set はあるが get はないので、現在の状態を確認する方法はない。
  • ダウンロード後に戻す場合、戻すのが早すぎるとシェルフが表示されてしまう。ダウンロード開始前に無効にし、ダウンロード完了後に有効に戻すといった細かい制御は難しい模様。