recursal/MDN huggingface dataset:
omnibox
=======

拡張機能に、ユーザーがアドレスバーに入力した時のカスタマイズされた振る舞いを有効にします。

ユーザーがブラウザーのアドレスバーにフォーカスした時、ブラウザーは、タイプした内容に応じたサジェストページを含んだドロップダウンリストを表示します。これはユーザーにとって、例えば履歴やブックマークからのページにすぐにアクセスできる方法を与えます。

omnibox API は、ユーザーが拡張機能で定義されたキーワードを入力した時に、ドロップダウンに表示されるサジェストを拡張機能がカスタマイズする方法を提供します。これは下記のように動作します:

1. まず、拡張機能は manifest.json ファイルに "omnibox" キーを入れないといけません、ここでキーワードを定義します。
2. ユーザーがアドレスバーにフォーカスしてキーワードに続いてスペースをタイプした時、拡張機能は `omnibox.onInputStarted` (en-US) イベントを受け取ります。
3. オプションとして、拡張機能は `omnibox.setDefaultSuggestion()` (en-US) を呼んでアドレスバーのドロップダウンに最初に表示されるサジェストを定義します。
4. ユーザーがこの後にも文字をタイプし続けると、拡張機能は `omnibox.onInputChanged` (en-US) イベントを受け取ります。イベントリスナーはユーザーがタイプした現在の値を受けて、アドレスバーのドロップダウンにサジェストを生成できます。拡張機能が `omnibox.setDefaultSuggestion()` (en-US) を使ったデフォルトのサジェストをセットした場合、これがドロップダウンの最初に出てきます。
5. ユーザーがサジェストを受け入れたら、拡張機能は `omnibox.onInputEntered` (en-US) イベントを受け取ります。イベントリスナーは受け入れられたサジェストを受け取ります。
6. ユーザーがドロップダウンを止めたら、拡張機能は `omnibox.onInputCancelled` (en-US) イベントを受け取ります。
型
-

`omnibox.OnInputEnteredDisposition` (en-US)

Describes the recommended method to handle the selected suggestion: open in the current tab, open in a new foreground tab, or open in a new background tab.

`omnibox.SuggestResult` (en-US)

Object representing a suggestion to add to the address bar drop-down.

関数
--

`omnibox.setDefaultSuggestion()` (en-US)

Defines the first suggestion that appears in the drop-down when the user enters the keyword for your extension, followed by a space.

イベント
----

`omnibox.onInputStarted` (en-US)

Fired when a the user focuses the address bar and types your extension's omnibox keyword, followed by a space.

`omnibox.onInputChanged` (en-US)

Fired whenever the user's input changes, after they have focused the address bar and typed your extension's omnibox keyword, followed by a space.

`omnibox.onInputEntered` (en-US)

Fired when the user accepts one of your extension's suggestions.

`omnibox.onInputCancelled` (en-US)

Fired when the user dismisses the address bar drop-down, after they have focused the address bar and typed your extension's omnibox keyword.

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* firefox-code-search

**メモ:** This API is based on Chromium's `chrome.omnibox` API.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
topSites
========

topSites API を使うと、ユーザーがよく訪れるページをを含む配列を取得できます。

ブラウザーはユーザーがこれらの場所に簡単に戻れるようにこれを維持します。Firefox では既定で「新しいタブ」ページには最もよく訪れるページのリストが提供されます。

topSites API を使うには "topSites" の API パーミッション必要です。

型
-

`topSites.MostVisitedURL` (en-US)

ウェブサイトのタイトルと URL を含むオブジェクト。

Methods
-------

`topSites.get()` (en-US)

ブラウザーの「新しいタブ」ページに載っているすべてのサイトの配列を取得します。ここで返されるサイトの数はブラウザー固有であり、返されるサイトは、ブラウザー履歴に基づいてユーザー固有であることに注意してください。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* top-sites

**メモ:** This API is based on Chromium's `chrome.topSites` API.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
browserAction
=============

ブラウザーのツールバーにボタンを追加します。

ブラウザーアクション (en-US)はブラウザーのツールバー内のボタンです。

これをボタンつきポップアップと関連付けられます。ポップアップは通常のウェブページ同様に、HTML, CSS, JavaScript を使って指定できます。ポップアップの中で動く JavaScript はバックグラウンドスクリプトとすべて同じ WebExtension API にアクセスできますが、グローバルコンテキストはブラウザーに表示される現在のページではなく、ポップアップになります。ウェブページに影響するには messages 経由で通信する必要があります。

ユーザーがアイコンをクリックした時に、ポップアップを指定していると、表示され — そしてコンテンツが読み込まれるでしょう 。ポップアップを指定していない時は、ユーザーがアイコンをクリックした時、拡張機能にイベントがディスパッチされます。

たいていのブラウザーアクションのプロパティは、manifest.json 内の `browser_action` キーを用いて宣言的に定義できます。

`browserAction` API では、次が可能です:

* `browserAction.onClicked` を使ってアイコンのクリックをリッスンする
* アイコンのプロパティ — アイコン、タイトル、ポップアップなど、の取得、設定。これはすべてのタブを通してグローバルにも、またはタブの ID を追加引数で渡すことで特定のタブだけにも取得、設定できます。
型
-

`browserAction.ColorArray`

RGBA 色を決める 0-255 の範囲の 4 整数の配列

`browserAction.ImageDataType` (en-US)

画像のピクセルデータ。`ImageData` オブジェクト (例えば `<canvas>` 要素から) でないといけない。

関数
--

`browserAction.setTitle()` (en-US)

ブラウザーアクションのタイトルをセットする。ツールチップに表示される。

`browserAction.getTitle()` (en-US)

ブラウザーアクションのタイトルを取得します。

`browserAction.setIcon()` (en-US)

ブラウザーアクションのアイコンをセットします。

`browserAction.setPopup()` (en-US)

ユーザーがブラウザーアクションのアイコンをクリックした時に表示されるポップアップの HTML 文書をセットします。

`browserAction.getPopup()` (en-US)

ブラウザーアクションのポップアップとしてセットされた HTML 文書を取得します。

`browserAction.openPopup()` (en-US)

ブラウザーアクションのポップアップを開きます。

`browserAction.setBadgeText()` (en-US)

ブラウザーアクションのバッジテキストをセットします。バッジはアイコンの上部に表示されます。

`browserAction.getBadgeText()` (en-US)

ブラウザーアクションのバッジのテキストを取得します。

`browserAction.setBadgeBackgroundColor()` (en-US)

バッジの背景色を指定します。

`browserAction.getBadgeBackgroundColor()` (en-US)

バッジの背景色を取得します。

`browserAction.enable()` (en-US)

タブのブラウザーアクションを有効にします。既定では、ブラウザーアクションはすべてのタブで有効です。

`browserAction.disable()`

タブのブラウザーアクションを無効にします。つまりタブがアクティブでもクリックできません。

`browserAction.isEnabled()` (en-US)

ブラウザーアクションが有効か否かをチェックします。

イベント
----

`browserAction.onClicked`

ブラウザーアクションがクリックされた時に発火します。このイベントはブラウザーアクションがポップアップ付きでない場合は発火しません。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* bookmark-it
* favourite-colour
* find-across-tabs
* forget-it
* google-userinfo
* native-messaging
* open-my-page-button
* permissions
* runtime-examples
* store-collected-images
* tabs-tabs-tabs

**メモ:** この API は Chromium の `chrome.browserAction` API に基づいています。この文書は Chromium コードの `browser_action.json` から得ています。Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。
idle
====

ユーザーのシステムがアイドル状態、ロックされた状態、アクティブな状態であるのを発見します。

この API を使うには "idle" パーミッションが必要です。

型
-

`idle.IdleState` (en-US)

端末のアイドル状態を記す文字列

関数
--

`idle.queryState()` (en-US)

システムがロックされたら `"locked"` を、ユーザーが指定した時間の間に何も入力しない場合は `"idle"` を、その他では `"active"` を返す。

`idle.setDetectionInterval()` (en-US)

`idle.onStateChanged` (en-US) イベントでシステムがアイドル状態であると決定する間隔をセットします。

イベント
----

`idle.onStateChanged` (en-US)

システム状態が変化したら発火します。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**メモ:** This API is based on Chromium's `chrome.idle` API. This documentation is derived from `idle.json` in the Chromium code.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
devtools
========

拡張機能がブラウザーの開発者ツールと対話することを可能にします。この API を使用して、開発者ツールのページを作成したり、検査対象のウィンドウと対話したり、ページのネットワーク使用状況を検査したりすることができます。

この API を使用するには、 `"devtools"` API 権限が manifest.json ファイルで指定されている必要があります。この権限はオプションの権限ではありません。

プロパティ
-----

`devtools.inspectedWindow`

開発者ツールが接続されているウィンドウ（検査されるウィンドウ）と対話します。これには、検査されたページのタブ ID の取得、検査されたウィンドウのコンテキストでのコードの評価、ページの再読み込み、ページ内のリソース一覧の取得などが記載されています。

`devtools.network`

開発者ツールが接続されているウィンドウ（インスペクトウィンドウ）に関連するネットワークリクエストの情報を取得します。

`devtools.panels`

ユーザーエージェント開発者ツール内に表示されるユーザーインターフェースパネルを作成します。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**メモ:** この API は Chromium の `chrome.devtools` API に基づいています。

Microsoft Edge の互換性データは、 Microsoft Corporation によって提供され、 Creative Commons Attribution 3.0 United States License の下でここに記載されています。
theme
=====

ブラウザー拡張機能がブラウザーのテーマを更新できるようにします。

この API を使用するには、拡張機能の manifest.json ファイルで "theme" パーミッション を要求しなければなりません。

**メモ:** バックグランドファイルでテーマをセットアップする場合、'theme' パーミッションを宣言しなければなりません。さもなければ、manifest の theme 関数を使用できません。

型
-

`theme.Theme` (en-US)

テーマのコンテンツを表します。

関数
--

`theme.getCurrent()` (en-US)

現在のブラウザーテーマを取得します。

`theme.update()` (en-US)

ブラウザーのテーマを更新します。

`theme.reset()` (en-US)

`theme.update()` (en-US) の呼び出しで更新されたテーマをすべて削除します。

イベント
----

`theme.onUpdated` (en-US)

ブラウザーテーマが変更された時に発火。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* dynamic-theme
* private-browsing-theme
* theme-integrated-sidebar
sidebarAction
=============

拡張機能のサイドバーのプロパティを取得、設定します。

サイドバー (en-US) はブラウザーウィンドウのウェブページの隣の、右側か左側にあるペインです。ブラウザーはユーザーが利用できるサイドバーを見て、表示するサイドバーを選択できる UI を提供します。manifest.json の `sidebar_action` キーを使って、拡張機能は自身のサイドバーを定義できます。ここで述べる `sidebarAction` API を使って、拡張機能はサイドバーのプロパティを設定、取得できます。

`sidebarAction` API は `browserAction` API と緊密にモデリングされています。

sidebarAction API は Opera の sidebarAction API を元にしていますが、次のものはサポートされていません: `setBadgeText()`, `getBadgeText()`, `setBadgeBackgroundColor()`, `getBadgeBackgroundColor()`, `onFocus`, `onBlur`.

型
-

`sidebarAction.ImageDataType` (en-US)

画像のピクセルデータ。`ImageData` オブジェクト (例えば、`<canvas>` 要素からのもの)でなければならない。

関数
--

`sidebarAction.setPanel()` (en-US)

サイドバーのバネルを設定します。

`sidebarAction.getPanel()` (en-US)

サイドバーのバネルを取得します。

`sidebarAction.setTitle()` (en-US)

サイドバーのタイトルを設定します。これはブラウザーがサイドバーを一覧するあらゆる UI、例えばメニューに表示されます。

`sidebarAction.getTitle()` (en-US)

サイドバーのタイトルを取得します。

`sidebarAction.setIcon()` (en-US)

サイドバーのアイコンを設定します。

`sidebarAction.open()` (en-US)

サイドバーを開きます。

`sidebarAction.close()` (en-US)

サイドバーを閉じます。

`sidebarAction.isOpen()` (en-US)

サイドバーが開いているか否かをチェックします。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

add-ons の例
----------

* annotate-page

**メモ:** This API is based on Opera's `chrome.sidebarAction` API.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
downloads
=========

拡張機能にブラウザーのダウンロードマネージャーとのやりとりを可能にします。この API モジュールを、ファイルマネージャーでのファイルのダウンロード、キャンセル、停止、ダウンロードの再開、ダウンロード済みのファイルの表示に使用できます。

この API を使うには manifest.json ファイルで指定する "downloads" API パーミッションが必要です。

型
-

`downloads.FilenameConflictAction` (en-US)

ダウンロードされたファイル名が既存ファイルと衝突する場合の動作オプション定義

`downloads.InterruptReason` (en-US)

ダウンロードが中断された理由の集合を定義

`downloads.DangerType` (en-US)

ダウンロード可能なファイルに関連した想定される危険性への警告の集合を定義

`downloads.State` (en-US)

現在のダウンロードが取りうるさまざまな状態を定義

`downloads.DownloadItem` (en-US)

ダウンロード済みのファイルを表現する

`downloads.StringDelta` (en-US)

2 つの文字列の差異を表現する

`downloads.DoubleDelta` (en-US)

2 つの倍精度実数の差異を表現する

`downloads.BooleanDelta` (en-US)

2 つの真偽値の差異を表現する

`downloads.DownloadTime` (en-US)

ダウンロード完了にかかった時間を表現する

`downloads.DownloadQuery` (en-US)

ダウンロードマネージャーで特定のダウンロードを検索するのに使われるパラメーターを定義

関数
--

`downloads.download()`

URL とオプション設定を与えて、ファイルをダウンロードします

`downloads.search()` (en-US)

ブラウザーのダウンロードマネージャーで使える `DownloadItems` (en-US) に問い合わせて、指定した検索条件にマッチするものを返します

`downloads.pause()` (en-US)

ダウンロードを停止します

`downloads.resume()` (en-US)

停止したダウンロードを再開します

`downloads.cancel()` (en-US)

ダウンロードをキャンセルします

`downloads.getFileIcon()` (en-US)

指定したダウンロードのアイコンを取得します

`downloads.open()` (en-US)

関連付けられたアプリケーションでダウンロード済みのファイルを開きます

`downloads.show()` (en-US)

プラットフォームのファイルマネージャーアプリケーションを開いて、ダウンロードフォルダー内のファイルを表示します

`downloads.showDefaultFolder()` (en-US)

プラットフォームのファイルマネージャーアプリケーションを開いて、デフォルトのダウンロードフォルダーを表示します

`downloads.erase()` (en-US)

ダウンロード済みのファイルをディスクから消去することなく、ブラウザーのダウンロード履歴からマッチした `DownloadItems` (en-US) を消去します

`downloads.removeFile()` (en-US)

ブラウザーのダウンロード履歴ではなく、ダウンロード済みのファイルをディスクから消去します

`downloads.acceptDanger()` (en-US)

危険なダウンロードを受け入れるかキャンセルするかを、ユーザーに確認します

`downloads.drag()`

ダウンロード済みのファイルを他のアプリケーションにドラッグし始めます

`downloads.setShelfEnabled()` (en-US)

現在のブラウザープロファイルに関連するすぺてのウィンドウの下のグレーの棚を有効化/無効化します。この棚は少なくとも 1 つの拡張機能が無効化すると無効になります。

イベント
----

`downloads.onCreated` (en-US)

ダウンロード開始時に `DownloadItem` (en-US) オブジェクトと共に発火します

`downloads.onErased` (en-US)

ダウンロードが履歴から消去された時に `downloadId` と共に発火します

`downloads.onChanged` (en-US)

`bytesReceived` を除くいかなる `DownloadItem` (en-US) のプロパティが変わった時、このイベントは `downloadId` や変更したプロパティを含むオブジェクトと共に発火します

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* latest-download

**メモ:** この API は Chromium の `chrome.downloads` API に基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。
history
=======

ブラウザー履歴とやりとりする `history` API を使用します。

**メモ:** downloads は `HistoryItem` オブジェクトとして扱われるのに注意します。このため、ダウンロードのために `history.onVisited` (en-US) も発火します。

ブラウザー履歴はユーザーが訪れたページの時間順の記録です。history API では次の事ができます:

* ブラウザー履歴に出てくるページの検索
* ブラウザー履歴から個々のページを削除
* ブラウザー履歴にページを追加
* ブラウザー履歴から全ページを削除

しかしながら、ユーザーは１つのページを何度も訪問することがあるので、この API は「訪問数」の概念もあります。したがってこの API を次のようにも使えます:

* ユーザーが特定のページを訪問した完全なセットを取得する
* 所定の期間に訪問したあらゆるページの訪問を削除する

この API を使うには manifest.json ファイルで指定する "history" パーミッションが必要です。

型
-

`history.TransitionType` (en-US)

ブラウザーがあるページにどのように移動したのかを記述

`history.HistoryItem`

ブラウザー履歴のあるページに関する情報を提供

`history.VisitItem` (en-US)

ページへの単一の訪問を記述

関数
--

`history.search()` (en-US)

ブラウザー履歴を検索して、所与の条件にマッチする `history.HistoryItem` オブジェクトを得る

`history.getVisits()` (en-US)

所定のページへの訪問についての情報を取得する

`history.addUrl()` (en-US)

ブラウザー履歴に所定のページへの訪問のレコードを追加する

`history.deleteUrl()` (en-US)

ブラウザー履歴から 所定の URL へのすべての訪問を削除する

`history.deleteRange()` (en-US)

所定の時間範囲でユーザーが訪問したすべてのページを削除する

`history.deleteAll()` (en-US)

ブラウザー履歴からすべての訪問を削除する

イベント
----

`history.onTitleChanged` (en-US)

ユーザーがあるページに訪問してタイトルが記録された時に発火します

`history.onVisited` (en-US)

ユーザーがあるページに `history.HistoryItem` を提供しつつそのページを訪問した時に発火します

`history.onVisitRemoved` (en-US)

ある URL がブラウザー履歴から完全に削除された時に発火します

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* history-deleter

**メモ:** この API は Chromium の `chrome.history` API に基づいています。また、このドキュメントは `history.json` における Chromium のコードに基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。
i18n
====

拡張機能を国際化する関数です。これらの API は、拡張機能に同梱したロケールファイルからローカライズ文字列を取得したり、ブラウザーの現在の言語や、その Accept-Language ヘッダー を調べるために使用します。

拡張機能で i18n を使用するための詳細は、以下の記事を参照してください:

* 国際化拡張: WebExtension の i18n システムを使うためのガイド。
* ロケール固有のメッセージ参照: 拡張機能が `messages.json` と呼ばれるファイルで供給するロケール固有の文字列。このページは、`messages.json` の書式について書かれています。
型
-

`i18n.LanguageCode`

`"en-US"` や "`fr`" などの 言語タグ。

関数
--

`i18n.getAcceptLanguages()`

ブラウザーの accept-languages を取得します。これは、ブラウザーに使用されているロケールとは異なります。ロケールを取得するには、`i18n.getUILanguage` を使用してください。

`i18n.getMessage()`

指定したメッセージのローカライズ文字列を取得します。

`i18n.getUILanguage()`

ブラウザーの UI 言語を取得します。これは、優先されるユーザー言語を返す `i18n.getAcceptLanguages` とは異なります。

`i18n.detectLanguage()`

提供されたテキストの言語を Compact Language Detector を利用して検出します。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* menu-accesskey-visible
* menu-demo
* notify-link-clicks-i18n

**メモ:** この API は、Chromium の `chrome.i18n` API を基にしています。このドキュメンテーションは、Chromium コード内の `i18n.json` に由来しています。Microsoft Edge 互換性データは、Microsoft Corporation より供給され、Creative Commons Attribution 3.0 United States License の下で含まれています。
types
=====

ブラウザー設定を表すのに使われる `BrowserSetting` 型を定義します。

型
-

`types.BrowserSetting` (en-US)

ブラウザー設定を表現します。

ブラウザーの互換性
---------

**メモ:** This API is based on Chromium's `chrome.types` API.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
extension
=========

拡張機能に関連するユーティリティ。拡張機能のリソースパッケージの URL を取得したり、拡張機能のページの `Window` オブジェクトを取得したり、いろいろな設定の値を取得したりします。注意として、このモジュールのメッセージ APIs は非推奨で、 `runtime` モジュールの同様な API が好まれます。

型
-

`extension.ViewType` (en-US)

拡張機能ビューの型

プロパティ
-----

`extension.lastError` (en-US)

同期型の拡張機能 API がエラーに終わった場合のコールバックの寿命をセットします。エラーが起きなかったら lastError は *undefined*.になります。

`extension.inIncognitoContext` (en-US)

incognito タブ内でコンテンツスクリプトが実行されたり、 incognito プロセス内で拡張機能ページが実行されたら true になります。後者は 'split' incognito\_behavior の場合だけです。

関数
--

`extension.getURL()` (en-US)

拡張機能がインストールされたディレクトリーの相対パスを完全修飾 URL に変換する

`extension.getViews()` (en-US)

今の拡張機能内で実行されているページの `Window` オブジェクトを返す

`extension.getBackgroundPage()` (en-US)

今の拡張機能内で実行されているバックグラウンドページの `Window` オブジェクトを返す。拡張機能がバックグラウンドページを持たない場合は null を返す

`extension.isAllowedIncognitoAccess()` (en-US)

拡張機能が Incognito-モード (ユーザーが制御する 'Incognito を許可' のチェックボックスで定義される) にアクセスする状態を取得する

`extension.isAllowedFileSchemeAccess()` (en-US)

拡張機能が 'file://' スキーム(ユーザーが制御する 'File URLs のアクセスを許可' のチェックボックスで定義される) にアクセスする状態を取得する

`extension.setUpdateUrlData()` (en-US)

拡張機能の更新 URL 内で使われる ap CGI パラメーターをセットする。この値はブラウザーのベンダーストアでホストされる拡張機能では無視される

イベント
----

`extension.onRequest` (en-US)

拡張機能のプロセスかコンテンツスクリプトのいずれかからリクエストが送られた時に発火します

`extension.onRequestExternal` (en-US)

その他の拡張機能からリクエストが送られた時に発火します

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* beastify
* cookie-bg-picker
* find-across-tabs
* imagify
* notify-link-clicks-i18n
* proxy-blocker
* user-agent-rewriter

**メモ:** この API は Chromium の `chrome.extension` API に基づいています。また、このドキュメントは `extension.json`における Chromium のコードに基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。
permissions
===========

拡張機能のインストール後、実行時に特別なパーミッションの要求を可能にする。

拡張機能は強力な WebExtension API の多くにアクセスするパーミッション(アクセス権)を必要とします。manifest.json の `permissions` に必要なパーミッション記述することで、インストール時にユーザーに対しパーミッションを要求できます。インストール時にパーミッションを要求する主なメリットは次の通りです:

* ユーザーは一度のみアクセス権を要求されます。したがって、混乱しにくくシンプルに決断を下すことができます。
* 拡張機能は必要な時のみ API に頼ることが可能です。すでに動作していれば、アクセス権は付与されていることになります。

インストールした拡張機能のアクセス権の認証の見た目は、ユーザーにとってシンプルな GUI とは言えません。ユーザーは about:debugging のページを使用して、"この Firefox"ボタンから"拡張機能"のセクションに行き、参照するアドオンの"マニフェスト URL"のリンクを使用しなければなりません。 この URL は拡張機能で使用されている生の json ファイルへのリンクです。拡張機能の json ファイルは"permissions"ブロックを含み、これを確認することによってアドオンが使用しているアクセス権を確認することができます。

拡張機能は実行時に、permissions API によって追加のパーミッションを求めることができます.These permissions need to be listed in the `optional_permissions` manifest.json key. Note that some permissions are not allowed in `optional_permissions`. The main advantages of this are:

* the extension can run with a smaller set of permissions except when it actually needs them
* the extension can handle permission denial in a graceful manner instead of presenting the user with a global "all or nothing" choice at install time. You can still get a lot out of that map extension without giving it access to your location, for example.
* the extension may need host permissions, but not know at install time exactly which host permissions it needs. For example, the list of hosts may be a user setting. In this scenario, asking for a more specific range of hosts at runtime can be an alternative to asking for "<all\_urls>" at install time.

To use the permissions API, decide which permissions your extension can request at runtime, and list them in `optional_permissions`. After this, you can request any permissions that were included in `optional_permissions`. Requests may only be made in the handler for a user action (for example, a click handler).

型
-

`permissions.Permissions` (en-US)

Represents a set of permissions.

メソッド
----

`permissions.contains()` (en-US)

Find out whether the extension has the given set of permissions.

`permissions.getAll()` (en-US)

Get all the permissions this extension currently has.

`permissions.remove()` (en-US)

Give up a set of permissions.

`permissions.request()` (en-US)

Ask for a set of permissions.

Event handlers
--------------

`permissions.onAdded` (en-US)

Fired when a new permission is granted.

`permissions.onRemoved` (en-US)

Fired when a permission is removed.

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

その他
---

* `manifest.json` `permissions` property
* `manifest.json` `optional_permissions` property
Example extensions
------------------

* dnr-dynamic-with-options
* dnr-redirect-url
* permissions

**メモ:** This API is based on Chromium's `chrome.permissions` API.Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
clipboard
=========

クリップボード API は、拡張機能がシステムのクリップボードに要素をクリップするのを可能にします。現在この API は画像のコピーだけをサボートしていますが、将来的にはテキストと HTML のコピーをサボートする計画です。

この WebExtension API は主に標準の web クリップボード API がクリップボードに画像を書き込めないために存在しています。標準 web API にこの力が備わった時には、この API は非推奨になるはずです。

クリップボードの読み込みはこの API でサポートしません。なぜならクリップボードはすでに標準 web プラットホーム API を用いて読むことができるからです。クリップボードとやりとりするを見てください。

この API は Chrome の `clipboard` API に基づきますが、その API は Chrome アプリだけで利用できて、拡張機能ではできません。

この API を使うには "clipboardWrite" パーミッションが必要です。

関数
--

`clipboard.setImageData()`

画像をクリップボードにコピーする

ブラウザー互換性
--------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**メモ:** この API は Chromium の `chrome.clipboard` API に基づきます。
contextualIdentities
====================

contextual identities の操作: contextual identities を一覧、作成、削除、更新します。

"Contextual identities"は「コンテナ」とも言われ、ブラウザーの機能で、ユーザーがウェブブラウズしている時に複数の ID を想定し、そこでも ID 同時の分離を維持したいアイデアを指します。例えば、ユーザーが「仕事の ID」と「個人の ID」を分けたいと考えて、これら 2 つのコンテキストで cookies を共有したくない場合など。

contextual identities 機能により、各コンテキスト ID は名前、色、及びアイコンを持ちます。新規タブが ID にアサインされ、名前、アイコン、色がアドレスバーに出現します。内部的には、各 ID が他のタブには共有されない自分の cookie ストアを持ちます。

![](/ja/docs/Mozilla/Add-ons/WebExtensions/API/contextualIdentities/containers.png)Contextual identities は Firefox の実験的機能であり、Firefox Nightly だけでデフォルト有効になっています。その他のバージョンの Firefox で有効にするには、 `privacy.userContext.enabled` の設定を `true` にします。contextual identities は Android 版 Firefox でも利用できますが、このバージョンでは動作する UI がないのにご注意ください。

Firefox 57 より前では、`contextualIdentities` API は contextual identities 機能自体が有効になっている場合にだけ利用できます。機能が無効なまま拡張機能が `contextualIdentities` API を使おうとした場合、メソッド呼び出しは promises を `false` に解決します。

Firefox 57 以降では、`contextualIdentities` API を使う拡張機能がインストールされたら、contextual identities 機能は自動的に有効化されます。"privacy.userContext.enabled" プリファレンスを使って、まだユーザーが機能を無効化できるのに注意します。これが起きたら、`contextualIdentities` メソッドの呼び出しで、エラーメッセージと共に promises を拒否します。

Firefox での contextual identities のより詳しい情報はこのガイドを見てください。

Contextual identities は現在その他のブラウザーではサポートされていません。

この API を使うには、 manifest.json ファイル内で "contextualIdentities" パーミッションを入れます。

型
-

`contextualIdentities.ContextualIdentity` (en-US)

contextual identity に関する情報を含みます。

関数
--

`contextualIdentities.create()` (en-US)

新しい contextual identity を作成します

`contextualIdentities.get()` (en-US)

cookie ストア ID を引数に、単一の contextual identity を取得します

`contextualIdentities.query()` (en-US)

すべての contextual identities を取得、あるいは特定の名前の全 contextual identities を取得します

`contextualIdentities.update()` (en-US)

既存の contextual identity のプロパティを更新します

`contextualIdentities.remove()` (en-US)

contextual identity を削除します

イベント
----

`contextualIdentities.onCreated` (en-US)

contextual identity 作成時に発火します

`contextualIdentities.onRemoved` (en-US)

contextual identity 削除時に発火します

`contextualIdentities.onUpdated` (en-US)

1 つ以上の contextual identity のプロパティが更新された時に発火します

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* contextual-identities
alarms
======

コードが動作するタイミングを予約します。この API は `setTimeout()` や `setInterval()` と似ていますが、 alarms API はバックグラウンドで動作する点が異なります。

この API を利用するには "alarms" パーミッション が必要です。

関連する値の型
-------

`alarms.Alarm`

特定のアラームに関する情報が含まれます。

メソッド
----

`alarms.create()`

新しいアラームを生成します。

`alarms.get()`

与えた名前に対応するアラームを取得します。

`alarms.getAll()`

予約されたアラームすべてを取得します。

`alarms.clear()`

与えた名前に対応するアラームを解除します。

`alarms.clearAll()`

予約されたアラームすべてを解除します。

イベント
----

`alarms.onAlarm`

アラームが動作した際に発火します。

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* chill-out
* dynamic-theme

**メモ:** この API は Chromium の `chrome.alarms` API に基づいています。Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。