aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/add-ons/webextensions/api/storage
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/mozilla/add-ons/webextensions/api/storage
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/ja/mozilla/add-ons/webextensions/api/storage')
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/index.html109
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/local/index.html84
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.html62
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.html133
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.html53
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/index.html73
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.html70
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.html105
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/storagechange/index.html79
-rw-r--r--files/ja/mozilla/add-ons/webextensions/api/storage/sync/index.html87
10 files changed, 855 insertions, 0 deletions
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/index.html
new file mode 100644
index 0000000000..6286012f61
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/index.html
@@ -0,0 +1,109 @@
+---
+title: storage
+slug: Mozilla/Add-ons/WebExtensions/API/storage
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Interface
+ - Non-standard
+ - Reference
+ - Storage
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage
+---
+<div>{{AddonSidebar}}</div>
+
+<p>拡張機能にデータの保存、取得と、保存項目の変更をリッスンできるようにします。</p>
+
+<p>ストレージのシステムは <a href="/ja/docs/Web/API/Web_Storage_API">Web Storage API</a> に基づいていますが、いくつか相違点があります。とりわけ、以下の違いがあります。</p>
+
+<ul>
+ <li>非同期です。</li>
+ <li>値は拡張機能のスコープで、特定ドメインのスコープではありません (つまりキー/値ペアーの同じ組み合わせが、すべてのバックグラウンドコンテキストとコンテンツスクリプトから利用できます)。</li>
+ <li>保存された値は JSON-ifiable な (JSON化できる) 値で、単なる <code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code> ではありません。とりわけ、<code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a></code> と <code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code> も、コンテンツが JSON で表現できる時 (DOM ノードは入りません) を除いて不可です。値を保存する前に JSON <code>Strings</code> に変換する必要はなく、内部で JSON として表現されます、つまり JSON-ifiable である必要があります。</li>
+ <li>複数のキー/値ペアーが同じ API 呼び出しで設定、取得できます。</li>
+</ul>
+
+<p>この API を利用するためには"storage" <a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permission</a> を <a href="/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json">manifest.json</a> に含める必要があります。</p>
+
+<p>各々の拡張機能は独自のストレージ領域を持っています。またそれらは異なる型のストレージに分割することができます。</p>
+
+<p>{{domxref("Window.localStorage")}}とこの API は似ていますが、拡張機能関連のデータを格納する際に拡張コード内で <code>Window.localStorage</code> を使わないことを推奨します。Firefox はプライバシー上の理由で、ブラウザー履歴やデータを消去などをする場合、localStorage API を利用して保存されたデータも消去します。しかし <code><a href="/ja/docs/Mozilla/Add-ons/WebExtensions/API/storage/local">storage.local</a></code> API を利用して保存されたデータはこれらの場合でも保持されます。</p>
+
+<div class="note">
+<p>ストレージ領域内は暗号化されていないため、ユーザーの機密情報を保存すべきではありません。</p>
+</div>
+
+<h2 id="Types" name="Types">型</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.StorageArea")}}</dt>
+ <dd>ストレージ領域を表すオブジェクト</dd>
+ <dt>{{WebExtAPIRef("storage.StorageChange")}}</dt>
+ <dd>ストレージ領域の変更を表すオブジェクト</dd>
+</dl>
+
+<h2 id="Properties" name="Properties">プロパティ</h2>
+
+<p><code>storage</code> は 3 つのプロパティを持ち、異なる型の利用可能なストレージ領域を表しています。</p>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.sync")}}</dt>
+ <dd><code>sync</code> ストレージ領域を表します。<code>sync</code> ストレージ内のアイテムはブラウザーによって同期され、異なるデバイス間でも、ログインしているユーザーのブラウザーのすべてのインスタンスを跨いで利用できるようになります。</dd>
+ <dt>{{WebExtAPIRef("storage.local")}}</dt>
+ <dd><code>local</code> ストレージ領域を表します。<code>local</code> ストレージ内のアイテムは拡張機能がインストールされているマシン内のみで扱えます。</dd>
+ <dt>{{WebExtAPIRef("storage.managed")}}</dt>
+ <dd><code>managed</code> ストレージ領域を表します。<code>managed</code> ストレージ内のアイテムはドメイン管理者によってセットされ、拡張機能は読取権限のみを持ちます。そのため、この名前空間を変更しようとするとエラーになります。</dd>
+</dl>
+
+<h2 id="Events" name="Events">イベント</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.onChanged")}}</dt>
+ <dd>ストレージ領域内のアイテムを 1 つ以上変更した場合に発火します。</dd>
+</dl>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>
+
+<p>{{Compat("webextensions.api.storage")}}</p>
+
+<p>{{WebExtExamples("h2")}}</p>
+
+<div class="note"><strong>Acknowledgements</strong>
+
+<p>この API は Chromium の <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a> API に基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/local/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/local/index.html
new file mode 100644
index 0000000000..e69759effd
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/local/index.html
@@ -0,0 +1,84 @@
+---
+title: storage.local
+slug: Mozilla/Add-ons/WebExtensions/API/storage/local
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/local
+---
+<div>{{AddonSidebar()}}</div>
+
+<p><code>local</code> ストレージ領域を指します。<code>local</code>ストレージ内のアイテムはその拡張機能がインストールされたマシン内で利用できます。</p>
+
+<p>ブラウザーは拡張機能がローカルストレージエリアに保存できるデータ量を制限します。</p>
+
+<ul>
+ <li>Chromeでは、このAPIを使用して、<a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Unlimited_storage">"unlimitedStorage"</a>パーミッションを許可しない場合は5MBまで保存できます。</li>
+ <li>Firefox ではバージョン56以降で"unlimitedStorage"パーミッションを利用できます。保存できるデータ量は現在では制限していませんが、将来的には制限するため、もし大きなデータ量を保存するのであれば"unlimitedStorage"パーミッションを今から使用するとよいでしょう。</li>
+</ul>
+
+<p>拡張機能をアンインストールすると、関連するローカルストレージは削除されます。</p>
+
+<p>またFirefoxでは、"about:config"で"keepUuidOnUninstall"と"keepStorageOnUninstall"の設定を<code>true</code>にすることで、アンインストール時にデータが削除されることを防ぐことができます。 この機能は拡張機能開発のテストのために提供されています。拡張機能自身ではこれらの設定を変更できません。</p>
+
+<p>このAPIは {{domxref("Window.localStorage")}}に似ていますが、拡張機能のコード内で<code>Window.localStorage</code>を使用することは推奨されません。これはユーザがプライバシーのために履歴とデータを削除するなど、FirefoxはlocalStorage APIを用いて拡張機能が保存したデータを削除することがあるためです。</p>
+
+<h2 id="関数">関数</h2>
+
+<p><code>local</code>オブジェクトは{{WebExtAPIRef("storage.StorageArea")}} 型で定義された関数を実装しています。</p>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.StorageArea.get()")}}</dt>
+ <dd>ストレージ領域から 1つ以上のアイテムを取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}</dt>
+ <dd>1つ以上のストレージ領域内に格納されたアイテムが占めるストレージ空間をバイト単位で取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.set()")}}</dt>
+ <dd>1つ以上のアイテムをストレージ領域に格納します。既にアイテムが存在していれば値は上書きされます。 値を格納したとき{{WebExtAPIRef("storage.onChanged")}}イベントが発火します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.remove()")}}</dt>
+ <dd>ストレージ領域内の1つ以上のアイテムを削除します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.clear()")}}</dt>
+ <dd>ストレージ領域内の全てのアイテムを削除します。</dd>
+</dl>
+
+<h2 id="ブラウザ互換状況">ブラウザ互換状況</h2>
+
+
+
+<p>{{Compat("webextensions.api.storage.local")}}</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Acknowledgements</strong>
+
+<p>このAPIはChromiumの <a href="https://developer.chrome.com/extensions/storage#property-local"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a>における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.html
new file mode 100644
index 0000000000..b8dc2aec62
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.html
@@ -0,0 +1,62 @@
+---
+title: StorageArea.clear()
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/clear
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageArea
+ - WebExtensions
+ - remove
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/clear
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>全てのアイテムをストレージ領域から削除します。</p>
+
+<p>この関数は <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> を返す非同期関数です。</p>
+
+<h2 id="構文">構文</h2>
+
+<pre class="syntaxbox brush:js">var clearing = browser.storage.&lt;storageType&gt;.clear()
+</pre>
+
+<p><code>&lt;storageType&gt;</code> は {{WebExtAPIRef("storage.sync")}} または {{WebExtAPIRef("storage.local")}} の書き込み可能なストレージタイプです。</p>
+
+<h3 id="引数">引数</h3>
+
+<p>なし</p>
+
+<h3 id="返り値">返り値</h3>
+
+<p>成功時は引数の無い <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。</p>
+
+<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
+
+<p>{{Compat("webextensions.api.storage.StorageArea.clear")}}</p>
+
+<h2 id="例">例</h2>
+
+<pre class="brush: js">function onCleared() {
+ console.log("OK");
+}
+
+function onError(e) {
+ console.log(e);
+}
+
+var clearStorage = browser.storage.local.clear();
+clearStorage.then(onCleared, onError);</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>この API は Chromium の <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.html
new file mode 100644
index 0000000000..d5ea70153c
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.html
@@ -0,0 +1,133 @@
+---
+title: StorageArea.get()
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageArea
+ - WebExtensions
+ - get
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>ストレージ領域から1つ以上のアイテムを取得します。</p>
+
+<p>この関数は <code style="font-size: 16px !important; line-height: 24px !important;"><a href="https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返す非同期関数です。</p>
+
+<h2 id="構文">構文</h2>
+
+<pre class="syntaxbox">let gettingItem = browser.storage.&lt;storageType&gt;.get(
+ keys // null, string, object or array of strings
+)
+</pre>
+
+<p><code style="font-size: 16px !important; line-height: 24px !important;">&lt;storageType&gt;</code> は <a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync" style="font-size: 16px !important; line-height: 24px !important;" title="sync ストレージ領域を指します。 sync ストレージ内のアイテムはブラウザーによって同期され、ログイン(Firefox sync や Google アカウントなど)しているブラウザー・デバイスの全てのインスタンスで利用できます。"><code style="font-size: 16px !important; line-height: 24px !important;">storage.sync</code></a> または <a class="new" href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/storage/local" rel="nofollow" style="font-size: 16px !important; line-height: 24px !important;" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code style="font-size: 16px !important; line-height: 24px !important;">storage.local</code></a> の書き込み可能なストレージタイプです。</p>
+
+<h3 id="引数">引数</h3>
+
+<dl>
+ <dt><code>keys</code></dt>
+ <dd>取得したいアイテムのキー(文字列・文字列の配列またはデフォルト値を指定するオブジェクト)を指定します。空文字列・オブジェクト・配列を指定すると空のオブジェクトが取得できます。 <code>null</code> か未定義の値を指定するとストレージ全体のアイテムが取得できます。</dd>
+</dl>
+
+<h3 id="返り値">返り値</h3>
+
+<p>成功時は <code style="font-size: 16px !important; line-height: 24px !important;">keys</code> で指定されたストレージ領域内のアイテム全てを含む <code style="font-size: 16px !important; line-height: 24px !important;">results</code> オブジェクトを引数に持つ <code style="font-size: 16px !important; line-height: 24px !important;"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。</p>
+
+<div class="warning">
+<p>52 より前の Firefox バージョンのコンテンツスクリプトで使用する場合、 <code>browser.storage.local.get()</code> で返される Promise は1つのオブジェクトを持つ配列を引数に持ちます。配列内のオブジェクトは上記に記述したようにストレージ領域内の <code>keys</code> を持っています。 The Promise is correctly fulfilled with an Object when used in the background context (background scripts, popups, options pages, etc.). When this API is used as <code>chrome.storage.local.get()</code>, it correctly passes an Object to the callback function.</p>
+</div>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p>{{Compat("webextensions.api.storage.StorageArea.get")}}</p>
+
+<h2 id="例">例</h2>
+
+<p>あらかじめストレージ領域に2つのアイテムを格納しておきます。</p>
+
+<pre class="brush: js">// "kitten" と "monster" を格納
+browser.storage.local.set({
+ kitten: {name:"Mog", eats:"mice"},
+ monster: {name:"Kraken", eats:"people"}
+});</pre>
+
+<p>次に promise で使う成功時と失敗時のハンドラを定義しておきます。</p>
+
+<pre class="brush: js">function onGot(item) {
+ console.log(item);
+}
+
+function onError(error) {
+ console.log(`Error: ${error}`);
+}</pre>
+
+<p><code>keys</code> を指定せずに呼び出すと全て取得します。</p>
+
+<pre class="brush: js">let gettingItem = browser.storage.local.get();
+gettingItem.then(onGot, onError);
+
+// -&gt; Object { kitten: Object, monster: Object }</pre>
+
+<p>空のキーを指定すると何も返しません。</p>
+
+<pre class="brush: js">// 空の配列を指定すると何も返らない
+let gettingItem = browser.storage.local.get([]);
+gettingItem.then(onGot, onError);
+
+// -&gt; Object { }</pre>
+
+<p>オブジェクト名を指定すると、合致するものを返します。</p>
+
+<pre class="brush: js">let gettingItem = browser.storage.local.get("kitten");
+gettingItem.then(onGot, onError);
+
+// -&gt; Object { kitten: Object }</pre>
+
+<p>オブジェクト名の配列を指定すると合致するものを全て返します。</p>
+
+<pre class="brush: js">let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]);
+gettingItem.then(onGot, onError);
+
+// -&gt; Object { kitten: Object, monster: Object } </pre>
+
+<p>オブジェクト名をキー、デフォルト値をvalueに指定したオブジェクトを指定する場合</p>
+
+<pre class="brush: js">let gettingItem = browser.storage.local.get({
+ kitten: "no kitten",
+ monster: "no monster",
+ grapefruit: {
+ name: "Grape Fruit",
+ eats: "Water"
+ }
+});
+
+// -&gt; Object { kitten: Object, monster: Object, grapefruit: Object }
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<h3 id="Chrome_での例">Chrome での例</h3>
+
+<pre class="brush: js">chrome.storage.local.get("kitten", function(items){
+ console.log(items.kitten); // -&gt; {name:"Mog", eats:"mice"}
+});</pre>
+
+<p class="brush: js">Or with an arrow function</p>
+
+<pre class="brush: js">chrome.storage.local.get("kitten", items=&gt;{
+ console.log(items.kitten); // -&gt; {name:"Mog", eats:"mice"}
+});</pre>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>この API は Chromium の <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.html
new file mode 100644
index 0000000000..ae2de4bb9e
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.html
@@ -0,0 +1,53 @@
+---
+title: StorageArea.getBytesInUse()
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse
+tags:
+ - API
+ - Add-ons
+ - Method
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageArea
+ - WebExtensions
+ - getBytesInUse
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>1つ以上のストレージ領域内に格納されたアイテムが占めるストレージ空間をバイト単位で取得します。</p>
+
+<p>この関数は <code><a href="/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> を返す非同期関数です。</p>
+
+<h2 id="構文">構文</h2>
+
+<pre class="syntaxbox brush:js">var gettingSpace = browser.storage.&lt;storageType&gt;.getBytesInUse(
+ keys // null, string, or array of strings
+)
+</pre>
+
+<p><code>&lt;storageType&gt;</code> は {{WebExtAPIRef("storage.sync")}} または {{WebExtAPIRef("storage.local")}} の書き込み可能なストレージタイプです。</p>
+
+<h3 id="引数">引数</h3>
+
+<dl>
+ <dt><code>keys</code></dt>
+ <dd>ストレージ空間を取得したいアイテムのキー(文字列または文字列の配列)を指定します。 空の文字列か配列を渡すと 0 が返ります。 <code>null</code> を指定すると、ストレージ領域全体の使用中ストレージ空間を返します。</dd>
+</dl>
+
+<h3 id="返り値">返り値</h3>
+
+<p>成功時は <code>keys</code> で指定されたオブジェクトが占めるストレージ空間を持つ整数 <code>bytesUsed</code> を引数に持つ <code><a href="/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code> を返します。失敗した場合 Promise はエラーメッセージと共にリジェクトされます。</p>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p>{{Compat("webextensions.api.storage.StorageArea.getBytesInUse")}}</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>この API は Chromium の <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/index.html
new file mode 100644
index 0000000000..5a84d5280d
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/index.html
@@ -0,0 +1,73 @@
+---
+title: storage.StorageArea
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>StorageArea はストレージ領域を表すオブジェクトです。</p>
+
+<h2 id="型">型</h2>
+
+<p>StorageAreaはオブジェクト型です。</p>
+
+<h2 id="関数">関数</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.StorageArea.get()")}}</dt>
+ <dd>ストレージ領域から1つ以上のアイテムを取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}</dt>
+ <dd>ストレージ領域に格納されている1つ以上のアイテムで使用されているストレージサイズ(バイト単位)を取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.set()")}}</dt>
+ <dd>1つ以上のアイテムをストレージ領域に保存します。既にアイテムが存在する場合は値が上書きされます。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.remove()")}}</dt>
+ <dd>1つ以上のアイテムをストレージ領域から削除します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.clear()")}}</dt>
+ <dd>全てのアイテムをストレージ領域から削除します。</dd>
+</dl>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.api.storage.StorageArea")}}</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>このAPIはChromium <a href="https://developer.chrome.com/extensions/storage#type-StorageArea"><code>chrome.storage</code></a> APIに模度づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> におけるChromiumのコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況はMicrosoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States Licenseに従っています。</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.html
new file mode 100644
index 0000000000..daba7224fb
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.html
@@ -0,0 +1,70 @@
+---
+title: StorageArea.remove()
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/remove
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageArea
+ - WebExtensions
+ - remove
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/remove
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>1つ以上のアイテムをストレージ領域から削除します。</p>
+
+<p>この関数は <code style="font-size: 16px !important; line-height: 24px !important;"><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返す非同期関数です。</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox brush:js">let removingItem = browser.storage.&lt;storageType&gt;.remove(
+ keys // string, or array of strings
+)
+</pre>
+
+<p><code>&lt;storageType&gt;</code> は {{WebExtAPIRef("storage.sync")}} または {{WebExtAPIRef("storage.local")}} の書き込み可能なストレージタイプです。</p>
+
+<h3 id="引数">引数</h3>
+
+<dl>
+ <dt><code>keys</code></dt>
+ <dd>削除したいアイテムのキー(文字列または文字列の配列)を指定します。</dd>
+</dl>
+
+<h3 id="返り値">返り値</h3>
+
+<p>成功時は引数の無い <code style="font-size: 16px !important; line-height: 24px !important;"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。</p>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p>{{Compat("webextensions.api.storage.StorageArea.remove")}}</p>
+
+<h2 id="例">例</h2>
+
+<p>1つのアイテムを削除する例です。</p>
+
+<pre class="brush: js">function onRemoved() {
+ console.log("OK");
+}
+
+function onError(e) {
+ console.log(e);
+}
+
+let removeKitten = browser.storage.remove("kitten");
+removeKitten.then(onRemoved, onError);
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>この API は Chromium の <a href="https://developer.chrome.com/extensions/storage"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.html
new file mode 100644
index 0000000000..6860bc9c19
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.html
@@ -0,0 +1,105 @@
+---
+title: StorageArea.set()
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageArea
+ - WebExtensions
+ - set
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>1つ以上のアイテムをストレージ領域に保存または上書きします。</p>
+
+<p>この API を使用して保存や上書きをする場合、{{WebExtAPIRef("storage.onChanged")}} イベントが発火します。</p>
+
+<p>この関数は <code style="font-size: 16px !important; line-height: 24px !important;"><a href="https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返す非同期関数です。</p>
+
+<h2 id="構文">構文</h2>
+
+<pre class="syntaxbox brush:js">let settingItem = browser.storage.&lt;storageType&gt;.set(
+ keys // オブジェクト
+)
+</pre>
+
+<p><code style="font-size: 16px !important; line-height: 24px !important;">&lt;storageType&gt;</code> は <a href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync" style="font-size: 16px !important; line-height: 24px !important;" title="sync ストレージ領域を指します。 sync ストレージ内のアイテムはブラウザーによって同期され、ログイン(Firefox sync や Google アカウントなど)しているブラウザー・デバイスの全てのインスタンスで利用できます。"><code style="font-size: 16px !important; line-height: 24px !important;">storage.sync</code></a> または <a class="new" href="https://developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/API/storage/local" rel="nofollow" style="font-size: 16px !important; line-height: 24px !important;" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code style="font-size: 16px !important; line-height: 24px !important;">storage.local</code></a> の書き込み可能なストレージタイプです。</p>
+
+<h3 id="Parameters">Parameters</h3>
+
+<dl>
+ <dt><code>keys</code></dt>
+ <dd>
+ <p>保存したい1つ以上のキー/値ペアを持つオブジェクトを指定します。アイテムが既に存在する場合、値は上書きされます。</p>
+
+ <p>値は <a href="/ja/docs/Glossary/Primitive">primitive 型</a> (整数型・ブール型・文字列) または<code><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Array">配列</a></code> を指定でできます。</p>
+
+ <p>通常は他の型 (<code>Function</code>, <code>Date</code>, <code>RegExp</code>, <code>Set</code>, <code>Map</code>, <code>ArrayBuffer</code>  など)は格納できません。これらのサポートされていない型の中には空のオブジェクトとして復元されたり、 <code>set()</code> がエラーをスローする場合があります。この場合の挙動はブラウザに依存します。</p>
+ </dd>
+</dl>
+
+<h3 id="返り値">返り値</h3>
+
+<p>成功時は引数の無い <code style="font-size: 16px !important; line-height: 24px !important;"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" style="font-size: 16px !important; line-height: 24px !important;">Promise</a></code> を返します。 失敗した場合 promise はエラーメッセージと共にリジェクトされます。</p>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p> </p>
+
+<p>{{Compat("webextensions.api.storage.StorageArea.set")}}</p>
+
+<p> </p>
+
+<h2 id="例">例</h2>
+
+<pre class="brush: js">function setItem() {
+ console.log("OK");
+}
+
+function gotKitten(item) {
+ console.log(`${item.kitten.name} has ${item.kitten.eyeCount} eyes`);
+}
+
+function gotMonster(item) {
+ console.log(`${item.monster.name} has ${item.monster.eyeCount} eyes`);
+}
+
+function onError(error) {
+ console.log(error)
+}
+
+// オブジェクトを2つ定義
+var monster = {
+ name: "Kraken",
+ tentacles: true,
+ eyeCount: 10
+}
+
+var kitten = {
+ name: "Moggy",
+ tentacles: false,
+ eyeCount: 2
+}
+
+// オブジェクト2つを格納
+browser.storage.local.set({kitten, monster})
+ .then(setItem, onError);
+
+browser.storage.local.get("kitten")
+ .then(gotKitten, onError);
+browser.storage.local.get("monster")
+ .then(gotMonster, onError);
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p>この API は Chromium の <a class="external external-icon" href="https://developer.chrome.com/extensions/storage" rel="noopener" style="font-size: 18px !important; line-height: 27px !important;"><code style="font-size: 16px !important; line-height: 24px !important;">chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a class="external external-icon" href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json" rel="noopener" style="font-size: 18px !important; line-height: 27px !important;"><code style="font-size: 16px !important; line-height: 24px !important;">storage.json</code></a> における Chromium のコードに基づいています。</p>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/storagechange/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/storagechange/index.html
new file mode 100644
index 0000000000..f7850012ad
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/storagechange/index.html
@@ -0,0 +1,79 @@
+---
+title: storage.StorageChange
+slug: Mozilla/Add-ons/WebExtensions/API/storage/StorageChange
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Non-standard
+ - Reference
+ - Storage
+ - StorageChange
+ - Type
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageChange
+---
+<div>{{AddonSidebar()}}</div>
+
+<div><code>StorageChange</code> はストレージ領域の変更を表すオブジェクトです。</div>
+
+<div> </div>
+
+<h2 id="型">型</h2>
+
+<p><code>StorageChange</code> オブジェクトは以下のプロパティを持ちます。</p>
+
+<dl class="reference-values">
+ <dt><code>oldValue</code>{{optional_inline}}</dt>
+ <dd>アイテムの変更前の値が存在すれば、この中に入ります。データ型は特定されておらず、何らかのデータ型が入ります。</dd>
+ <dt><code>newValue</code>{{optional_inline}}</dt>
+ <dd>アイテムの変更後の値があれば、この中に入ります。データ型は特定されておらず、何らかのデータ型が入ります。</dd>
+</dl>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.api.storage.StorageChange")}}</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>謝辞</strong>
+
+<p> </p>
+
+<p style="font-size: 18px !important; line-height: 27px !important;">この API は Chromium の <a class="external external-icon" href="https://developer.chrome.com/extensions/storage" rel="noopener" style="font-size: 18px !important; line-height: 27px !important;"><code style="font-size: 16px !important; line-height: 24px !important;">chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a class="external external-icon" href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json" rel="noopener" style="font-size: 18px !important; line-height: 27px !important;"><code style="font-size: 16px !important; line-height: 24px !important;">storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p style="font-size: 18px !important; line-height: 27px !important;">Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/ja/mozilla/add-ons/webextensions/api/storage/sync/index.html b/files/ja/mozilla/add-ons/webextensions/api/storage/sync/index.html
new file mode 100644
index 0000000000..f9b796ebfb
--- /dev/null
+++ b/files/ja/mozilla/add-ons/webextensions/api/storage/sync/index.html
@@ -0,0 +1,87 @@
+---
+title: storage.sync
+slug: Mozilla/Add-ons/WebExtensions/API/storage/sync
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Non-standard
+ - Property
+ - Reference
+ - Storage
+ - Sync
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/API/storage/sync
+---
+<div>{{AddonSidebar()}}</div>
+
+<p><code>sync</code> ストレージ領域を指します。 <code>sync</code> ストレージ内のアイテムはブラウザーによって同期され、ログイン(Firefox sync や Google アカウントなど)しているブラウザー・デバイスの全てのインスタンスで利用できます。</p>
+
+<p>Firefox の場合、ユーザーは <code>"about:preferences"</code> の "Sync 設定" オプションの下にある "アドオン" ボックスにチェックを入れる必要があります。</p>
+
+<p><code>storage.sync</code> の実装はアドオン ID に依存していることに注意してください。もし <code>storage.sync</code> を使うのであれば、 <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings">browser_specific_settings</a></code> manifest.json キーを使用して拡張機能に ID を設定する必要があります。</p>
+
+<p>この API の主な利用例は拡張機能の設定を格納し、異なるプロファイル間で同期させることです。この API は最大100 KB までデータを格納できます。それ以上格納しようとするとエラーメッセージを返して失敗します。 この API は稼働時間やパフォーマンスを保証しません。</p>
+
+<h2 id="関数">関数</h2>
+
+<p><code>sync</code> オブジェクトは {{WebExtAPIRef("storage.StorageArea")}} 型で定義された関数を実装しています。</p>
+
+<dl>
+ <dt>{{WebExtAPIRef("storage.StorageArea.get()", "storage.<var>StorageArea</var>.get()")}}</dt>
+ <dd>ストレージ領域から1つ以上のアイテムを取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.getBytesInUse()", "storage.<var>StorageArea</var>.getBytesInUse()")}}</dt>
+ <dd>1つ以上のストレージ領域内に格納されたアイテムが占めるストレージ空間をバイト単位で取得します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.set()", "storage.<var>StorageArea</var>.set()")}}</dt>
+ <dd>1つ以上のアイテムをストレージ領域に格納します。既にアイテムが存在していれば値は上書きされます。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.remove()", "storage.<var>StorageArea</var>.remove()")}}</dt>
+ <dd>ストレージ領域内の1つ以上のアイテムを削除します。</dd>
+ <dt>{{WebExtAPIRef("storage.StorageArea.clear()", "storage.<var>StorageArea</var>.clear()")}}</dt>
+ <dd>ストレージ領域内の全てのアイテムを削除します。</dd>
+</dl>
+
+<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.api.storage.sync")}}</p>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Acknowledgements</strong>
+
+<p>このAPIはChromiumの <a href="https://developer.chrome.com/extensions/storage#property-sync"><code>chrome.storage</code></a> APIに基づいています。また、このドキュメントは <a href="https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json"><code>storage.json</code></a> における Chromium のコードに基づいています。</p>
+
+<p>Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>