aboutsummaryrefslogtreecommitdiff
path: root/files/ja/archive/firefox_os
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ja/archive/firefox_os
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ja/archive/firefox_os')
-rw-r--r--files/ja/archive/firefox_os/index.html271
-rw-r--r--files/ja/archive/firefox_os/platform/apps_architecture/index.html33
-rw-r--r--files/ja/archive/firefox_os/platform/feature_support_chart/index.html161
-rw-r--r--files/ja/archive/firefox_os/platform/gaia/gaia_apps/index.html91
-rw-r--r--files/ja/archive/firefox_os/platform/gaia/gaia_apps/window_management/index.html408
-rw-r--r--files/ja/archive/firefox_os/platform/gaia/gaia_apps/ブラウザ/index.html137
-rw-r--r--files/ja/archive/firefox_os/platform/gaia/gaia_apps/設定アプリ/index.html115
-rw-r--r--files/ja/archive/firefox_os/platform/gaia/index.html79
-rw-r--r--files/ja/archive/firefox_os/platform/gonk/index.html23
-rw-r--r--files/ja/archive/firefox_os/platform/index.html84
-rw-r--r--files/ja/archive/firefox_os/platform/keyboard_events_across_browser_elements/index.html645
-rw-r--r--files/ja/archive/firefox_os/platform/out_of_memory_management_on_firefox_os/index.html138
12 files changed, 0 insertions, 2185 deletions
diff --git a/files/ja/archive/firefox_os/index.html b/files/ja/archive/firefox_os/index.html
deleted file mode 100644
index 5dc8926610..0000000000
--- a/files/ja/archive/firefox_os/index.html
+++ /dev/null
@@ -1,271 +0,0 @@
----
-title: Firefox OS
-slug: Archive/Firefox_OS
-translation_of: Archive/B2G_OS
----
-<p class="summary">このページには Firefox OS 製品と、基になっている B2G OS についての内容がアーカイブされています。現在の B2G OS についての資料は、 <a href="/ja/docs/Mozilla/B2G_OS">B2G OS のページ</a>にあります。</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/ja/docs/Archive/Firefox_OS/Platform">Firefox OS プラットフォーム</a></dt><dd class="landingPageList">B2G OS プラットフォームは、多くのコンポーネントで構成されています。B2G OS で動作するアプリケーションを構築するために B2G OS のアーキテクチャを理解する必要はありませんが、プラットフォームの開発や移植の作業を行っている (あるいは単に興味がある) 場合は、以下のドキュメントが重要であるかもしれません。</dd></dl><p></p>
-
-<hr>
-<p>以下は、Firefox OS のページが公開されていた頃の <a href="https://developer.mozilla.org/ja/docs/Mozilla/B2G_OS%24revision/1001497">(B2G OS への変更前の)</a> 内容を貼り付けたものです。</p>
-
-<div class="summary">
-<p><span class="seoSummary">Firefox OS は、Mozilla によって開発された新しいモバイル OS であり、Linux の技術と Firefox の強力なレンダリングエンジンである Gecko を基盤としています。</span></p>
-</div>
-
-<div class="column-container zone-callout">
-<p><strong>Firefox OS</strong> はオープンソースで開発されたソフトウェアであり、開発者がWebで進歩的なエンドユーザアプリケーションを作成できるパワーと柔軟性を強化します。<strong>UI 全体を Web アプリとして開発できる</strong>ことです。つまり、他の Web アプリの表示したり、起動したりも可能なのです。Firefox OS の webアプリは、HTML、CSS、JavaScript を使用して作られており、さらに、Firefox OS の webアプリは、アプリケーション・プログラミング・インターフェイス(API)を通じてモバイル端末のハードウェアにもアクセス可能です。</p>
-
-<p>製品としての Firefox OS は、OS 開発コードネーム <strong>Boot to Gecko</strong> (<strong>B2G</strong>) の上に適用された、Mozilla (および OEM パートナー) のブランディングおよびサポートサービスのブランド名です。 Boot to Gecko は、Mozilla の開発チームおよび多数のオープンソースコミュニティの外部コントリビュータによって開発されています。</p>
-</div>
-
-<section class="outer-apps-box" id="sect1">
-<h2 id="Firefox_OS_向けのアプリを開発する"><a href="/ja/Apps">Firefox OS 向けのアプリを開発する</a></h2>
-
-<p>Firefox OS 向けの Web アプリの開発に必要な全ての情報がそろっているアプリセンターに進む</p>
-</section>
-
-<div class="column-container">
-<div class="column-third">
-<h2 id="プラットフォームガイド"><a href="/docs/Mozilla/Firefox_OS/Platform">プラットフォームガイド</a></h2>
-
-<p>Firefox OS の複数の層にわかれたコンポーネントを協調して動作させる方法について書かれたプラットフォーム開発者向けのガイドです。</p>
-
-<ul>
- <li><a href="/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/ja/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></li>
- <li><a href="/docs/Mozilla/Firefox_OS/Platform/Gonk" title="/ja/docs/Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></li>
- <li><a href="/docs/Mozilla/Gecko" title="/ja/docs/Mozilla/Gecko">Gecko</a></li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="ビルド_インストール"><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS">ビルド &amp; インストール</a></h2>
-
-<p>エミュレータや互換端末、デスクトップシミュレータ向けに Firefox OS をビルドおよびインストールする方法についてのガイドです。</p>
-
-<ul>
- <li><a href="/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="Mozilla/Firefox_OS/Firefox OS build prerequisites">Firefox OS のビルド要件</a></li>
- <li><a href="/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing for your first B2G build">はじめての Firefox OS のビルド</a></li>
- <li><a href="/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="Mozilla/Firefox_OS/Building">Firefox OS をビルドする</a></li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="開発用端末"><a href="/docs/Mozilla/Firefox_OS/Developer_phone_guide">開発用端末</a></h2>
-
-<p>開発用端末(Developer Phone)の設定の変更、アップデート、リカバリ、購入についての情報について。</p>
-
-<ul>
- <li><a href="/Firefox_OS/Developer_phone_guide/Flame">Flame</a></li>
- <li><a href="/Firefox_OS/Developer_phone_guide/Geeksphone">Geeksphone</a></li>
- <li><a href="/Firefox_OS/Developer_phone_guide/ZTE_OPEN_C">ZTE Open C</a></li>
- <li><a href="/docs/Mozilla/Firefox_OS/Troubleshooting">トラブルシューティング</a></li>
- <li><a href="/Firefox_OS/Developer_phone_guide/Phone_specs">端末の仕様詳細</a></li>
-</ul>
-</div>
-</div>
-
-<div class="column-container equalColumnHeights">
-<div class="zone-callout">
-<h2 id="Firefox_OS_アドオンをはじめよう!">Firefox OS アドオンをはじめよう!</h2>
-
-<p>Firefox OS アドオンは新しくFirefox OS 2.5で出ました! アドオン開発を開始し、アドオンコミュニティに参加するには、<a href="https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Add-ons/Getting_started">Getting started with Firefox OS add-ons</a>を読んでください。</p>
-</div>
-
-<div class="zone-callout">
-<h2 id="関連情報"><strong>関連情報</strong></h2>
-
-<ul>
- <li><a href="https://www.mozilla.org/styleguide/products/firefox-os/">Firefox OS スタイルガイド</a></li>
- <li><a href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Feature_support_chart" title="/ja/Firefox_OS/Platform/Feature_support_chart">機能のサポート状況一覧</a></li>
- <li><a href="http://firefoxosbooks.org/">Firefox OS Books</a></li>
- <li><a href="https://groups.google.com/group/firefoxos" title="https://groups.google.com/group/firefoxos">Firefox OS Google Group</a> (日本語)</li>
-</ul>
-</div>
-</div>
-
-<div class="note">
-<p><strong>注:</strong> <a href="/ja/docs/MDN/Doc_status/Firefox_OS">Firefox OS documentation status</a> のページで、Firefox OS関連のドキュメントの作業進捗状況を確認できます。ドキュメントまわりの貢献をしたい場合は、どのような作業が必要かを確認すると良いでしょう。</p>
-</div>
-
-<p></p><div class="overheadIndicator communitybox">
-
- <div class="column-container">
- <h2 id="Firefox_OSコミュニティに参加してください">Firefox OSコミュニティに参加してください</h2>
- <div class="column-half">
- <div class="communitysubhead">あなたの好きな方法でディスカッションに参加してください</div>
- <ul class="communitymailinglist">
- <li><a href="https://lists.mozilla.org/listinfo/dev-fxos"> メーリングリストとして</a></li>
- <li><a href="https://twitter.com/Boot2Gecko"> Twitter</a></li>
- <li><a href="http://stackoverflow.com/questions/tagged/firefox-os"> Stack Overflow</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.fxos"> ニュースグループとして</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.fxos/feeds"> フィードとして</a></li>
-</ul>
- </div>
- <div class="column-half">
- <ul class="communitycontact"><li><strong>IRC: </strong><a href="irc://irc.mozilla.org/fxos">#fxos</a> <span class="smaller">(<a href="https://wiki.mozilla.org/IRC">さらに詳しく</a>)</span></li><li><strong>Other communication channels: </strong><a href="irc://irc.mozilla.org/openwebapps" title="Talk with Web app developers">#openwebapps</a>, <a href="irc://irc.mozilla.org/webapi" title="Discuss Web APIs used to create powerful Web apps">#webapi</a>, <a href="https://lists.mozilla.org/listinfo/dev-b2g-feedback" title="Discussion and feedback forum for daily users of Firefox OS">Daily Firefox OS users mailing list</a></li></ul>
- </div>
- </div>
-</div><p></p>
-
-<h2 id="Subnav">Subnav</h2>
-
-<ol>
- <li><a href="/ja/Firefox_OS/Introduction">イントロダクション</a></li>
- <li><a href="/ja/Firefox_OS/Platform" title="Documentation about the Firefox OS platform, including Gonk, Gaia, and everything in between.">プラットフォームガイド</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Platform">Firefox OS プラットフォーム</a></strong></li>
- <li><a href="/ja/Firefox_OS/Platform/Architecture" title="An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.">アーキテクチャ</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Apps_architecture" title="An overview of the application model on Firefox OS.">アプリ構造</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Gonk" title="Documentation about Gonk, the operating system layer underneath Gaia. This consists of a Linux kernel and a hardware abstraction layer to which Gecko communicates.">Gonk</a></li>
- <li><a href="/ja/Gecko" title="Gecko is the layer of Firefox OS that provides the same open web standards implementation used by Firefox and Thunderbird, as well as many other applications.">Gecko</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Gaia" title="Documentation about Gaia, the user interface application for Firefox OS devices; this is a Web application running atop the Firefox OS software stack.">Gaia</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia アプリガイド</a></li>
- <li><a href="/ja/Firefox_OS/Security" title="Documentation about security in Firefox OS">セキュリティ</a>
- <ol>
- <li><a href="/ja/Firefox_OS/Security/Security_model">The Firefox OS セキュリティ概論</a></li>
- <li><a href="/ja/Firefox_OS/Security/System_security">システムセキュリティ</a></li>
- <li><a href="/ja/Firefox_OS/Security/Application_security">アプリケーションセキュリティ</a></li>
- <li><a href="/ja/Firefox_OS/Security/Installing_and_updating_applications">アプリケーションを安全にインストール、更新する</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Platform/Out_of_memory_management_on_Firefox_OS">Firefox OS の低メモリ管理</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Feature_support_chart" title="A chart of which features are available in which types of Firefox OS builds.">機能サポート表</a></li>
- <li><a href="/ja/Firefox_OS/Platform/Settings_list" title="A list of common setting names that can be used with the settings API">Firefox OS の設定一覧</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS" title="This includes documentation for building and installing the platform onto devices, as well as building the simulator and emulators.">ビルドとインストール</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS">Firefox OS のビルドとインストール</a></strong></li>
- <li><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_build_overview">Firefox OS ビルドの概要</a></li>
- <li><a href="/ja/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="Steps to take before you build Firefox OS for the first time.">Firefox OS ビルドの必要条件</a></li>
- <li><a href="/ja/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="Before you can build Firefox OS, you need to clone the repository and configure your build.">初回ビルドの準備</a></li>
- <li><a href="/ja/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="How to build Firefox OS.">Firefox OS のビルド</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS/Building_Firefox_OS_for_flame_on_OSX">Mac OS X で Flame 用の Firefox OS をビルドする</a></li>
- <li><a href="/ja/docs/Mozilla/Boot_to_Gecko/Choosing_how_to_run_Gaia_or_B2G" title="Using Gaia within Firefox, running Firefox OS on a mobile device, or in a desktop-based simulator. Which is best?">GaiaやFirefox OS の実行方法を選択する</a></li>
- <li><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS/Compatible_Devices">互換性のある端末</a></li>
- <li><a href="/ja/Firefox_OS/Building_the_Firefox_OS_simulator" title="Simulating the Gaia environment in a desktop application - more accurate than running Gaia in Firefox but not as accurate as the emulators.">Firefox シミュレータをビルドする</a></li>
- <li><a href="/ja/Firefox_OS/Using_the_B2G_emulators" title="A guide to building and using the Firefox OS emulators, and when to use which emulator.">Firefox OS エミュレータを使用する</a></li>
- <li><a href="/ja/Firefox_OS/Installing_on_a_mobile_device" title="How to install Firefox OS on a real mobile device.">Firefox OS をモバイル端末にインストールする</a></li>
- <li><a href="/ja/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_update_packages">Firefox OS の更新パッケージを作成、適用する</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="https://developer.mozilla.org/ja/Firefox_OS/Building_and_installing_Firefox_OS/B2G_Build_Variables_Reference_Sheet">B2G ビルド変数のリファレンスシート</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Developing_Firefox_OS" title="Hack the OS, customize your builds, get things the way you think they should be!">Firefox OS の開発</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Developing_Firefox_OS">Firefox OS の開発</a></strong></li>
- <li><a href="/ja/Firefox_OS/Developing_Firefox_OS/Filing_bugs_against_Firefox_OS">Firefox OSのバグを登録する</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Firefox_OS/modifying_hosts_file" title="A guide to what can be achieved by modifying the Firefox OS hosts file.">hostsファイルを編集する</a></li>
- <li><a href="/ja/Firefox_OS/Customization_with_the_.userconfig_file" title="How to customize the build and execution of Firefox OS by changing the .userconfig file.">.userconfig ファイルをカスタマイズする</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Firefox_OS/Customizing_the_b2g.sh_script">b2g.shスクリプトをカスタマイズする</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Porting_Firefox_OS">Firefox OSを移植する</a>
- <ol>
- <li><a href="/ja/Firefox_OS/Porting">Firefox OS を移植する</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia">Gaiaの開発</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Developing_Gaia">Gaiaの開発</a></strong></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Running_the_Gaia_codebase">Gaia コードベースを実行する</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Gaia コードベースを理解する</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Making_Gaia_code_changes">Gaia のコードに変更を加える</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Testing_Gaia_code_changes">Gaia のコードの変更をテストする</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Submitting_a_Gaia_patch">Gaia のパッチを提出する</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/構造入門書">Gaia ビルドシステム入門</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Customizing_build-time_apps">ビルド時のアプリをカスタマイズする</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide">マーケットカスタマイズガイド</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Customizing_the_keyboard">Firefox OS内でキーボードをカスタマイズする</a></li>
- <li><a href="/ja/docs/Firefox_OS/Hacking_Firefox_OS/Localizing_Firefox_OS">Firefox OSをローカライズする</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/localization_code_best_practices">L10nのベストプラクティス</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/make_options_reference">make オプションのリファレンス</a></li>
- <li><a href="/ja/Firefox_OS/Developing_Gaia/Gaia_tools_reference">Gaia ツールのリファレンス</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Add-ons">Firefox OS add-ons</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Add-ons">Firefox OS add-ons overview</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Add-ons/Developing_Firefox_OS_add-ons">Developing Firefox OS add-ons</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Phone_guide" title="A developer's guide to the Firefox OS developer phones available.">Firefox OS 電話機ガイド</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Phone_guide">Firefox OS 端末ガイド</a></strong></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/Phone_specs">Firefox OS 端末とその仕様</a></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/Geeksphone">Geeksphone</a></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/ZTE_OPEN">ZTE OPEN</a></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/ZTE_OPEN_C">ZTE OPEN C</a></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/Flame">Flame</a></li>
- <li><a href="/ja/Firefox_OS/Phone_guide/Firefox_OS_device_features">Firefox OS 端末の機能</a></li>
- <li><a href="/ja/Firefox_OS/Troubleshooting" title="A guide to resolving common problems with Firefox OS.">Firefox OS のトラブルシューティング</a></li>
- <li><a href="/ja/Firefox_OS/Developer_phone_guide/Best_practices_open_reference_devices">オープンリファレンス端末向けのベストプラクティス</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/TVs_connected_devices">Firefox OS on TVs and connected devices</a>
- <ol>
- <li><strong><a href="https://developer.mozilla.org/en-US/Firefox_OS/TVs_connected_devices">TVs and connected devices overview</a></strong></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/TVs_connected_devices/How_to_connect_WebIDE_to_TV_%28VIErA%29">How to connect WebIDE to TV (VIERA CX/CR series)</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/TVs_connected_devices/TV_broadcast_streams_Firefox_OS">TV broadcast streams on Firefox OS products</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/TVs_connected_devices/Web_animations_on_large_screen">Web animations on large screens</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/TVs_connected_devices/TV_remote_control_navigation">Implementing TV remote control navigation</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Keyboard_events_in_Firefox_OS_TV">Keyboard events in Firefox OS TV</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/TVs_connected_devices/TV_remote_control_button_mapping_to_keyboard">TV remote control button mapping to keyboard</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Design/Firefox_OS_TV_UX">Firefox OS for TV UX Overview</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Releases" title="This section of the site contains release notes, explaining what new features and changes of significance to developers have landed in each new release of Gaia and Gecko on Firefox OS.">Firefox OS リリースノート</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Releases">Firefox OS 開発者向けリリースノート</a></strong></li>
- <li><a href="/ja/Firefox_OS/Releases/2.5">Firefox OS 2.5 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/2.2">Firefox OS 2.2 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/2.1">Firefox OS 2.1 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/2.0">Firefox OS 2.0 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/1.4">Firefox OS 1.4 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/1.3">Firefox OS 1.3 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/1.2">Firefox OS 1.2 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/1.1">Firefox OS 1.1 for developers</a></li>
- <li><a href="/ja/Firefox_OS/Releases/1.0.1">Firefox OS 1.0.1 for developers</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Automated_testing">自動テスト</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Automated_testing">Firefox OS の自動テスト</a></strong></li>
- <li><a href="/ja/Firefox_OS/Running_Tests_on_Firefox_OS_for_Developers">Firefox OS 上でテストを実行する: 開発者向けガイド</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing/MozITP">The Mozilla integrated tools package</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/gaia-ui-tests" title="/ja/docs/Mozilla/Firefox_OS/Testing/gaia-ui-tests">Gaia UI テスト</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/Gaia_integration_tests">Gaia integration tests</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/Gaia_unit_tests" title="/ja/docs/Mozilla/Firefox_OS/Testing/Gaia_unit_tests">Gaia ユニットテスト tests</a></li>
- <li><a href="/ja/Firefox_OS/Automated_testing/Gaia_performance_tests">Gaia パフォーマンステスト</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/Mochitests" title="/en-US/docs/Mozilla/Firefox_OS/Automated_testing/Mochitests"><span class="gm-spell gm_ gm_8ea2aeb5-60d9-d796-930f-2db1e4217eaa">Mochitests</span></a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/Reftests" title="/en-US/docs/Mozilla/Firefox_OS/Automated_testing/Reftests"><span class="gm-spell gm_ gm_9567400a-e713-3d43-ffa9-05fd8c3a28a2">Reftests</span></a></li>
- <li><a href="/ja/docs/Marionette/Marionette_JavaScript_Tests" title="/ja/docs/Marionette/Marionette_JavaScript_Tests">WebAPI テスト</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/XPCShell" title="/ja/docs/Mozilla/Firefox_OS/Testing/XPCShell">xpcshell テスト</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Automated_testing/MTBF_tests">MTBF テスト</a></li>
- <li><a href="/ja/docs/Marionette" title="/ja/docs/Marionette">Marionette</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Treeherder">Treeherder</a></li>
- </ol>
- </li>
- <li><a href="/ja/Firefox_OS/Debugging" title="A guide to debugging both your mobile apps and Firefox OS itself.">デバッグ</a>
- <ol>
- <li><strong><a href="/ja/Firefox_OS/Debugging">Firefox OS をデバッグする</a></strong></li>
- <li><a href="/ja/Firefox_OS/Debugging/Developer_settings">Firefox OS 用の開発者設定</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop">Firefox OS 端末をコンピュータに接続する</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Setting_up">Firefox 開発ツールを使用して Firefox OS をデバッグするためのセットアップ</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/On-device_console_logging">端末上でコンソールログを取る</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Installing_ADB">ADB をインストールして使用する</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/taking_screenshots">スクリーンショットを撮る</a></li>
- <li><a href="/docs/Tools/WebIDE">WebIDE を使用する</a></li>
- <li><a href="/ja/Firefox_OS/Using_the_App_Manager" title="A tool that allows you to install open web apps from your computer to a device capable of installing them (such as Firefox OS) - and debug any running app.">アプリマネージャを使用する</a></li>
- <li><a href="/Firefox_OS/Debugging/Firefox_OS_crash_reporting">Firefox OS クラッシュレポート</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Debugging_OOMs">Firefox OS の低メモリエラーをデバッグする</a></li>
- <li><a href="/Firefox_OS/Debugging/Debugging_and_security_testing">Firefox OS のデバッグとセキュリティテスト</a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Debugging_B2G_using_gdb"><span class="gmw_"><span class="gm-spell gm_ gm_7a44a2c7-9d5d-e693-57b5-a88dd9adacd8">gdb と関連ツールを使用して B2G をデバッグする</span></span></a></li>
- <li><a href="/ja/Firefox_OS/Debugging/Debugging_B2G_using_valgrind">Valgrind を使用して B2G をデバッグする</a></li>
- </ol>
- </li>
-</ol>
diff --git a/files/ja/archive/firefox_os/platform/apps_architecture/index.html b/files/ja/archive/firefox_os/platform/apps_architecture/index.html
deleted file mode 100644
index 5ff3b86b19..0000000000
--- a/files/ja/archive/firefox_os/platform/apps_architecture/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: B2G OS アプリのアーキテクチャ
-slug: Archive/Firefox_OS/Platform/Apps_architecture
-tags:
- - Apps
- - B2G OS
- - Guide
-translation_of: Archive/B2G_OS/Platform/Apps_architecture
----
-<p>アプリケーションを開発、配布するにあたって、B2G OS 上でアプリがどのように起動、管理されるのか、その詳細について理解する必要はありませんが、多少なりとも関心はあるかもしれません。また、この情報は B2G OS プラットフォーム開発者や、OS を新しいハードウェアへ移植するチームにとっても有益なものとなるでしょう。</p>
-
-<h2 id="The_app_startup_process" name="The_app_startup_process">アプリの起動プロセス</h2>
-
-<p>ユーザが起動したいアプリを選択した場合、あるいはアプリが起動される必要がある場合、<a href="/ja/docs/Web/API/App" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>App</code></a> API からのアプリ参照を得ることによってホーム画面アプリが起動し、<a href="/ja/docs/Web/API/App/launch" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>App.launch()</code></a> メソッドを呼び出してアプリを起動します。</p>
-
-<p>Gecko はそのリクエストを受け取り、System アプリへ <a href="/ja/docs/Web/API/MozChromeEvent" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>mozChromeEvent</code></a> を送り、アプリの詳細を伝えます。System アプリは、自身の DOM ツリーへ新しい <a href="/ja/docs/Web/HTML/Element/iframe" title="HTML の &lt;iframe> 要素は、ブラウジングコンテキスト (browsing context) の入れ子を表現し、事実上現在のページに他の HTML ページを埋め込むことができます。HTML 4.01 では、文書は head および body、または head および frameset を持つことができ、body と frameset の両方は持ちません。しかし、&lt;iframe> は通常の文書 body 内で使用できます。ブラウジングコンテキストはそれぞれ、セッション履歴とアクティブな文書を持ちます。埋め込みコンテンツを含む側のブラウジングコンテキストを、親ブラウジングコンテキストと呼びます。トップレベルのブラウジングコンテキスト (親を持ちません) は通常ブラウザーウィンドウです。"><code>&lt;iframe&gt;</code></a> を挿入し、そこにアプリを読み込むことで、そのイベントを処理します。アプリが終了するまで、そのフレームがアプリの居場所となります。</p>
-
-<p>各アプリはアプリの情報を記述したマニフェストを必要とし、そのパッケージ内で特定のファイル構造を持ちます。詳しくは <a href="/ja/docs/Web/Apps/App_Manifest">アプリマニフェスト</a> の記事を参照してください。</p>
-
-<h2 id="Communication_with_Gecko" name="Communication_with_Gecko">Gecko との通信</h2>
-
-<p>Gecko と Gaia の System アプリ間の通信は <a href="/ja/docs/Web/API/MozChromeEvent" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>mozChromeEvent</code></a> と <a href="/ja/docs/Web/API/MozContentEvent" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>mozContentEvent</code></a> を通じて行われます。<code>mozChromeEvent</code> はクロームからコンテンツへの送出であり、<code>mozContentEvent</code> はコンテンツからクロームへの送出です。この通信は、信頼された UI の作成と閉鎖を管理したり、通知やその他のタスクのために必要な機能を挿入したりするのに使用されます。これにはあるアプリを起動するよう System アプリへ伝えることも含まれます。</p>
-
-<div class="note">
-<p><strong>注:</strong> これに関するドキュメントは、System アプリやその下層の対応コードに取り組んでいる開発者が主に関心を持つものとはいえ、整備する必要があります。今のところ、<code><a href="https://dxr.mozilla.org/mozilla-central/source/b2g/chrome/content/shell.js" rel="custom">b2g/chrome/content/shell.js</a></code> にあるコードを参照することで、これがどのように使われているか、多くの情報を収集できます。</p>
-</div>
-
-<h2 id="See_also" name="See_also">関連記事</h2>
-
-<ul>
- <li><a href="/ja/docs/Web/Apps">Apps</a></li>
- <li><a href="/ja/docs/Web/API/App" title="この項目についての文書はまだ書かれていません。書いてみませんか?"><code>App</code></a></li>
-</ul>
diff --git a/files/ja/archive/firefox_os/platform/feature_support_chart/index.html b/files/ja/archive/firefox_os/platform/feature_support_chart/index.html
deleted file mode 100644
index 5e37cc2be4..0000000000
--- a/files/ja/archive/firefox_os/platform/feature_support_chart/index.html
+++ /dev/null
@@ -1,161 +0,0 @@
----
-title: 機能サポート表
-slug: Archive/Firefox_OS/Platform/Feature_support_chart
-tags:
- - B2G
- - QA
- - Testing
-translation_of: Archive/B2G_OS/Platform/Feature_support_chart
----
-<p></p>
-
-<div class="summary">
-<p><span class="seoSummary">あなたが自分でダウンロードやビルドできる、Firefox OS の種々のビルドがあります、そして各端末で利用可能な機能の種類はいくらか異なっています。下記の図表は、色々なビルドで何が動いて何が動かないかを理解するのに役立ちます。</span></p>
-</div>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="row">機能</th>
- <th scope="col">端末</th>
- <th scope="col">エミュレータ</th>
- <th scope="col">デスクトップ</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">ダイヤラー</th>
- <td>全て</td>
- <td>UI のみ、ネットワークなし</td>
- <td>UI のみ、ネットワークなし</td>
- </tr>
- <tr>
- <th scope="row">連絡先</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">SMS</th>
- <td>全て</td>
- <td>UI のみ、ネットワークなし</td>
- <td>UI のみ、ネットワークなし</td>
- </tr>
- <tr>
- <th scope="row">カメラ</th>
- <td>全て</td>
- <td>UI のみ、カメラサポートなし</td>
- <td>UI のみ、デスクトップのカメラサポートは現在不明</td>
- </tr>
- <tr>
- <th scope="row">ギャラリー</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">ビデオ</th>
- <td>全て</td>
- <td>UI のみ</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">音楽</th>
- <td>全て</td>
- <td> </td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">FM ラジオ</th>
- <td>全て</td>
- <td>全て</td>
- <td>UI のみ</td>
- </tr>
- <tr>
- <th scope="row">Eメール</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">電卓</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">ブラウザ</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">Marketplace</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">時計</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">カレンダー</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">ホーム画面</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">ロック画面</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">キーボード</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">タスクマネージャ</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">初回起動</th>
- <td>全て</td>
- <td>?</td>
- <td>?</td>
- </tr>
- <tr>
- <th scope="row">通知</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- <tr>
- <th scope="row">ステータスバー</th>
- <td>全て</td>
- <td>いくつかのネットワーク状態はテスト不可</td>
- <td>いくつかのネットワーク状態はテスト不可</td>
- </tr>
- <tr>
- <th scope="row">設定</th>
- <td>全て</td>
- <td>全て</td>
- <td>全て</td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/index.html b/files/ja/archive/firefox_os/platform/gaia/gaia_apps/index.html
deleted file mode 100644
index 79630998cd..0000000000
--- a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/index.html
+++ /dev/null
@@ -1,91 +0,0 @@
----
-title: Gaia アプリ
-slug: Archive/Firefox_OS/Platform/Gaia/Gaia_apps
-tags:
- - Apps
- - Architecture
- - B2G OS
- - Gaia
-translation_of: Archive/B2G_OS/Platform/Gaia/Gaia_apps
----
-<div class="summary">
-<p><span class="seoSummary">Gaia は B2G OS のフロントエンドで、システム管理機能とB2G OS端末に組み込まれて出荷されるアプリスイートを含んでいます。Gaia のソースコード全ては(システムやキーボード IME さえも)完全にHTML5 (HTML + CSS + JavaScript) と オープンな WebAPIで実装されています。この一連の文書は、Gaiaファミリーの中で利用できる各デフォルトアプリがどのように動作するのかについての情報を含みます。</span></p>
-</div>
-
-<h2 id="Gaia_機能性カテゴリ">Gaia 機能性カテゴリ</h2>
-
-<p>Gaiaの内部の様々なアプリは、おおまかに下記のグループに分類できます。</p>
-
-<div class="note">
-<p><strong>記</strong>: 個々のアプリの動作について詳しく説明するための多くのリンク先は、<a href="https://github.com/mozilla-b2g/gaia/">Gaia Github repo</a> の中の READMEページです。その理由は、多くのアプリが高速開発サイクルの途中で、ゆえに高速に (しばしば毎日) 変わり、よってその変更と合わせてMDNページを更新し続けるのはほとんど意味がないためです。エンジニアがメンテする READMEページが、現在最も正確な情報元です。</p>
-</div>
-
-<h3 id="プラットフォーム">プラットフォーム</h3>
-
-<p>システム、設定、ロック画面、ビルドスクリプト、Bluetoothアプリを含みます。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7503/platform_team.png" style="display: block; height: 269px; margin: 0px auto; width: 355px;"></p>
-
-<h4 id="プラットフォームアプリ_更なる説明">プラットフォームアプリ: 更なる説明</h4>
-
-<dl>
- <dt><a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps/System">システム</a></dt>
- <dd>システムアプリは <a href="https://developer.mozilla.org/ja/Firefox_OS/Platform/Architecture#Firefox_OS_bootup_procedure">B2G OS 起動処理</a>の中でGeckoによりロードされる最初のwebアプリで、一般的にシステムを動作させるのに必要となり、ゆえに個々のwebアプリに含まれない、多数の責務を処理します。</dd>
- <dt><a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps/Browser">ブラウザ</a></dt>
- <dd>ブラウザアプリ (いまはシステムの一部です) はブラウザ同様の機能を、必要に応じて (ページナビゲーションや、検索、ブックマークを含めて) 提供します。</dd>
- <dt><a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps/Window_Management">ウィンドウ管理</a></dt>
- <dd>B2G OSのウィンドウ管理機能 (アプリのライフサイクルや相互作用、通知、アニメーションその他たくさん) はシステムアプリの特定部分によって処理されます。この記事では B2G OS のウィンドウ管理を詳細に見ていきます。</dd>
- <dt><a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps/Settings">設定</a></dt>
- <dd>設定アプリは B2G OS ユーザに端末設定の調整を可能にし、外から来るアクティビティ(<code>configureという名の</code><a href="/ja/docs/WebAPI/Web_Activities">Webアクティビティ</a>) に応答します。このアクティビティは、他のアプリに対し設定アプリの他のパネルへの移動を可能にして、必要な調整が (例えば、データ接続が利用できない時に、wifi 設定パネルを表示する) できるようにします。</dd>
-</dl>
-
-<h3 id="通信">通信</h3>
-
-<p><span class="question-content"><span class="question-content-inner">ダイヤラー、連絡先、</span></span>SMSアプリと、FTUアプリを含みます。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7499/comms_team.png" style="display: block; height: 246px; margin: 0px auto; width: 317px;"></p>
-
-<h4 id="通信アプリ_更なる説明">通信アプリ: 更なる説明</h4>
-
-<p>TBD</p>
-
-<h3 id="生産性">生産性</h3>
-
-<p>Eメール、カレンダー、時計アプリを含みます。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7505/productivity_team.png" style="display: block; height: 178px; margin: 0px auto; width: 303px;"></p>
-
-<h4 id="生産性アプリ_更なる説明">生産性アプリ: 更なる説明</h4>
-
-<dl>
- <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/calendar/README.md">カレンダー</a></dt>
- <dd>B2G OS にビルトインされたカレンダーアプリ</dd>
- <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/clock/README.md">時計</a></dt>
- <dd>B2G OSのデフォルト時計アプリで、アラームやタイマーやストップウォッチ機能を含む。</dd>
- <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/email/README.md">Eメール</a></dt>
- <dd>Gaia Eメールアプリ</dd>
-</dl>
-
-<h3 id="メディア">メディア</h3>
-
-<p>カメラ、ギャラリー、音楽、ビデオアプリと、DRMや壁紙のようないくつかのメディア関連機能を含みます。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7501/media_team.png" style="display: block; height: 250px; margin: 0px auto; width: 386px;"></p>
-
-<h4 id="メディアアプリ_更なる説明">メディアアプリ: 更なる説明</h4>
-
-<dl>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Gaia/Gaia_apps/Video">ビデオ</a></dt>
- <dd>ビデオは単純なビデオプレイヤーアプリで、B2G OS 端末のストレージメディアにあるビデオ再生をします。</dd>
- <dt><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/camera/README.md">カメラ</a></dt>
- <dd>カメラでは B2G OS ユーザが自分の端末のカメラからビデオ・写真を撮影・管理するようにできて、カメラ機能を使ってメディアを捉えようとする、 他のアプリからの <code>pick</code> タイプの<a href="/en-US/docs/WebAPI/Web_Activities">Web アクティビティ</a>に応答します。</dd>
-</dl>
-
-<h3 id="その他のGaiaの機能">その他のGaiaの機能</h3>
-
-<p>これらの機能に加えて、その他の主要な機能、例えばブラウザ、ホーム画面、marketplace、テストフレームワーク、PDF ビューワ、アプリマネージャ、といったGaiaに緊密に開発されるものがあります。</p>
-
-<dl>
- <dt><a href="https://github.com/mozilla/pdf.js/blob/master/README.md">pdf.js</a></dt>
- <dd>pdf.js はHTML5ベースのPDFビューワで、Gaia内でPDFを見るのに使われます。気をつける点として、pdf.js のコードベースはGaiaの外にある独立したリポジトリで保守されています。</dd>
-</dl>
diff --git a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/window_management/index.html b/files/ja/archive/firefox_os/platform/gaia/gaia_apps/window_management/index.html
deleted file mode 100644
index 91d69c539f..0000000000
--- a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/window_management/index.html
+++ /dev/null
@@ -1,408 +0,0 @@
----
-title: Window Management
-slug: Archive/Firefox_OS/Platform/Gaia/Gaia_apps/Window_Management
-tags:
- - Apps
- - B2G
- - Firefox OS
- - Window Management
- - system
-translation_of: Archive/B2G_OS/Platform/Gaia/Gaia_apps/Window_Management
----
-<div class="summary">
-<p><span class="seoSummary">一般的に、ウィンドウマネージャーはグラフィックユーザーインターフェイスのウィンドウの配置や表示を制御するアプリケーションの一部です。この記事では Firefox OS がウィンドウ管理をどのようにハンドリングしているか記載しています。</span></p>
-</div>
-
-<p>Firefox OS では、ウィンドウ管理は <a href="/ja/Firefox_OS/Platform/Gaia/Gaia_apps/System">System アプリ</a>の一部で、以下の責務があります。</p>
-
-<ul>
- <li>アプリのライフサイクルとアプリ間のインタラクション</li>
- <li>UI 要素のレイアウト、リサイズ、回転、表示とアニメーション、変換</li>
- <li>web activity や Notification、タスクマネージャーのようなシステム全体の UI ロジック</li>
- <li>ポップアップ、コンテキストメニュー、エラーページのようなアプリ仕様 UI 機能</li>
-</ul>
-
-<p>各アイテムの説明にいく前に、Gaia でアプリがどのように起動するかを説明します。</p>
-
-<h2 id="Gaia_でのアプリ起動説明">Gaia でのアプリ起動説明</h2>
-
-<p>Firefox OS ではアプリの起動方法はいくつかあります。例えばほかのアプリから作られたシステムメッセージ経由で起動したり、ホームスクリーン上のアイコンをタップすることによる起動などあります。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7709/app-launch-flow.png" style="width: 728px; height: 414px; display: block; margin: 0px auto;"></p>
-
-<p>アプリを開く制御のイベントは Gecko エンジンや System アプリによってハンドリングされます。これについては下で説明します。</p>
-
-<h3 id="アプリ構造">アプリ構造</h3>
-
-<p>Gaia の webapps はHTML、CSS、JavaScript、image、マニフェストなどのアプリケーションアセットのすべてが含まれる zip ファイルである <a href="/ja/Marketplace/Publishing/Packaged_apps">パッケージ型アプリ</a>があります。Gaia の webapp は以下の基本構造で構成されています。</p>
-
-<div class="code-block">
-<div class="highlight">
-<pre><code class="brush: bash">apps</code><code class="o">/</code><code class="p">[</code><code class="n">app</code> <code class="n">name</code><code class="p">]</code><code class="o">/</code>
- <code class="o">-</code> <code class="n">js</code>
- <code class="o">-</code> <code class="n">styles</code>
- <code class="o">-</code> <code class="n">locales</code>
- <code class="o">-</code> <code class="n">test</code>
- <code class="o">-</code> <code class="n">index</code><code class="p">.</code><code class="n">html</code>
- <code class="o">-</code> <code class="n">manifest</code><code class="p">.</code><code class="n">webapp</code>
-</pre>
-</div>
-</div>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7497/app_load_process.png" style="width: 2262px; height: 1979px; margin: 0px auto; display: block;"></p>
-
-<p>ビルトインの Gaia アプリがホームスクリーンから起動した際、Gecko は <em>manifest://[app name].gaiamobile.org:8080 </em>という URL を開こうとし、manifest.webapp の場所に変換して マニフェストの <em>launch_path</em> で定義されている index ファイルを実行します。(すべてのビルトインアプリは launch_path は index.htmlです。)  index.html ファイルでは必要となるスタイルシートや JavaScript をロードします。</p>
-
-<div class="note">
-<p><strong>注意</strong>:インフォーマルな慣習として、Gaia アプリの メイン JavaScript のエントリーポイントは通常 <code>[app name].js</code> もしくは <code>main.js</code> です。</p>
-</div>
-
-<h3 id="アプリ起動シーケンス">アプリ起動シーケンス</h3>
-
-<p>イベントは Gecko へ通知されます。Gecko の準備ができていれば、<a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/app_window_factory.js">system/js/app_window_factory.js </a>から <code>AppwindowFactory</code> に アプリの起動イベントである <code>webapps</code> イベントか、システムメッセージの保留をハンドリングするための <code>open-app </code>イベントが送られます。</p>
-
-<pre class="brush: js">window.addEventListener('applicationready', function appReady(e) {
- window.removeEventListener('applicationready', appReady);
- window.addEventListener('webapps-launch', self);
- window.addEventListener('webapps-close', self);
- window.addEventListener('open-app', self);
-});</pre>
-
-<p><span style="background-color: #ffff00;">イベントハンドリング部分の詳しい説明として、<code>this.launch(config) </code>はアプリウィンドウもしくはアクティビティとして起動します。アプリを閉じると、<code>Appwindow</code> は 閉じるイベントである <code>webapps-close</code> イベントを受信します。</span></p>
-
-<p><code>launch()</code> メソッドのメイン処理は以下の通りです。</p>
-
-<pre class="brush: js">var app = AppWindowManager.getApp(config.origin);
-if (app) {
- app.reviveBrowser();
-} else if (config.origin !== homescreenLauncher.origin) {
- new AppWindow(config);
-} else if (config.origin == homescreenLauncher.origin) {
- homescreenLauncher.getHomescreen().ensure();
-}</pre>
-
-<p>コードでは最初に、アプリ変数の存在をチェックし、Gecko で再度起動させます。アプリ変数が無いとき、通常アプリであれば アプリのための <code>AppWindow</code> インスタンスを生成します。それ意外は <code>homesecreenLauncher</code> から起動した場合です。最後のケースの場合、必要となる操作を実行します。</p>
-
-<h3 id="AppWindow">AppWindow</h3>
-
-<p>Firefox OS はウェブページがアプリとして動作するように特殊な <a href="https://developer.mozilla.org/ja/docs/WebAPI/Browser">mozBrowser API </a>を利用します。ウィンドウ管理のルートは内部の iFrame(ウィンドウ) をラップするための mozBrowserAPI です。moz-browser タイプの特殊な iFrame は実際のブラウザとして動作する iFrame を作成します。</p>
-
-<p><code>AppWindow</code> は<code> mozBrowser </code>iFrame の生成、包含、管理をします。<code>AppWindow</code> は自信の<code> mozBrowser </code>iFrame<code> </code>が発火したすべての<code> mozBrowser </code>イベントを操作し、適切な UI 機能を表示します。</p>
-
-<h2 id="アプリライフサイクル管理">アプリライフサイクル管理</h2>
-
-<p>アプリの完全なライフサイクルは以下の通りです。</p>
-
-<ul>
- <li>アプリの起動</li>
- <li>システム DOM ツリーへの iframe 注入</li>
- <li>アプリ表示アニメーション</li>
- <li>アプリ表示</li>
- <li>アプリ非表示アニメーション</li>
- <li>アプリ非表示</li>
- <li>DOM ツリーからの iframe 削除</li>
- <li>アプリ終了</li>
-</ul>
-
-<h3 id="アプリの起動">アプリの起動</h3>
-
-<p>ユーザーがホームスクリーン上のアイコンをタップしたとき、ホームスクリーンは  Gecko エンジンに適切なアプリがオープンされたことを <a href="/ja/docs/Web/API/Navigator.mozApps">mozApps API </a>を使って通知します。</p>
-
-<h3 id="アプリの_kill">アプリの kill</h3>
-
-<p>アプリは以下の条件下で終了されます。</p>
-
-<ul>
- <li>アプリクラッシュ</li>
- <li><a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Debugging_OOMs#Process_priorities">OOM Killer </a>による終了</li>
- <li>タスクマネージャー経由によるアプリ終了</li>
- <li>window.close()  のコール</li>
-</ul>
-
-<p>アクティビティアプリは、非表示アニメーションを表示する前に、DOM ツリーから終了されたアプリの iFrame を削除します。前面でないアプリのとき、アプリ終了する際即時に iframe を除去します。</p>
-
-<p>アプリは以下の条件下で中断します。</p>
-
-<ul>
- <li>web activity の場合、呼び出されたアクティビティが表示されたとき</li>
- <li>Popups の場合、アプリが window.open を呼び出した時開きます</li>
- <li>アプリの場合、何もしません</li>
-</ul>
-
-<h3 id="アプリの再起動">アプリの再起動</h3>
-
-<p>アプリは以下の条件で再起動します。</p>
-
-<ul>
- <li>homescreen アプリ: ホームボタンが押された時</li>
- <li>ゾンビアプリはタスクマネージャから同じ URL が開かれるか、エッジジェスチャーからスワイプした場合に復活します</li>
-</ul>
-
-<h2 id="アプリのレンダリング">アプリのレンダリング</h2>
-
-<p>アプリ起動時、以下のブロックによりスクリーンは描画されます。</p>
-
-<ul>
- <li>System header</li>
- <li>App iframe</li>
- <li>Bottom wrapper bar (ブラウザが chrome モードの場合)</li>
-</ul>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7711/app-window-layout.png" style="width: 393px; height: 348px; display: block; margin: 0px auto;"></p>
-
-<p>アプリレイアウト</p>
-
-<p>アプリの iFrame のメインコンテナは以下のようになっています。</p>
-
-<pre class="brush: html">&lt;iframe id="browser2" mozallowfullscreen="true" mozbrowser="true" remote="true"...
-... src="", data-url="" data-frame-type="window" data-frame-origin="..."&gt;
-&lt;/iframe&gt;</pre>
-
-<p>iframe には以下の要素を含みます。</p>
-
-<ul>
- <li>Launch path (<code>data-url</code>, <code>data-frame-origin</code>)</li>
- <li>mozbrowser iframe 属性 (<code>mozallowfullscreen="true"</code>, <code>mozbrowser="true"</code>)</li>
- <li>コンテナ、オーバーレイ、アプリ仕様の UI</li>
-</ul>
-
-<h3 id="AppWindow_のリサイズ">AppWindow のリサイズ</h3>
-
-<p>AppWindow は以下の条件の場合にリサイズします。</p>
-
-<ul>
- <li> system アプリは回転の変更があるまでリサイズしない</li>
- <li>一般的なアプリは以下の条件でリサイズします
- <ul>
- <li>system アプリのによるリサイズ</li>
- <li>キーボードの開閉アニメーション</li>
- <li>ステータスバーの変更</li>
- <li><code>window.resizedBy()</code> または <code>window.resizeTo()</code> のコール</li>
- <li>ソフトウェアのホームボタン押下</li>
- </ul>
- </li>
-</ul>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7713/app-area.png" style="width: 715px; height: 305px; margin: 0px auto; display: block;"></p>
-
-<p>要約すると、ウィンドウサイズは以下のものに影響を受けます。</p>
-
-<ul>
- <li>回転状態</li>
- <li>キーボード状態</li>
- <li>警告画面の状態 (has call, has message, etc.)</li>
- <li>Chrome ナビゲーション状態</li>
- <li>フルスクリーン状態( <code>manifest.fullscreen</code> / <code>parentWindow)</code></li>
- <li>ソフトウェアホームボタン状態</li>
-</ul>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7715/app-area2.png" style="width: 687px; height: 330px; margin: 0px auto; display: block;"></p>
-
-<h3 id="アプリウィンドウの回転">アプリウィンドウの回転</h3>
-
-<p>アプリ画面の回転は各アプリから制御可能です。もしくはシステムから全体的に回転の制御はできます。orientation プロパティを manifest.webapp に記載することで、アプリ画面の回転を指定出来ます。以下はその一例です。</p>
-
-<pre class="brush: json">"orientation": "default",</pre>
-
-<p>orientation API を利用して回転のロック / アンロックを制御することも出来ます。</p>
-
-<pre class="brush: js">screen.mozLockOrientation([‘portrait-primary’]);
-
-screen.mozUnlockOrientation();</pre>
-
-<p>強制的に回転させるパラメータ値はいくつか存在します。</p>
-
-<ul>
- <li><code>default</code>: システムのデフォルト回転</li>
- <li><code>portrait</code>: ポートレートとして画面を描画</li>
- <li><code>landscape</code>: ランドスケープとして画面を描</li>
-</ul>
-
-<p>入手可能な詳細な情報については、<a href="/en-US/docs/Web/API/Screen.lockOrientation">Screen.lockOrientation</a> を参照してくたさい。また、サンプルは <a href="https://github.com/mozilla-b2g/gaia/blob/master/dev_apps/uitest/js/API/orientation.js">gaia/dev_apps/uitest/js/API/orientation.js から入手出来ます。</a></p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7717/app-orientation.png" style="width: 745px; height: 530px; margin: 0px auto; display: block;"></p>
-
-<h3 id="アプリの可視性">アプリの可視性</h3>
-
-<p>System アプリはスクリーンがオフになった時だけバックグラウンドになりますが、一般のアプリは以下のいくつかの条件の時にバックグラウンドになります。</p>
-
-<ul>
- <li>オーディオの競合</li>
- <li>プロセスポリシー</li>
- <li>レンダリング</li>
-</ul>
-
-<div class="note">
-<p><strong>注意</strong>: ページの可視性は親 iframe が非アクティブの期間は継承されます。</p>
-</div>
-
-<p>アプリは以下の時は常にフォアグランドになります。</p>
-
-<ul>
- <li>オープンアニメーション開始時</li>
- <li>アニメーション終了時のスワイプイン</li>
- <li>ロックスクリーンがアンロック時</li>
-</ul>
-
-<p>以下の時は、常にバックグラウンドです。</p>
-
-<ul>
- <li>終了アニメーションの非表示時</li>
- <li>電話呼び出し表示して 3 秒後</li>
- <li>スクリーンオフ時</li>
-</ul>
-
-<p>上記以外の例外もいくつかあります。</p>
-
-<ul>
- <li>通常のチャンネルで音楽を再生するアプリ</li>
- <li>web activities をインラインで呼ぶアプリ</li>
- <li><code>window.open('', '', 'dialog')を開いているアプリ</code></li>
-</ul>
-
-<h3 id="アプリウィンドウのアニメーションとトランジション">アプリウィンドウのアニメーションとトランジション</h3>
-
-<p>Gaia のウィンドウマネージャーも、アプリウィンドウのアニメーションと滑らかなユーザーエクスペリエンスを実現するためのトランジションを提供してます。</p>
-
-<p>アプリウィンドウのアニメーションとトランジションは、以下の状態で管理されています。</p>
-
-<ul>
- <li><code>表示中アプリ</code> — 現在のアプリ</li>
- <li><code>起動中アプリ </code>/ 起動中アプリ群 — 起動中アプリのまとまり</li>
- <li><code>オープンフレーム </code>/ クローズフレーム — 表示 / 非表示アニメーションのためのトランジションフレーム</li>
-</ul>
-
-<p><code>setDisplayedApp()</code> メソッド呼び出し中は、アプリは以下の図にあるとおりの状態を遷移して起動します。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7719/app-animations-state-manchine.png" style="width: 704px; height: 358px; display: block; margin: 0px auto;"></p>
-
-<p>Firefox OS アニメーション管理のための以下のようなトリックが組み込まれています。</p>
-
-<ul>
- <li>アプリを開く前に、バックグラウンド状態からの復帰を保証する必要があります。そのため、通常 1 x 1 のスクリーンショットを最描画時に撮っています。</li>
- <li>アプリが開ける状態になれば、次のアプリのアニメーションと現在のアプリのアニメーションの描画を同時に行います。</li>
- <li>アプリの開始、終了の間は画面回転のロック / アンロックのコードを実行します。</li>
- <li>アプリが1度リサイズされている時だけ、開始時のリサイズを行います。それ以外はリサイズ処理をスキップします。</li>
- <li> ページの可視性を 1x 1のスクリーンショットを撮ることにより変更します。(上述参照)</li>
-</ul>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/7721/app-switching-flow.png" style="width: 530px; height: 258px; display: block; margin: 0px auto;"></p>
-
-<h2 id="アプリウィンドウの_UI_仕様">アプリウィンドウの UI 仕様</h2>
-
-<p>ブラウザーの chrome やモーダルダイアログ、コンテキストメニュー、ポップアップやエラーページのように、特定のアプリに関連するいくつかの UI 要素が存在します。</p>
-
-<p>この事について以下の議論をしてみましょう。</p>
-
-<h3 id="モーダルダイアログ">モーダルダイアログ</h3>
-
-<p>Oデスクトップ版 Firefox では、web 開発ツールのコンソールを開き alert()や confirm() 、prompt()  コマンドを入力すると、コンテンツ上にの中央に表示されるダイアログを得ることができます。これは、Firefox OS でモーダルダイアログと同等のものになります。</p>
-
-<p><br>
- <img alt="" src="https://mdn.mozillademos.org/files/7723/modal-dialogs.png" style="width: 715px; height: 357px; margin: 0px auto; display: block;"></p>
-
-<h3 id="コンテキストメニューダイアログ">コンテキストメニューダイアログ</h3>
-
-<p>コンテキストメニュー(もきくは長押メニュー)はモバイル開発のコンセプトの1つです。一般のアプリとして作られている場合、頻繁に利用されるアクションはユーザーにとってアプリを利用しやすいように表示されるべきです。コンテキストメニューは、すぐには表示されないが、すぐに利用可能にするべきアクションのための配置場所を提供します、<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/7725/context-menu-dialogs.png" style="width: 722px; height: 360px; display: block; margin: 0px auto;"></p>
-
-<h3 id="(https)認証ダイアログ">(https)認証ダイアログ</h3>
-
-<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/app_authentication_dialog.js">system/js/app_authentication_dialog.js </a>に定義しています</p>
-
-<h3 id="日付、時刻等の選択ダイアログ">日付、時刻等の選択ダイアログ</h3>
-
-<p><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/system/js/value_selector">system/js/value_selector/</a> に定義しています</p>
-
-<h3 id="権限ダイアログ">権限ダイアログ</h3>
-
-<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/permission_manager.js">system/js/permission_manager.js</a> と <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/media_recording.js">system/js/media_recording.js</a> (トレイパネルのユーティリティ)に定義しています</p>
-
-<h2 id="特殊なアプリ">特殊なアプリ</h2>
-
-<p>特殊なアプリに含まれる特殊な機能を実行するために、特別なアプリウィンドウオブジェクトを必要とするアプリが存在します。</p>
-
-<ul>
- <li>ホームスクリーン</li>
- <li>FTU</li>
- <li>キーボード</li>
- <li>通信量管理</li>
- <li>Secure camera (ロックスクリーン内)</li>
- <li>ロックスクリーン</li>
-</ul>
-
-<h2 id="子ウィンドウ管理">子ウィンドウ管理</h2>
-
-<p>子アプリウィンドウは直接的または、間接的にほかのアプリやページから開かれます。例えば、以下のようなものです。</p>
-
-<ul>
- <li>警告ウィンドウ</li>
- <li>ポップアップウィンドウ</li>
- <li>アクティビティウィンドウ</li>
- <li>信頼された UI / 信頼されたウィンドウ</li>
-</ul>
-
-<p>子ウィンドウが通常終了した場合、親ウィンドウは再度開かれます。ある種の子ウィンドウは、他の子ウィンドウを伴うこともあります。親子のプロセス管理が重要になってきます。</p>
-
-<h2 id="警告ウィンドウ">警告ウィンドウ</h2>
-
-<p>警告ウィンドウは以下の警告で利用されます。</p>
-
-<ul>
- <li>電話呼び出し - 電話アプリ</li>
- <li>アラーム画面 - 時計アプリ</li>
- <li>パーミッション確認</li>
-</ul>
-
-<p>現在これらの警告ウィンドウは、デフォルト回転(ポートレート優先)に強制されます。</p>
-
-<h2 id="信頼された_UI">信頼された UI</h2>
-
-<p>Persona や mozPay API は信頼された UI を利用します。これらは全体の 80% に定められています。信頼された UI が動作している間はホームスクリーンの一部が表示されるようになっています。<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/7727/trusted-ui.png" style="width: 737px; height: 516px; display: block; margin: 0px auto;"></p>
-
-<h2 id="履歴管理">履歴管理</h2>
-
-<p>このセクションでは、FIrefox OS での履歴管理のハンドリングをする、いくつかのコンポーネントを説明します。</p>
-
-<h3 id="タスクマネージャー">タスクマネージャー</h3>
-
-<p>タスクマネージャー(カードビュー)はホームボタンの長押しでトリガーされます。端末のアプリ履歴を表示し、アプリを終了することが可能です。</p>
-
-<p>Firefox 2.0 から、表示されて存在しているふりをするゾンビアプリも取得可能な機能になっています。</p>
-
-<h3 id="Web_activity_配置">Web activity 配置</h3>
-
-<p>インラインのアクティビティはアクティビティのデータを提供するための新しい参照ページを作成します。<br>
- <br>
- ウィンドウアクティビティは、存在しているウィンドウが消費したアクティビティデータを再利用します。</p>
-
-<h3 id="エッジジェスチャー(実験的)">エッジジェスチャー(実験的)</h3>
-
-<p>実験的エッジジェスチャー機能は Firefox OS 2.0 以上の開発者モードで利用可能です。そして、アプリや web ページ間の移動を画面端の右/左からスワイプすることで可能にします。</p>
-
-<h4 id="次に表示されるアプリはどのように選ばれるの?">次に表示されるアプリはどのように選ばれるの?</h4>
-
-<ul>
- <li>アクティブアプリの子ウィンドウ</li>
- <li>新しく起動したもの</li>
- <li>アプリスタックの次に積まれているウィンドウ</li>
-</ul>
-
-<h4 id="前に表示されるアプリはどのように選ばれるの?">前に表示されるアプリはどのように選ばれるの?</h4>
-
-<ul>
- <li>アクティブアプリの親ウィンドウ</li>
- <li>前に起動されたものF</li>
- <li>アプリスタックで現在のウィンドウより前に積まれたウィンドウ</li>
-</ul>
-
-<h3 id="スクリーンショット管理">スクリーンショット管理</h3>
-
-<p>スクリーンショットツールはタスクマネージャーがアプリの履歴を表示するために利用します。アプリの終了アニメーション中にアプリのスクリーンショットは撮られます。</p>
-
-<h2 id="関連項目">関連項目</h2>
-
-<p><a href="http://alivedise.github.io/blog/2013/02/23/from-browser-to-browser/">From Browser to Browser</a></p>
diff --git a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/ブラウザ/index.html b/files/ja/archive/firefox_os/platform/gaia/gaia_apps/ブラウザ/index.html
deleted file mode 100644
index 3e2906a61f..0000000000
--- a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/ブラウザ/index.html
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: ブラウザ
-slug: Archive/Firefox_OS/Platform/Gaia/Gaia_apps/ブラウザ
-tags:
- - Apps
- - B2G
- - B2G OS
- - Browser
- - Gaia
- - Guide
-translation_of: Archive/B2G_OS/Platform/Gaia/Gaia_apps/Browser
----
-<div class="summary">
-<p><span class="seoSummary"><a href="https://github.com/mozilla-b2g/gaia/tree/v1.4/apps/browser">ブラウザアプリ</a> (現在は System の一部です) は、ページナビゲーション・検索・ブックマークなどを含むブラウザとして必要な機能を持っています。この記事では ブラウザアプリの基本的な機能の動作と、巨大なシステムの一部として動作していることについて説明します。</span></p>
-</div>
-
-<p>Gaia は Gecko 上で動作しています。これは、Gekco インスタンスとして一般的な Web ページをナビゲートするブラウザアプリや System ブラウザ を設計可能にしています。これは、<a href="https://developer.mozilla.org/en-US/docs/DOM/Using_the_Browser_API">mozBrowser API</a> を操作することにより可能になっています。</p>
-
-<div class="note">
-<p><strong>注意</strong>: B2G OS 2.1 以上から、ブラウザアプリは System アプリの一部となっています。これは、ブラウザアイコンをクリックして開いたり、ユニバーサルサーチからアクセスしたり、ナビゲーションケイパビリティからアクセスできることを意味しています。このアプリとブラウジングタブは今後 <a href="https://wiki.mozilla.org/FirefoxOS/Haida">Haida ユーザーエクスペリエンス</a>として共通のエクスペリエンスとして統合され、タスクマネージャーに表示・シートとして表示(エッジジェスチャー)されます。</p>
-</div>
-
-<h2 id="システムブラウザ_(Browser_Chromeブラウザ_クローム)">システムブラウザ (Browser Chromeブラウザ クローム)</h2>
-
-<p>B2G OS ユーザーがホームスクリーンに表示されるように Web ページをブックマークした際、ブラウザアプリの代わりにシステムブラウザを開くサブシーケンスが動作します。これは画面下に戻る・進む・更新機能を含むツールバーを持っています。Gaia では、この機能を Browser Chrome または wrapper と呼んでいます。以下の図のように右下の矢印を押したときに表示されます。</p>
-
-<p><img alt="A diagram showing that when a web page is opened in the system browser, it is given a toolbar." src="https://mdn.mozillademos.org/files/7869/browser-app.png" style="display: block; height: 500px; margin: 0px auto; width: 738px;"></p>
-
-<p>もし Web ページで戻る・進む・更新機能を利用したい場合、アプリマニフェストに以下のように Browser Chrome を有効にすることで実現できます。</p>
-
-<pre class="brush: json">declare { chrome: { navigation: true } }</pre>
-
-<div class="note">
-<p><strong>注意</strong>: Browser Chrome のツールバーはコンテンツの高さに影響します。そのため、Web ページレイアウトに考慮する必要があります。</p>
-</div>
-
-<h3 id="処理順番">処理順番</h3>
-
-<p>B2G OS 上で新しい Web ページを開いた際、以下の処理順番になります。</p>
-
-<pre>Gecko &gt; WrapperFactory &gt; Window Manager &gt; AppWindow &gt; BrowserFrame</pre>
-
-<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/wrapper_factory.js">system/js/wrapper_factory</a> から継承している Wrapper は <code>mozbrowseropenwindow</code> イベントをブックマークページから受信します。</p>
-
-<p><a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/wrapper_factory.js#L15">handleEvent</a> 部分で、ハンドラーは Web ページをブラウザアプリ・Browser Chrome どちらで開くかを定義したイベントをチェックします。</p>
-
-<p>最後に、一致するウィンドウ上で起動するために <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/wrapper_factory.js#L115">launchWrapper</a> が実行されます。</p>
-
-<h2 id="ユニバーサルサーチとナビゲーション">ユニバーサルサーチとナビゲーション</h2>
-
-<p>新しい検索とナビゲーションバーでは、B2G OS 上からユーザーはお気に入りページや、入力した URL 、新しいアプリを入手することができます。</p>
-
-<p>B2G OS は web アプリを利用しており、欲しいアプリがインストールされていない新しいアプリだとしてもすぐに開くことができます。そのため、この機能はブラウザからの<a href="https://support.mozilla.org/ja/kb/awesome-bar-find-your-bookmarks-history-and-tabs">スマートロケーションバー</a>やホームスクリーンからの<a href="https://support.mozilla.org/ja/kb/search-and-discover-content?redirectlocale=en-US&amp;redirectslug=use-adaptive-search-discover-personalized-apps"> adaptive app search </a>の組み合わせとみなせます。全ては web ライクですぐに使えるため、何もインストールする必要はありません。</p>
-
-<h2 id="ブラウザアプリ">ブラウザアプリ</h2>
-
-<p>ブラウザアプリは一般的なブラウザ体験を提供するための認定 web アプリです。メイン機能は <a href="https://github.com/mozilla-b2g/gaia/tree/v1.4/apps/browser/js/browser.js">apps/browser/js/browser.js</a> にあります。</p>
-
-<pre class="brush: js">var Browser = {
- init: function browser_init() {
- this.getAllElements();
- ...
- BrowserDB.init((function() {
- ...
- }
- }
-};
-
-window.addEventListener('load', function browserOnLoad(evt) {
- window.removeEventListener('load', browserOnLoad);
- Browser.init();
-});</pre>
-
-<p>ブラウザは DOM がロードされた時に init() 関数を実行します。</p>
-
-<pre class="brush: js">getAllElements: function browser_getAllElements() {
- var elementIDs = [
- 'toolbar—start', ... 'danger—dialog'];
-
- // Loop and add element with camel style name to Modal Dialog attribute.
- elementIDs.forEach(function createElementRef(name) {
- this[this.toCamelCase(name)] = document.getElementById(name);
- }, this);
-},</pre>
-
-<p>getAllElements 関数は全てのキャメルケース要素のハンドラーを取得した後に、 <a href="https://github.com/mozilla-b2g/gaia/tree/v1.4/apps/browser/js/browser_db.js">apps/browser/js/browser_db.js</a> を実行しデフォルトのサーチエンジンやブックマークの追加の準備をするために利用します。</p>
-
-<h2 id="ブックマーク">ブックマーク</h2>
-
-<p>B2G OS 2.0 から <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/bookmark">apps/bookmark</a> はブックマークの保存 / 削除アクティビティのハンドラーとして利用しています。</p>
-
-<p>最も興味深い実装として、以下のような <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/bookmark/manifest.webapp">apps/bookmark/webapp.manifest</a> の部分です。</p>
-
-<pre class="brush: json">"activities": {
- "save—bookmark": {
- "filters": {
- "type": "url",
- "url": { "required":true, "pattern":"https?:.{1,16384}" }
- },
- "disposition": "inline",
- "href": "/save.html",
- "returnValue": true
- },
- "remove—bookmark": {
- "filters": {
- "type": "url",
- "url": { "required":true, "pattern":"https?:.{1,16384}" }
- },
- "disposition": "inline",
- "href": "/remove.html",
- "returnValue": true
- }
-},</pre>
-
-<p>上述しているように、アクティビティは save.html や remove.html によってハンドリングされています。この操作は <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/bookmark/js/activity_handler.js">apps/bookmark/js/activity_handler.js</a> によってデリゲートされています。</p>
-
-<pre class="brush: js">var ActivityHandler = {
- 'save—bookmark': function ah_save(activity) {
- },
-
- 'remove—bookmark': function ah_remove(activity) {
- }
-};
-
-navigator.mozSetMessageHandler('activity', function onActivity(activity) {
- var name = activity.source.name;
- switch (name) {
- case 'save—bookmark':
- case 'remove—bookmark':
- if (activity.source.data.type === 'url') {
- ActivityHandler[name](activity);
- }
- ...
- }
-}</pre>
-
-<p>メッセージハンドラのリスナーである <code>navigator.mozSetMessageHandler('activity')</code> が save-bookmark または remove-bookmark アクティビティのメッセージを受信したときに、<code>ActivityHandler </code>関数は対応する操作のハンドラーを呼び出します。</p>
diff --git a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/設定アプリ/index.html b/files/ja/archive/firefox_os/platform/gaia/gaia_apps/設定アプリ/index.html
deleted file mode 100644
index d3713c8627..0000000000
--- a/files/ja/archive/firefox_os/platform/gaia/gaia_apps/設定アプリ/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: 設定アプリ
-slug: Archive/Firefox_OS/Platform/Gaia/Gaia_apps/設定アプリ
-tags:
- - Apps
- - B2G
- - B2G OS
- - Gaia
- - JavaScript
- - Settings
-translation_of: Archive/B2G_OS/Platform/Gaia/Gaia_apps/Settings
----
-<div class="summary">
-<p><span class="seoSummary">設定アプリは、デバイスの設定変更する事を許可し、アプリから表示要求のあったアクティビティに反応します。(例えば、ネットワーク接続していない時に、アプリが設定アプリに対して wifi 設定パネルを要求するなど) この記事では、この設定アプリがどのように動作しているか説明します。</span></p>
-</div>
-
-<h2 id="mozSettings_API_と_Data_binding">mozSettings API と Data binding</h2>
-
-<p>技術的にいうと、設定アプリは認定アプリが利用できる  <a href="/en-US/docs/Web/API/Navigator.mozSettings">window.navigator.mozSettings API</a> を利用して設定にアクセスするための UI を提供しています。設定アプリはバインドされたデータフィールドや mozSettings 値の様な基本的な設定操作を自動でハンドリングします。全ての</p>
-
-<p>The Settings app automatically handles basic settings operations such as binding data fields and mozSettings values — all basic operations such as toggling a setting or changing an input value will also result in the relevant mozSettings value being changed.</p>
-
-<p>The <code>window.navigator.mozSettings</code> API accesses the settings data from Gecko. The usage looks something like this:</p>
-
-<pre class="brush: js">navigator.mozSettings.createLock().set(values);</pre>
-
-<p>For set data.</p>
-
-<div class="note">
-<p><strong>Note</strong>: We need to use <code>createLock()</code> to lock the settings before reading or writing any <code>mozSettings</code> values.</p>
-</div>
-
-<p>To retrieve data, we could use get and set a callback function to start some operation upon the data:</p>
-
-<pre class="brush: js">var reqTimerGoBack =
-window.navigator.mozSettings.createLock().get('icc.goBackTimeout');
-reqTimerGoBack.onsuccess = function icc_getTimerGoBackSuccess() {
- goBackTimer.timeout = reqTimerGoBack.result['icc.goBackTimeout'];
- ...
-};</pre>
-
-<p>The data is stored in an <code>instance.result</code> dict.</p>
-
-<p>From B2G OS 2.0, a single <code>mozSettings</code> instance can be reused via <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/modules/settings_cache.js">js/modules/settings_cache.js</a>:</p>
-
-<pre class="brush: js">var SettingsCache = require('modules/settings_cache');
-
-SettingsCache.getSettings(function(result){
- var onlineSupportTitle = result['support.onlinesupport.title'];
- ...
-});</pre>
-
-<h2 id="Navigation">Navigation</h2>
-
-<p>When users open the Settings app, they see several panels listed on the overview page, which are functional independent pages. <code>SettingsService.navigate</code> (<a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/modules/settings_service.js">js/module/settings_service.js</a>) controls navigation between those pages.</p>
-
-<div class="note">
-<p><strong>Note</strong>: For legacy panels (which are not yet ported to the new structure), settings.currentPanel is used instead of SettingsService.navigate to navigate<br>
- between panels.</p>
-</div>
-
-<p>Since B2G OS will support tablet devices as well as mobiles, the Settings app has two different types of navigation model implemented:</p>
-
-<ul>
- <li>One column (for mobile)</li>
- <li>Two column (for tablet)</li>
-</ul>
-
-<p>While called, <code>SettingsService.navigate</code> determines what navigation model to use via the following code:</p>
-
-<pre class="brush: js">if (_isTabletAndLandscape()) {
- PageTransitions.twoColumn(oldPanel, newPanel, callback);
-} else {
- PageTransitions.oneColumn(oldPanel, newPanel, callback);
-}</pre>
-
-<h2 id="Panels">Panels</h2>
-
-<p>From B2G OS 2.0 onwards, the basic panel structure is defined in <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/modules/panel.js">js/modules/panel.js</a>. It defines six lifecycle stats:</p>
-
-<ul>
- <li><code>init</code></li>
- <li><code>beforeShow</code></li>
- <li><code>show</code></li>
- <li><code>hide</code></li>
- <li><code>beforeHide</code></li>
- <li><code>uninit</code></li>
-</ul>
-
-<p>All new settings panels are inherited from <code>SettingsPanel</code>, which extends <code>Panel</code>’s functionalities. The code is contained in <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/modules/settings_panel.js">js/modules/settings_panel.js</a>:</p>
-
-<pre class="brush: js">onInit: function(panel, initOptions) {
- ...
-
- PanelUtils.activate(panel);
-},
-
-onBeforeShow: function(panel, beforeShowOptions) {
- // Preset the panel every time when it is presented.
- PanelUtils.preset(panel);
- _addListeners(panel);
- ...
-},</pre>
-
-<p><code>PanelUtils.activate</code> — defined in <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/modules/panel_utils.js">js/modules/panel_utils.js</a> — is used to parse all links in the panel and adds corresponding handlers in <code>onInit</code> stat, and <code>PanelUtils.preset</code> is used to preset elements with the settings values in the <code>onBeforeShow</code> stat.</p>
-
-<p>All new settings panels are defined in the <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/settings/js/panels">js/panels</a> folder.</p>
-
-<h2 id="AMD_module_and_Build_time_optimization">AMD module and Build time optimization</h2>
-
-<p>From B2G OS 2.0 onwards, the Settings app uses the <a href="http://en.wikipedia.org/wiki/Asynchronous_module_definition">AMD modules pattern</a> to implement each panel. The AMD modules are loaded via <a href="https://github.com/requirejs/alameda">Alemeda</a> (a lighter version of <a href="http://requirejs.org/">RequireJS</a>) and built/optimized using <code>r.js</code> (the RequireJS optimizer). The Settings app still had dependencies on files (<a href="https://github.com/mozilla-b2g/gaia/tree/master/shared/js">shared/js</a>) which aren’t AMD modules. For those it uses the <code>shim</code> options defined in <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/config/require.js">settings/js/config/require.js</a>.</p>
-
-<h2 id="See_also">See also</h2>
-
-<p>The <a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/settings">Settings app has a build-in README</a> which is useful to read for a further information on Settings (Mainly written by Arthur Chen and Fred Lin).</p>
diff --git a/files/ja/archive/firefox_os/platform/gaia/index.html b/files/ja/archive/firefox_os/platform/gaia/index.html
deleted file mode 100644
index 254aabf34f..0000000000
--- a/files/ja/archive/firefox_os/platform/gaia/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Gaia
-slug: Archive/Firefox_OS/Platform/Gaia
-tags:
- - B2G
- - Gaia
- - Mobile
-translation_of: Archive/B2G_OS/Platform/Gaia
----
-<p>Gaia は <a href="/ja/docs/Mozilla/Firefox_OS" title="/ja/docs/Mozilla/Firefox_OS">B2G OS</a> のユーザインタフェース層です。B2G OS の起動後にスクリーンに表示されるものは、ロック画面、ホーム画面、電話、その他のアプリケーションも含め、全て Gaia によって描画されます。Gaia は 完全に <a href="/ja/docs/HTML" title="/ja/docs/HTML">HTML</a>、<a href="/ja/docs/CSS" title="/ja/docs/CSS">CSS</a>、<a href="/ja/docs/JavaScript" title="/ja/docs/JavaScript">JavaScript</a> で記述されています。下層のオペレーティングシステムとハードウェアに対するインタフェースのみ、<a href="/ja/docs/Gecko" title="/ja/docs/Gecko">Gecko</a> で実装されている、標準 Web API が使用されています。</p>
-
-<p>この設計のおかげで、Gaia は B2G OS デバイスだけではなく、他のオペレーティングシステムや Web ブラウザ(ブラウザの性能によって機能が低下する可能性がありますが)でも実行することが可能です。</p>
-
-<p>サードパーティアプリケーションは Gaia と併せてインストールされ、Gaia によって起動されます。</p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="Documentation" name="Documentation">Gaia に関するドキュメント</h3>
-
- <dl>
- <dt><a href="/ja/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="ja/docs/Mozilla/Boot_to_Gecko/Introduction to Gaia">Gaia 概論</a></dt>
- <dd>Gaia は B2G OS デバイスのユーザインタフェースアプリケーションです。シンプルな Web アプリケーションで、B2G OS ソフトウェアスタックの最上層で動作します。このガイドは Gaia を高いレベルで紹介します。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Gaia/Gaia_apps">Gaia アプリ</a></dt>
- <dd>Gaia ファミリー内で利用できるデフォルトアプリそれぞれの情報と、使用法や修正方法を含む。</dd>
- <dt><a href="/ja/Firefox_OS/Developing_Gaia" title="ja/docs/Mozilla/Boot_to_Gecko/Gaia hacking guide">Gaia ハッキングガイド</a></dt>
- <dd>Gaia インタフェースのハッキングや変更と、Gaiaプロジェクトへの貢献に関するガイド</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/ja/docs/tag/Gaia" title="/ja/docs/tag/B2G">全て表示...</a></span></p>
- </td>
- <td>
- <h3 id="Community" name="Community">コミュニティの支援を受ける</h3>
-
- <p>もし Gaia で作業をしていたり、Gaia アプリケーションを開発したりしているなら、あなたを支援するコミュニティリソースがあります!</p>
-
- <ul>
- <li>Boot to Gecko プロジェクトフォーラムに相談する : <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-gaia"> メーリングリストとして</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia"> ニュースグループとして</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.gaia/feeds"> フィードとして</a></li>
-</ul></li>
- </ul>
-
- <ul>
- <li>Mozilla の Gaia IRC チャンネルで質問する : <a href="irc://irc.mozilla.org/gaia" title="irc://irc.mozilla.org/gaia">#gaia</a></li>
- </ul>
-
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html"><em>ネチケット</em>を忘れないでください...</a></span></p>
-
-
- <h3 id="Related_Topics" name="Related_Topics">関連トピック</h3>
-
- <ul>
- <li><a href="/ja/docs/Mobile" title="ja/docs/Mobile">モバイル</a></li>
- <li><a href="https://developer.mozilla.org/ja/docs/Web" title="/en-US/docs/Web">開発者向けWebテクノロジー</a>
- <ul>
- <li><a href="/ja/docs/HTML" title="ja/docs/HTML">HTML</a></li>
- <li><a href="/ja/docs/CSS" title="ja/docs/CSS">CSS</a></li>
- <li><a href="/ja/docs/JavaScript" title="ja/docs/JavaScript">JavaScript</a></li>
- </ul>
- </li>
- </ul>
-
- <h3 id="リソース">リソース</h3>
-
- <ul>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Architecture" title="/ja/docs/Mozilla/Firefox_OS/Architecture">B2G OS アーキテクチャ概要</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><br>
-  </p>
diff --git a/files/ja/archive/firefox_os/platform/gonk/index.html b/files/ja/archive/firefox_os/platform/gonk/index.html
deleted file mode 100644
index e9ea7d198f..0000000000
--- a/files/ja/archive/firefox_os/platform/gonk/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Gonk
-slug: Archive/Firefox_OS/Platform/Gonk
-tags:
- - B2G
- - Firefox OS
- - Gonk
- - NeedsContent
-translation_of: Archive/B2G_OS/Platform/Gonk
----
-<div class="summary">
- <p>Gonkは<a href="/en-US/docs/Mozilla/Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>プラットフォームのための、<a class="external" href="http://source.android.com/">Android Open Source Project</a> のLinux Kernelベースと、Userspace Hardware Abstraction Lyaer(HAL)から構成される低レベルオペレーティングシステムです。この記事では、Gonkの構成を説明することに的を絞っています。Firefox OSの全般的なアーキテクチャやGonkがどのようにFirefox OSに最適化されているかは、<a href="/en-US/Firefox_OS/Platform/Architecture" style="line-height: 1.5;">Firefox OS architecture</a><span style="line-height: 1.5;"> を読んでください。</span></p>
-</div>
-<h2 id="Gonkの概要">Gonkの概要</h2>
-<p>Geckoのソースコードの中にはb2g/フォルダがあり、モバイルハードウェア機能をウェブ用にアンロックするための、Gonkポートが含まれます。それらにはLinux KernelとHAL、そしてOEMライブラリが含まれます。数種類のGonkのライブラリはcommonオープンソースプロジェクトです。(libusb, bluezなど) いくつかのHALの一部はAndroid プロジェクトと共有しています。(GPS, Cameraなど)</p>
-<p>Gonkはデバイスを移植するレイヤー(ハードウェアとGecko間をつなぐアダプター役)です。GonkはGeckポーティングレイヤーとペアをなしているGeckoポートを扱うことができる比較的シンプルなLinuxディストリビューションです。(だから、GeckoをOS XやWindows, Androidにポーティングするように、Gonkは<a href="/ja/docs/Gecko" style="line-height: 1.5;" title="/ja/docs/Gecko">Gecko</a>をポーティングターゲットとしています。)</p>
-<div class="note">
- <p><strong style="line-height: 1.5;">Note</strong><span style="line-height: 1.5;">:モバイルデバイスはそれぞれ異なるチップセット、異なるハードウェア仕様になります。そのためデバイス毎に異なるGonkディストリビューションが存在します。 </span></p>
-</div>
-<p>Firefox OSプロジェクトがGonk全てコントロールするようになって以来、他のオペレーティングシステムでは見せることができないインターフェイスを見せることができています。例えばGeckoは直接テレフォニースタックの全てにアクセスしたり、Gonkのバッファーフレームに描画することができます。</p>
-<h2 id="Gonk_ソースコード">Gonk ソースコード</h2>
-<p><a href="https://github.com/mozilla-b2g/B2G">B2G repo on Github</a>には複数のデバイスにポーティングされた公式サポートのGonkをが含まれ、Gonkレポジトリを自身で扱うことができます。サポートしているデバイスリストは B2G/config.shから入手できます。 </p>
-<p>Gonk作業の日々の大半では、異なるボード上への移植や、異なるデバイス上でGeckoがうまく動作することを確認することです。</p>
diff --git a/files/ja/archive/firefox_os/platform/index.html b/files/ja/archive/firefox_os/platform/index.html
deleted file mode 100644
index 75e5786e3c..0000000000
--- a/files/ja/archive/firefox_os/platform/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Firefox OS プラットフォーム
-slug: Archive/Firefox_OS/Platform
-tags:
- - Firefox OS
- - Landing
- - TopicStub
-translation_of: Archive/B2G_OS/Platform
----
-<div class="summary">
-<p><span class="seoSummary">B2G OS プラットフォームは、多くのコンポーネントで構成されています。B2G OS で動作するアプリケーションを構築するために B2G OS のアーキテクチャを理解する必要はありませんが、プラットフォームの開発や移植の作業を行っている (あるいは単に興味がある) 場合は、以下のドキュメントが重要であるかもしれません。</span></p>
-</div>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">B2G OS プラットフォームに関するドキュメント</h2>
-
- <dl>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Architecture" title="Mozilla/Firefox_OS/Platform/Architecture">B2G OS アーキテクチャの概要</a></dt>
- <dd>B2G OS が内部でどのように組み立てられているかの概要です。これは主に、プラットフォームの開発者や移植作業を行う人々にとって重要です。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Apps_architecture" title="Mozilla/Firefox_OS/Platform/Apps_architecture">B2G OS のアプリアーキテクチャ</a></dt>
- <dd>B2G OS のアプリケーションモデルの概要です。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Gaia" title="Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></dt>
- <dd>B2G OS 向けのユーザインターフェイスアプリケーションである、Gaia のドキュメントです。これはB2G OS のソフトウェアスタック上で動作する Web アプリケーションです。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Gonk" title="Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></dt>
- <dd>Gaia の下のオペレーティングシステム層である、Gonk のドキュメントです。これは Linux カーネルと、Gecko が通信する ハードウェア抽象化層 で構成されています。</dd>
- <dt><a href="/ja/docs/Mozilla/Gecko" title="Mozilla/Gecko">Gecko</a></dt>
- <dd>Gecko は、Firefox や Thunderbird で使用されているものと同じオープン Web 標準の実装を、その他多くのアプリケーションにも提供するB2G OS のレイヤーです。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Security" title="Mozilla/Firefox_OS/Security">セキュリティ</a></dt>
- <dd>B2G OS のセキュリティに関するドキュメントです。ここにはあらゆる見地 (アプリ開発者向け、デバイスインテグレータなど) からの、セキュリティの仕組みに関するトピックがあります。</dd>
- <dt><a href="https://developer.mozilla.org/ja/Firefox_OS/Debugging/Out_of_memory_management_on_Firefox_OS">B2G OSでの低メモリ管理</a></dt>
- <dd>この記事では、B2G OSにおいて低メモリキラーと低メモリ通知を使って、低メモリな状況をいかに管理するかを説明します。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="Mozilla/Firefox_OS/Platform/Feature_support_chart">機能サポート表</a></dt>
- <dd>どの種類の B2G OS ビルドでどの機能が利用可能かを示した表です。</dd>
- <dt><a href="/ja/docs/Mozilla/Firefox_OS/Platform/Settings_list" title="Mozilla/Firefox_OS/Platform/Settings_list">B2G OS 設定一覧</a></dt>
- <dd>API の<a href="/ja/docs/WebAPI/Settings" title="WebAPI/Settings">設定</a>に使用できる一般的な設定名称の一覧です。</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/ja/docs/tag/B2G" title="tag/B2G">すべて見る...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">コミュニティの支援を受ける</h2>
-
- <p>もし B2G OS で作業をしていたり、B2G OS デバイスで実行したいアプリケーションを開発したりしているなら、あなたを支援するコミュニティリソースがあります!</p>
-
- <ul>
- <li>Boot to Gecko プロジェクトフォーラムに相談する (英語): <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> メーリングリストとして</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> ニュースグループとして</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> フィードとして</a></li>
-</ul></li>
- </ul>
-
- <ul>
- <li>Mozilla の Boot to Gecko IRC チャンネルで質問する (英語): <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
-
- <p><span class="alllinks"><a href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html"><em>ネチケット</em>を忘れないでください...</a></span></p>
-
-
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">関連トピック</h2>
-
- <ul>
- <li><a href="/ja/docs/Mobile" title="Mobile">モバイル</a></li>
- <li><a href="/ja/docs/HTML" title="HTML">HTML</a></li>
- <li><a href="/ja/docs/CSS" title="CSS">CSS</a></li>
- <li><a href="/ja/docs/JavaScript" title="JavaScript">JavaScript</a></li>
- </ul>
-
- <h2 class="Tools" id="リソース">リソース</h2>
-
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/Roadmap" title="https://wiki.mozilla.org/B2G/Roadmap">ロードマップ</a></li>
- <li><a href="/ja/docs/Mozilla/Firefox_OS/Feature_support_chart" title="Mozilla/Firefox_OS/Feature_support_chart">機能サポート表</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ja/archive/firefox_os/platform/keyboard_events_across_browser_elements/index.html b/files/ja/archive/firefox_os/platform/keyboard_events_across_browser_elements/index.html
deleted file mode 100644
index 14ff0b1f6d..0000000000
--- a/files/ja/archive/firefox_os/platform/keyboard_events_across_browser_elements/index.html
+++ /dev/null
@@ -1,645 +0,0 @@
----
-title: ブラウザ要素をまたいだキーボードイベント
-slug: Archive/Firefox_OS/Platform/Keyboard_events_across_browser_elements
-tags:
- - B2G
- - Firefox OS
- - TV
- - events
- - keyboard
- - mozbrowser
- - mozbrowserafterkeydown
- - mozbrowserafterkeyup
- - mozbrowserbeforekeydown
- - mozbrowserbeforekeyup
-translation_of: Archive/B2G_OS/Platform/Keyboard_events_across_browser_elements
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<p class="summary">このポストでは、 Firefox OS スマートTVプラットフォームにてTVリモコンをプログラムしてキーボードイベントを管理する試みを紹介します。</p>
-
-<p>The behavior of input events via hardware keys in Firefox OS varies widely from app to app. Early smartphones came with a limited number of keys — Power, Home, Volume up, Volume down — so it was easy for the software to determine an appropriate response for each keypress event. However, Smart TV remotes now come with many hardware keys, and defining the appropriate behavior when a key is pressed has become an important issue on the <a href="https://www.mozilla.org/en-US/firefox/os/devices/tv/">Firefox OS TV</a> platform. If a hardware key on a smart remote can be used both by apps and by the system, it’s important to determine which response is triggered when the key is pressed.</p>
-
-<p>Here we’ll classify keyboard events into four scenarios, describe dispatch scenarios for each, including how they interact with the system. This is the first of two posts about keyboard events for Firefox OS Smart TV.</p>
-
-<p><img alt="Figure.1" src="https://mdn.mozillademos.org/files/11413/f1.jpg" style="display: block; height: 533px; margin: 0px auto; width: 400px;"><br>
- We begin with the ‘Info’ key on a TV remote. Often, it’s used by the hardware to display system information, although it’s possible for an application to use the same key to display app information. When a user presses the key, what action will be shown on screen — system info or app info?</p>
-
-<h2 id="4つのキーボードイベントシナリオ">4つのキーボードイベントシナリオ</h2>
-
-<p>To determine the appropriate behavior when hardware keys are pressed, we start by describing four scenarios for keyboard events.</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>シナリオ</strong></th>
- <th scope="col"><strong>説明</strong></th>
- <th scope="col"><strong>イベント順序</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>SYSTEM-ONLY</td>
- <td>For keys that should be handled by <em>mozbrowser-iframe-host-page</em> only.</td>
- <td>system</td>
- </tr>
- <tr>
- <td>SYSTEM-FIRST</td>
- <td>For keys that can be handled by <em>mozbrowser-iframe-host-page</em> first and can then also be handled by <em>mozbrowser-iframe-embedded-page</em>.</td>
- <td>system &gt; app</td>
- </tr>
- <tr>
- <td>APP-CANCELLED</td>
- <td>For keys that should be handled by <em>mozbrowser-iframe-embedded-page</em> only.</td>
- <td>app</td>
- </tr>
- <tr>
- <td>APP-FIRST</td>
- <td>For keys that can be handled by <em>mozbrowser-iframe-embedded-page</em> first and can then also be handled by <em>mozbrowser-iframe-host-page</em>.</td>
- <td>app &gt; system</td>
- </tr>
- </tbody>
-</table>
-
-<p>The <em>mozbrowser-iframe-host-page</em> and <em>mozbrowser-iframe-embedded-page</em> mentioned above are illustrated in the figure below. If <code>A.html</code> represents a host page whose source is <code>B.html</code>, then <code>A.html</code> is the <em>mozbrowser-iframe-host-page</em>, and <code>B.html</code> is <em>mozbrowser-iframe-embedded-page</em>. <a href="/en-US/docs/Web/HTML/Element/iframe#attr-mozbrowser">mozbrowser</a> uses the non-standard Firefox <a href="/en-US/docs/Web/API/Using_the_Browser_API">Browser API</a>, built for the implementation of key features and content experiences in Firefox OS apps.</p>
-
-<p><img alt="Fig. 2" src="https://mdn.mozillademos.org/files/11415/fig2.png" style="display: block; height: 222px; margin: 0px auto; width: 454px;"></p>
-
-<p>Suitable responses for any given keyboard events depend on the scenario. In the case illustrated above, let’s suppose that the Info key is categorized as APP-FIRST and the default action set by the system is to show system information. Thus, when we press the ‘Info’ key with app Z in the foreground, there are two possible results:</p>
-
-<ol>
- <li>If app Z has an event handler that tells the ‘Info’ key to show app information, then app information will appear on screen when the user presses the ‘Info’ key on the remote.</li>
- <li>If app Z doesn’t set an event handler for the ‘Info’ key, the default action is triggered — the screen will show the system information.</li>
-</ol>
-
-<h2 id="4つのシナリオ用のサンプルを実装する方法">4つのシナリオ用のサンプルを実装する方法</h2>
-
-<p>To implement examples illiustrating the four keyboard event scenarios described above, we’ve introduced four new keyboard events:</p>
-
-<ul>
- <li><code>mozbrowserbeforekeydown</code> — fired <strong>before</strong> the <code>keydown</code> event.</li>
- <li><code>mozbrowserafterkeydown</code> — fired <strong>after</strong> the <code>keydown</code> event.</li>
- <li><code>mozbrowserbeforekeyup</code> — fired <strong>before</strong> the <code>keyup</code> event.</li>
- <li><code>mozbrowserafterkeyup</code> — fired <strong>after</strong> the <code>keyup</code> event.</li>
-</ul>
-
-<p>These four keyboard events are only received by the <em>window</em> that embeds a <em>mozbrowser-iframe</em>.</p>
-
-<p>The keyboard events occur in a specific sequence over time: <code>mozbrowserbeforekeydown</code>, <code>mozbrowserafterkeydown</code>, <code>mozbrowserbeforekeyup</code>, <code>keyup</code>, <code>mozbrowserafterkeyup</code>.</p>
-
-<p>This gives developers a way to implement the four scenarios mentioned above. Conceptually, the scenarios SYSTEM-ONLY, SYSTEM-FIRST and APP-CANCELLED, and APP-FIRST can be implemented by setting proper handlers for the <code>mozbrowserbeforekey*</code> and <code>mozbrowserafterkey*</code> events. The SYSTEM-ONLY and SYSTEM-FIRST scenarios can be implemented by setting proper handlers for <code>mozbrowserbeforekey*</code> events and the APP-CANCELLED and APP-FIRST scenarios can be implemented via <code>mozbrowserafterkey*</code> events.</p>
-
-<h3 id="Firefox_OS_内の_iframe_構造">Firefox OS 内の iframe 構造</h3>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/11417/fig3.png" style="display: block; height: 291px; margin: 0px auto; width: 590px;"></p>
-
-<p>To understand how to implement the four scenarios, let’s first take a look at iframe structure in Firefox OS. The outermost iframe in Firefox OS is <a href="https://dxr.mozilla.org/mozilla-central/source/b2g/chrome/content/shell.html">shell.html</a>. It embeds an <strong>in-process</strong> iframe sourced from <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/system/index.html">system/index.html</a>. The system app (system/index.html) contains several web apps (essentially iframes) that can be <strong>in-process</strong> <code>(<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-remote">remote</a>=”false”</code>) or <strong>out-of-process</strong> (<code>remote=”true”</code>.) The relationship of these three layers is summarised in the following table:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>mozbrowser iframe embedded page</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>shell.html</code></td>
- <td><code>system/index.html</code></td>
- </tr>
- <tr>
- <td><code>system/index.html</code></td>
- <td>web apps(essentially iframes)</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="キーボードイベントのディスパッチ順序">キーボードイベントのディスパッチ順序</h3>
-
-<p>When a <code>keydown</code> event is sent to some element in a <em>mozbrowser-iframe-embedded-page</em>, the owner of the embedded iframe, i.e., the <em>mozbrowser-iframe-host-page</em>, will receive the <code>mozbrowserbeforekeydown</code> event before the <em>keydown</em> event is sent and the <code>mozbrowserafterkeydown</code> event after the event is sent to the <em>mozbrowser-iframe-embedded-page</em>.</p>
-
-<p>In Gecko, once there is one <code>keydown</code> event with the target in an out-of-process iframe, embedded in an HTML document, the <code>keydown</code> event is duplicated on the HTML document as well. The target of this duplicated event is set as the embedded <a href="/ja/docs/Web/HTML/Element/iframe" title="HTML のインラインフレーム要素 (&lt;iframe>) は、入れ子になった閲覧コンテキスト (browsing context) を表現し、効果的に現在のページに他の HTML ページを埋め込むことができます。"><code>&lt;iframe&gt;</code></a> element.</p>
-
-<p>This results in the keyboard event sequence shown in the diagram below. It illustrates all related <code>keydown</code> events and their relationship when a <code>keydown</code> event with a target in a <em>mozbrowser-iframe-embedded-page</em> needs to be dispatched.</p>
-
-<p><a href="https://mdn.mozillademos.org/files/11419/fig4.png"><img alt="" src="https://mdn.mozillademos.org/files/11419/fig4.png" style="display: block; height: 240px; margin: 0px auto; width: 800px;"></a></p>
-
-<p>In brief, events follow this sequence:</p>
-
-<ol>
- <li>Before dispatching any <code>keydown</code> event, the <code>mozbrowserbeforekeydown</code> event is first dispatched to the window of <em>mozbrowser-iframe-host-page</em>.</li>
- <li>The original <code>keydown</code> event (with a target in a <em>mozbrowser-iframe-embedded-page</em>) will be duplicated on the <em>mozbrowser-iframe-host-page</em> HTML document. Its target will be set to be the iframe that contains the <em>mozbrowser-iframe-embedded-page</em>.</li>
- <li>The original <code>keydown</code> event will be dispatched to its target.</li>
- <li>After the original <code>keydown</code> event dispatch is complete, the <code>mozbrowserafterkeydown</code> event will be dispatched to the window of <em>mozbrowser-iframe-host-page</em>.</li>
-</ol>
-
-<p>Notice that the event dispatch process described above follows the <a href="http://www.w3.org/TR/DOM-Level-3-Events/#event-flow">DOM tree event flow</a>. Event sequence and event targets are organized as shown in the following table:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>Event</strong></th>
- <th scope="col"><strong>Target</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td>window in <em>mozbrowser-iframe-host-page</em></td>
- </tr>
- <tr>
- <td>2</td>
- <td><code>keydown</code></td>
- <td>iframe that contains the <em>mozbrowser-iframe-embedded-page</em> in <em>mozbrowser-iframe-host-page</em></td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>keydown</code></td>
- <td>original one in <em>mozbrowser-iframe-embedded-page</em></td>
- </tr>
- <tr>
- <td>4</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td>window in <em>mozbrowser-iframe-host-page</em></td>
- </tr>
- </tbody>
-</table>
-
-<p><a href="https://mdn.mozillademos.org/files/11421/f5.png"><img alt="" src="https://mdn.mozillademos.org/files/11421/f5.png" style="display: block; height: 294px; margin: 0px auto; width: 800px;"></a></p>
-
-<p>The keyboard events <code>mozbrowserbeforekeydown</code>, <code>keydown</code>, and <code>mozbrowserafterkeydown</code> can be extended to nested mozbrowser iframes, like the iframe structure in Firefox OS described earlier. In this case, the <code>mozbrowserbeforekeydown</code> and <code>mozbrowserafterkeydown</code> events will be dispatched to the innermost <em>mozbrowser-iframe-host-page</em> as well as the outer one. Thus, in Firefox OS, <code>mozbrowserkeydown</code> and <code>mozbrowserafterkeydown</code> will be dispatched to the window of <code>system/index.html</code> and the window of <code>shell.html</code>. the above diagram illustrates the whole dispatch sequence of related events when a <code>keydown</code> event is dispatched to a web app. The sequence of events is as follows:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>順序</strong></th>
- <th scope="col"><strong>イベント</strong></th>
- <th scope="col"><strong>ターゲット</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td>window in <code>shell.html</code></td>
- </tr>
- <tr>
- <td>2</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td>window in <code>system/index.html</code></td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>keydown</code></td>
- <td>iframe that contains the web app in <code>system/index.html</code></td>
- </tr>
- <tr>
- <td>4</td>
- <td><code>keydown</code></td>
- <td>original one in web app</td>
- </tr>
- <tr>
- <td>5</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td>window in <code>system/index.html</code></td>
- </tr>
- <tr>
- <td>6</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td>window in <code>shell.html</code></td>
- </tr>
- </tbody>
-</table>
-
-<p>Although the <code>keyup</code> event must be fired after <code>keydown</code>, the <code>keydown</code> event and the <code>keyup</code> event are independent of each other. Moreover, the path <code>mozbrowserbeforekeyup</code>, <code>keyup</code>, <code>mozbrowserafterkeyup</code> is independent of the path <code>mozbrowserbeforekeydown</code>, <code>keydown</code>, <code>mozbrowserafterkeydown</code>. Therefore, it’s possible for these two paths to cross each other. The <code>mozbrowserbeforekeyup</code> event may arrive before the <code>keydown</code> event.</p>
-
-<p>In Firefox OS, most apps run <strong>out-of-process</strong>. This means that the app runs on its own process, not on the main process. After dispatching a given <code>key*</code> event to the system app, it takes time to send the original <code>key*</code> event to the process where the <em>mozbrowser-iframe-embedded-page</em> is located. In a similar manner, after a given <code>key*</code> event is dispatched to the <em>mozbrowser-iframe-embedded-page</em>’s process, time is required to send the <code>mozbrowserafterkey*</code> event back to the process where the <em>mozbrowser-iframe-host-page</em> is located.</p>
-
-<p>Consequently, the <code>mozbrowserbeforekeyup</code> event may arrive in the main Firefox OS process (where the system app lives), before the <code>keydown</code> event is dispatched to the app’s own process. Common results of the order of the <code>key*</code> events are demonstrated in the diagram below. The yellow series represents the <code>keydown</code> path, and the blue series show the <code>keyup</code> path. And yes, these two paths may cross each other.</p>
-
-<p><a href="https://mdn.mozillademos.org/files/11423/f6.png"><img alt="" src="https://mdn.mozillademos.org/files/11423/f6.png" style="display: block; height: 185px; margin: 0px auto; width: 800px;"></a></p>
-
-<h2 id="キーボードイベント向けの詳細実装">キーボードイベント向けの詳細実装</h2>
-
-<p>In this section we’ll take a closer look at each of the four scenarios, complete with example code for each event-handling scenario.</p>
-
-<h3 id="SYSTEM-ONLY">SYSTEM-ONLY</h3>
-
-<p>If a keyboard event is categorized as <strong>SYSTEM-ONLY</strong>, then the desired response is defined in <code>mozbrowserbeforekey*</code>’s event handler. Once this key is pressed, the system receives the <code>mozbrowserbeforekey*</code> event before the <code>key*</code> event is dispatched to an app. In addition, the <code>key*</code> events dispatch is cancelled once the system event handler is called. Now, we need to figure out a way to stop the event dispatch. Above we saw that the keyboard events are dispatched to the system process, then also to the app process. To stop dispatching events to the <em>the embedded page</em>, <a href="/en-US/docs/Web/API/Event/preventDefault"><em>event.preventDefault()</em></a> is a straightforward solution. The defined <em>default action</em> of the <code>mozbrowserbeforekey*</code> event is to dispatch the <code>key*</code> event. For this reason, by calling <code>event.preventDefault()</code> in <code>mozbrowserbeforekey*</code>’s event handler, <code>key*</code> events won’t be dispatched. The final result as follows:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/11425/f7.png" style="display: block; height: 475px; margin: 0px auto; width: 600px;"></p>
-
-<h3 id="SYSTEM-FIRST">SYSTEM-FIRST</h3>
-
-<p>This is very similar to the implementation of <strong>SYSTEM-ONLY</strong>. The only difference is that it’s not necessary to call <code>event.preventDefault()</code> in <code>mozbrowserbeforekey*</code>’s event handler. Apps are able to handle the <code>key*</code> event after the system finishes processing it.</p>
-
-<p><a href="https://mdn.mozillademos.org/files/11427/f8.png"><img alt="" src="https://mdn.mozillademos.org/files/11427/f8.png" style="display: block; height: 294px; margin: 0px auto; width: 800px;"></a></p>
-
-<h3 id="APP-CANCELLED">APP-CANCELLED</h3>
-
-<p>If specific keyboard events are designated for use by apps only, such as those assigned to the four colored keys on smart TV remotes, then <code>event.preventDefault()</code> will be called in the app’s <code>key*</code> event handler.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/11429/f9.jpg" style="display: block; height: 534px; margin: 0px auto; width: 400px;"></p>
-
-<p>The <code>event.preventDefault()</code> call cannot prevent the <code>mozbrowserafterkey*</code> event from being dispatched to the system, but the property <code>embeddedCancelled</code> of <code>mozbrowserafterkey*</code> will be set to <strong>true</strong> once the embedded app calls <code>event.preventDefault()</code>. The value of <code>embeddedCancelled</code> tells the system whether or not this event has been handled already. If the value is <code>true</code>, the system does nothing.</p>
-
-<p><a href="https://mdn.mozillademos.org/files/11431/f10.png"><img alt="" src="https://mdn.mozillademos.org/files/11431/f10.png" style="display: block; height: 294px; margin: 0px auto; width: 800px;"></a></p>
-
-<h3 id="APP-FIRST">APP-FIRST</h3>
-
-<p>The difference between <strong>APP-FIRST</strong> and <strong>APP-CANCELLED</strong> is that with <strong>APP-FIRST</strong> <code>event.preventDefault()</code> will not be called in the app’s event handler. Therefore, the value of <code>embeddedCancelled</code> is <strong>false</strong> and the system can take over the keyboard event.</p>
-
-<p><a href="https://mdn.mozillademos.org/files/11433/f11.png"><img alt="" src="https://mdn.mozillademos.org/files/11433/f11.png" style="display: block; height: 294px; margin: 0px auto; width: 800px;"></a></p>
-
-<h2 id="サンプルコード">サンプルコード</h2>
-
-<p>Here's some sample code to illustrate how developers can handle such events in their own apps.</p>
-
-<h3 id="イベントハンドラ">イベントハンドラ</h3>
-
-<pre><code class="hljs cs"><span class="hljs-function">function <span class="hljs-title">handleEvent</span>(<span class="hljs-params"><span class="hljs-keyword">event</span></span>) </span>{
- dump(<span class="hljs-string">"Receive event '"</span> + <span class="hljs-keyword">event</span>.type + <span class="hljs-string">"'."</span>);
- <span class="hljs-comment">// Handle event here.....</span>
-};
-
-<span class="hljs-function">function <span class="hljs-title">handleEventAndPreventDefault</span>(<span class="hljs-params"><span class="hljs-keyword">event</span></span>) </span>{
- dump(<span class="hljs-string">"Receive event '"</span> + <span class="hljs-keyword">event</span>.type + <span class="hljs-string">"'."</span>);
- <span class="hljs-comment">// Handle event here.....</span>
-
- <span class="hljs-comment">// Call preventDefault() to stop the default action.</span>
- <span class="hljs-comment">// It means that the event is already handled.</span>
- <span class="hljs-keyword">event</span>.preventDefault();
-};
-
-<span class="hljs-function">function <span class="hljs-title">checkAttrAndHandleEvent</span>(<span class="hljs-params"><span class="hljs-keyword">event</span></span>) </span>{
- dump(<span class="hljs-string">"Receive event '"</span> + <span class="hljs-keyword">event</span>.type +
- <span class="hljs-string">"' with embeddedCancelled equals to '"</span> +
- <span class="hljs-keyword">event</span>.embeddedCancelled + <span class="hljs-string">"'."</span>);
- <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">event</span>.embeddedCancelled) {
- <span class="hljs-comment">// Do something if the event wasn't being handled before!</span>
- <span class="hljs-comment">// The following code should be executed in APP-FIRST scenario only!</span>
- }
-};</code></pre>
-
-<h3 id="SYSTEM-ONLY_2">SYSTEM-ONLY</h3>
-
-<p>mozbrowser iframe host page:</p>
-
-<pre><code class="hljs javascript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeydown'</span>, handleEventAndPreventDefault);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeyup'</span>, handleEventAndPreventDefault);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeydown'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeyup'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span></code></pre>
-
-<p>The embedded page:</p>
-
-<pre><code class="hljs javascript"><span class="hljs-comment">// This function will never be triggered because the preventDefault() is called in mozbrowserbeforekeyXXX's handler.</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keydown'</span>, handleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keyup'</span>, handleEvent);</code></pre>
-
-<p>Results of <em>keydown</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>The embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserbeforekeydown</code>.</td>
- </tr>
- <tr>
- <td>2</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<p>Results of <em>keyup</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>The embedded page</strong></th>
- <th scope="col"><strong>The host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeyup</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserbeforekeyup</code>.</td>
- </tr>
- <tr>
- <td>2</td>
- <td><code>mozbrowserafterkeyup</code></td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="SYSTEM-FIRST_2">SYSTEM-FIRST</h3>
-
-<p>mozbrowser iframe host page:</p>
-
-<pre><code class="hljs javascript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeydown'</span>, handleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeyup'</span>, handleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeydown'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeyup'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span></code></pre>
-
-<p>The embedded page:</p>
-
-<pre><code class="hljs coffeescript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keydown'</span>, handleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keyup'</span>, handleEvent);</code></pre>
-
-<p>Received results of <em>keydown</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>mozbrowser-embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserbeforekeydown</code>.</td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keydown</code></td>
- <td>Receive event <code>keydown</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<p>Received results of <em>keyup</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>The embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeyup</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserbeforekeyup</code>.</td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keyup</code></td>
- <td>Receive event <code>keyup</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeyup</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserafterkeyup</code> with <code>embeddedCancelled</code> set to <code>true</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="APP-CANCELLED_2">APP-CANCELLED</h3>
-
-<p>mozbrowser iframe host page:</p>
-
-<pre><code class="hljs javascript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeydown'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeyup'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeydown'</span>, checkAttrAndHandleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeyup'</span>, checkAttrAndHandleEvent);</code></pre>
-
-<p>mozbrowser iframe embedded page:</p>
-
-<pre><code class="hljs coffeescript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keydown'</span>, handleEventAndPreventDefault);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keyup'</span>, handleEventAndPreventDefault);</code></pre>
-
-<p>Received results of <em>keydown</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>The embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keydown</code></td>
- <td>Receive event <code>keydown</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserafterkeydown</code> with <code>embeddedCancelled</code> set to <code>true</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<p>Received results of keyup-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>mozbrowser-embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeyup</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keyup</code></td>
- <td>Receive event <code>keyup</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeyup</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserafterkeyup</code> with <code>embeddedCancelled</code> equals to <code>true</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="APP-FIRST_2">APP-FIRST</h3>
-
-<p>mozbrowser iframe host page:</p>
-
-<pre><code class="hljs javascript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeydown'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserbeforekeyup'</span>, <span class="hljs-function"><span class="hljs-keyword">function</span>() </span>{ }); <span class="hljs-comment">// no use</span>
-<span class="hljs-comment">// This will be trigger after keydown event is</span>
-<span class="hljs-comment">// dispatched to mozbrowser iframe embedded page</span>
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeydown'</span>, checkAttrAndHandleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'mozbrowserafterkeyup'</span>, checkAttrAndHandleEvent);</code></pre>
-
-<p>mozbrowser iframe embedded page:</p>
-
-<pre><code class="hljs coffeescript"><span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keydown'</span>, handleEvent);
-<span class="hljs-built_in">window</span>.addEventListener(<span class="hljs-string">'keyup'</span>, handleEvent);</code></pre>
-
-<p>Received results of <em>keydown</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>mozbrowser-embedded page</strong></th>
- <th scope="col"><strong>mozbrowser-iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeydown</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keydown</code></td>
- <td>Receive event <code>keydown</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeydown</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserafterkeydown</code> with <code>embeddedCancelled</code> set to <code>false</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<p>Received results of <em>keyup</em>-related events:</p>
-
-<table>
- <thead>
- <tr>
- <th scope="col"><strong>Order</strong></th>
- <th scope="col"><strong>mozbrowser-embedded page</strong></th>
- <th scope="col"><strong>mozbrowser iframe host page</strong></th>
- <th scope="col"><strong>Output</strong></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td><code>mozbrowserbeforekeyup</code></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td>2</td>
- <td> </td>
- <td><code>keyup</code></td>
- <td>Receive event <code>keyup</code>.</td>
- </tr>
- <tr>
- <td>3</td>
- <td><code>mozbrowserafterkeyup</code></td>
- <td> </td>
- <td>Receive event <code>mozbrowserafterkeyup</code> with <code>embeddedCancelled</code> set to <code>false</code>.</td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ja/archive/firefox_os/platform/out_of_memory_management_on_firefox_os/index.html b/files/ja/archive/firefox_os/platform/out_of_memory_management_on_firefox_os/index.html
deleted file mode 100644
index 83ba2f718d..0000000000
--- a/files/ja/archive/firefox_os/platform/out_of_memory_management_on_firefox_os/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Firefox OSの低メモリ管理
-slug: Archive/Firefox_OS/Platform/Out_of_memory_management_on_Firefox_OS
-tags:
- - Firefox OS
- - Gaia
- - LMK
- - OOM
- - Out of memory
- - low memory killer
- - low memory notifications
- - oom_adj
-translation_of: Archive/B2G_OS/Platform/Out_of_memory_management_on_Firefox_OS
----
-<p>
-</p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ja/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section>
-<p></p>
-<div class="summary">
-<p><span class="seoSummary">Firefox OSはメモリが制約された端末で実行され、そうしたシステムにおいて、使用可能なメモリをアプリが使い果たすのは簡単です。システムで使用可能なメモリが使い果たされた時、カーネルはメモリを解放するために、その他のプロセスを停止しなければなりません。この記事では低メモリキラーと低メモリ通知 ( この2つの端末上システムはシステムが低メモリになった時に、メインシステムを続けるためにどのプロセスを停止するかを管理する ) が動作する方法を説明します。</span></p>
-</div>
-
-<p>Firefox OS の操作はマルチプロセス ( 1つ動作している基本システムサービス「メインプロセス」と、潜在的なたくさんの「子プロセス」) を含んでいます。一般的に、各アプリはその子プロセスとして実行されます。Firefox OS 環境上でアプリケーションはユーザーによって滅多に終了される事が無いので、新しいアプリがメモリを必要としたときや起動しているアプリが更なるメモリを必要としたときにメモリ空間を作る事が出来るようにシステムは自動でアプリのライフサイクルを管理しています。</p>
-
-<p>2つのサブシステム (<strong>低メモリキラー (LMK)</strong> と<strong> 低メモリ通知</strong>) はこの管理に利用されています。</p>
-
-<h2 id="低メモリキラー(LMK)">低メモリキラー(LMK)</h2>
-
-<p><a href="https://android.googlesource.com/kernel/common.git/+/edd540ea92954f896bfb7ee0ebf5dfdde6e6cb41/drivers/staging/android/lowmemorykiller.txt">LMK</a> は メモリの要求があったときにメモリ空間を確保するためにプロセスを終了させる Android カーネル のサブシステムです。メモリを確保するために最初に終了させるプロセスを選択するために、<a href="https://www.kernel.org/doc/Documentation/filesystems/proc.txt">/proc/&lt;pid&gt;/oom_adj か /proc/&lt;pid&gt;/oom_score_adj ファイル</a>によって各プロセスは優先度を決められています。プロセスの優先度は adjustment スコアまたは、oom_adj として知られています。<code>oom_adj </code>の値は小さいほど優先度の高いプロセスです。</p>
-
-<p>一般的に、大きい adjustment スコアはプロセスが終了されやすくなります。 LKM は一定のメモリ空き容量と、最小の adjustment スコアに応じて、複数のレベルを提供しています。システムの空き容量がある一定のレベルよりも低くなったときはいつも、望ましいレベルで定義された最小の adjustment スコアよりも高い adjustment スコアのプロセスは終了します。LKM は最初に大きいプロセスを終了させます。そして、閾値以上にメモリが確保されるまでくりかえします。</p>
-
-<div class="note">
-<p><strong>記</strong>: バックグラウンドのアプリがLMKに停止された時、タスクマネージャで端をスワイプすると"ゾンビアプリ"になっています: 次にそのアプリをブラウズした時、復活するでしょう。この状態で維持できるアプリの最大数は現在10個です。</p>
-</div>
-
-<div class="note">
-<p><strong>記</strong>: 端末がメモリ不足になった時に停止されたプロセスは、必ずしもOOM(メモリ不足)の "原因" とは限りません。</p>
-</div>
-
-<h3 id="プロセスの優先順位">プロセスの優先順位</h3>
-
-<p>Firefox OS では、アプリは以下の優先順ポリシーに従って終了されます。このポリシーは各アプリケーションに優先度を与え、このレベル(<a href="http://hg.mozilla.org/mozilla-central/file/545c35907eff/b2g/app/b2g.js#l661">現在は prefs のセット値として設定されている</a>)に OOM adjustment スコアを関連づける事によって実現しています。</p>
-
-<ol>
- <li>最初に終了されるアプリは、最初に利用して起動しているバックグラウンドアプリです。</li>
- <li>ユーザーによって認識されているバックグラウンドアプリは次に終了されます。(例えば、音楽プレイヤーがバックグラウンドで音楽を再生していたり、アプリが高い優先度を持っていたり、CPU  wakelock やシステムメッセージのハンドラーを登録していたりするバックグラウンドアプリの事)</li>
- <li>もしキーボードアプリが起動していたら、次に終了されます。</li>
- <li>フォアグランドアプリケーションは次に終了されます。</li>
- <li>最後に、 <code>high-priority(</code>高い優先度) や CPU wakelocks を要求しているフォアグランドアプリケーションが最後に終了されます。</li>
-</ol>
-
-<div class="note">
-<p><strong>記</strong>: たいていの子プロセスは、フォアグランド動作時は <code>oom_adj 2</code> で動作します。バックグラウンドの子プロセスは<code>、oom_adj</code> <code>3</code> から <code>6</code> (を含む)の間で実行されます。<code>ある子プロセスがバックグラウンド時にどの oom_adj</code> を持っているかは、正確にファクタ数(音を鳴らしているのか、キーボードアプリなのか、など)で決まります。</p>
-</div>
-
-<p>このルールには2つの例外があります。</p>
-
-<ul>
- <li>すべての子プロセスが終了してOS を再起動してしまうので、メインプロセスは LMK によって終了される事はありません。メインプロセスは<code> oom_adj</code> が 0 として動作しています。</li>
- <li><strong>preallocated process</strong> と呼ばれる、新しいアプリケーションの起動で速度を上げるためのプロセスを保持しています。このプロセスはメモリ消費量が少ない事と、アプリケーションの起動を速くするため、通常生存したままです。すべてのプロセスを終了した後にメインプロセスを動作させるためのメモリが不足した場合にだけ、このプロセスは終了されます。</li>
-</ul>
-
-<h2 id="低メモリ通知">低メモリ通知</h2>
-
-<p>次のメモリが少なくなったときに利用するメカニズムは低メモリ通知です。 LMK は動作しているメモリが少なくなった事を通知する事が出来る<a href="https://www.codeaurora.org/cgit/quic/la//kernel/msm/commit/?id=b3f986cba580b14438b77b42070ebbc77b69d4c4">特別な閾値</a>を提供しています。システムアプリケーションと一般的なユーザーアプリケーションは監視サービスから通知される <code>memory-pressure </code>イベントに反応するために条件がくるのを待ち続けています。このイベントは C++ と chrome JS のコードだけに利用でき、直接アプリケーションが利用する事は出来ません。Gecko のコードベースを通じて、我々は利用可能なメモリを空けるためにイベントを利用します。(通常、内部キャッシュ(画像、DNS、sqlite等) を破棄し、再生可能なアセット(WebGL context等) を破棄したり、ガベッジコレクターやサイクルコレクターを実行させたりします)<br>
- <br>
- メモリが少ない状況に直面したら、最初の <code>memory-pressure</code> イベントが <code>low-memory</code> ペイロード付きで送信されるでしょう。定義した時間 (5秒) を経過してもメモリが少ない状況が続いていた場合、他の <code>memory-pressure</code> イベントが、<code>low-memory-ongoing</code> ペイロード付きで発火されます。このペイロードはメモリ不足の状態が継続しているときに利用され、私たちはキャッシュをフラッシュしたり、他のメモリを最少化するための安い方法を望みます。しかし、GC のような処理の重たいアプローチは成功しにくいでしょう。</p>
-
-<h2 id="LMKと低メモリ通知が協働する方法">LMKと低メモリ通知が協働する方法</h2>
-
-<p>現在、<a href="http://hg.mozilla.org/mozilla-central/file/545c35907eff/b2g/app/b2g.js#l722">低メモリーの閾値は バックグラウンドアプリケーションの LMK レベル以上に設定されていますが、ホームスクリーンより低く設定されています</a>。そのため、LMK と低メモリー通知の両方のアクションは、out of memory が端末で発生したときに以下のようにしないといけません。</p>
-
-<p>現在、2つの低メモリ閾値が使われています(<a href="https://hg.mozilla.org/mozilla-central/file/f617d69d602b/b2g/app/b2g.js#l787">ソフト</a> と <a href="https://hg.mozilla.org/mozilla-central/file/f617d69d602b/b2g/app/b2g.js#l782">ハード</a>閾値)。ソフトレベルはバックグラウンドアプリケーションのLMKレベルより大きく設定されていて、低メモリエラーが始まっているがアプリケーションが停止される前に、メモリ使用を最小化するのに使われます。いっぽうハードレベルは、LMKによってすべてのバックグラウンドアプリケーションが停止された後に、フォアグラウンドアプリケーションを生かし続けるために使われます。ただ1つのカーネルトリガーだけが利用できるため、この2つのレベルは、Geckoが動的にトリガーを調整できることにより、実装されています。端末が低メモリとなった時に、LMKと低メモリ通知の集約されたアクションは次の通り:</p>
-
-<ol>
- <li>すべてのアプリに <code>memory-pressure </code>イベントを通知する</li>
- <li>メモリがまだ不足している場合は、最近使用されていない順でバックグラウンドアプリを停止する</li>
- <li>メモリがまだ不足している場合は、すべての残っているアプリに <code>memory-pressure</code> イベントを通知する</li>
- <li>メモリ不足が継続している場合、5秒間隔で <code>memory-pressure</code> イベントを送信する。しかしGC/CC が反応しないように、実行中にマークする</li>
- <li>認知していたり、高い優先度のバックグラウンドアプリを終了する</li>
- <li>もし動作していたらキーボードアプリを終了する</li>
- <li>フォアグランドアプリケーションを終了する</li>
- <li>フォアグランドアプリケーションの高い優先度のものを終了する</li>
- <li>preallocated process を終了する</li>
-</ol>