aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/firefox
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/mozilla/firefox
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/mozilla/firefox')
-rw-r--r--files/ja/mozilla/firefox/australis_add-on_compat/index.html130
-rw-r--r--files/ja/mozilla/firefox/developer_edition/index.html34
-rw-r--r--files/ja/mozilla/firefox/developer_edition/reverting/index.html25
-rw-r--r--files/ja/mozilla/firefox/enterprise_deployment_before_60/index.html210
-rw-r--r--files/ja/mozilla/firefox/firefox_esr/index.html22
-rw-r--r--files/ja/mozilla/firefox/headless_mode/index.html267
-rw-r--r--files/ja/mozilla/firefox/linux_compatibility_matrix/index.html480
-rw-r--r--files/ja/mozilla/firefox/multiple_profiles/index.html245
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/index.html75
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/message_manager/index.html71
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/message_manager/message_manager_overview/index.html444
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/web_content_compatibility/index.html28
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/which_uris_load_where/index.html61
-rw-r--r--files/ja/mozilla/firefox/multiprocess_firefox/目的/index.html44
-rw-r--r--files/ja/mozilla/firefox/performance_best_practices_for_firefox_fe_engineers/index.html207
-rw-r--r--files/ja/mozilla/firefox/privacy/index.html20
-rw-r--r--files/ja/mozilla/firefox/privacy/storage_access_policy/index.html267
-rw-r--r--files/ja/mozilla/firefox/privacy/tracking_protection/index.html73
-rw-r--r--files/ja/mozilla/firefox/security_best_practices_for_firefox_front-end_engi/index.html48
19 files changed, 0 insertions, 2751 deletions
diff --git a/files/ja/mozilla/firefox/australis_add-on_compat/index.html b/files/ja/mozilla/firefox/australis_add-on_compat/index.html
deleted file mode 100644
index fb7e362c1e..0000000000
--- a/files/ja/mozilla/firefox/australis_add-on_compat/index.html
+++ /dev/null
@@ -1,130 +0,0 @@
----
-title: Australis とアドオンの互換性
-slug: Mozilla/Firefox/Australis_add-on_compat
-tags:
- - Extensions
-translation_of: Mozilla/Firefox/Australis_add-on_compat
----
-<div>{{FirefoxSidebar}}</div>
-
-<h2 id="拡張機能の変更">拡張機能の変更</h2>
-
-<p><strong>We've removed the add-ons toolbar (including the status-bar).</strong> You should no longer rely on it existing. There is a shim in place that will attempt to migrate your icons, but it may not work, or only work partially. The best solution is to change the placement of your button. This may also be a good time to wonder if your add-on really needs a toolbar button to be visible by default for all users. <strong>Add-ons made using the Add-on SDK should not need to worry about this change.</strong></p>
-
-<p><strong>We've removed the application (Firefox) menu.</strong> Instead, there is a <strong>new panel-based menu</strong> that can be opened with a button on the far side of the navigation toolbar. Toolbar items can be dragged in and out from this panel.</p>
-
-<p>Some of the default toolbarbutton IDs have changed, we have added some new ones, and the sequence of back/forward button, URL bar, stop/reload button, will no longer be customizable. This also means users cannot add new (add-on-provided) buttons inbetween these items using the normal customization flow.</p>
-
-<p>The standalone stop reload buttons have been removed.</p>
-
-<p>We're changing the way toolbar buttons are added. While we've attempted to maintain some measure of backward compatibility, the following are deprecated and will be removed in the near future: the <code>toolbar.insertItem</code> method, the <code>toolbar.currentSet</code> property, and the <code>currentset</code> attribute on toolbars. If possible, please stop relying on them. Instead, you should use the <a href="http://mxr.mozilla.org/projects-central/source/ux/browser/components/customizableui/src/CustomizableUI.jsm">CustomizableUI</a> module.</p>
-
-<p>CustomizableUI introduces a new API to insert, move and remove toolbar buttons and other toolbar items, as well as creating panels that are anchored to these toolbarbuttons. We believe this will be simpler and more powerful than the previous mix of APIs.</p>
-
-<p>Because of the new customization APIs, your toolbar buttons may not be direct children of a XUL <code>&lt;toolbar&gt;</code>; they might still be in a toolbar, or they might be in the "customization target" of a toolbar (a descendant node in a toolbar), or they might be in the new menu panel. The customization target of any toolbar (whether the target is a child node, or the toolbar itself) via <code>toolbar.customizationTarget.</code></p>
-
-<p><strong>Icon sizes in toolbars have changed</strong>, and you should ideally provide a larger icon for your add-on's buttons, should they exist, for use in the menu panel and customization area (palette). The new icon sizes are the same on all platforms and are:</p>
-
-<ul>
- <li>Toolbars:<br>
- <strong>16px</strong> (32px @2dppx) without padding.<br>
- Internal icons on the navbar use 18px. For add-ons, by default the padding is set up so it should work well if add-ons specify an icon of size 16px.</li>
- <li>Menu panel/Customization area (palette):<br>
- <strong>32px</strong> (64px @2dppx)<br>
- Please note that smaller icons will be <em>upscaled</em>.</li>
-</ul>
-
-<p>When in the customization area (palette), the button will be wrapped in a toolbarpaletteitem with a <code>place</code> attribute set to <code>palette</code>. Putting it all together, your updated CSS might look like this:</p>
-
-<pre class="brush: css notranslate">#my-addon-button {
-    list-style-image: url(icon16.png);
-}
-#my-addon-button[cui-areatype="menu-panel"],
-toolbarpaletteitem[place="palette"] &gt; #my-addon-button {
-    list-style-image: url(icon32.png);
-}
-
-/* High-resolution displays */
-@media (min-resolution: 2dppx) {
- #my-addon-button {
-     list-style-image: url(icon32.png);
- }
- #my-addon-button[cui-areatype="menu-panel"],
- toolbarpaletteitem[place="palette"] &gt; #my-addon-button {
-     list-style-image: url(icon64.png);
- }
-}
-</pre>
-
-<p>Tab markup and styling have changed. If your add-on affects the tabstrip or provides alternative visualizations of the tabstrip, changes tab colors, or anything else related to the tabstrip, you may want to verify that it still works.</p>
-
-<p>The navigation toolbar is always visible (except in popup windows where a reduced navigation toolbar with the urlbar is visible) and can no longer be hidden e.g. for update pages or in-content UI. The related Add-on SDK module <a href="/en-US/Add-ons/SDK/High-Level_APIs/addon-page">addon-page</a> has been removed as it no longer has any effect.</p>
-
-<p>Items in the navigation toolbar can be overflowed if the browser window is made too small. Items in the toolbar will be moved into the new "overflow panel" when this occurs. The overflow panel is anchored to a button that appears in the navigation toolbar when one or more items are overflowed. If your item should never be overflowed, set an <code>overflows</code> attribute to <code>false</code> on the item. The <code>urlbar-container</code> is not overflowable by default, for example. Items that are overflowed have the <code>overflowedItem</code> attribute set to <code>true</code>.</p>
-
-<p>The menu panel uses a 3-column grid layout. Items should either fit in a single grid column (<code>toolbarbutton</code>s will be styled to do so automatically) or span the entire width of the panel if they wouldn't fit in a single grid column, e.g. for wide <code>toolbaritem</code>s. In order to have the latter work correctly, you should use the <code>panel-wide-item</code> class on your <code>toolbaritem</code>.</p>
-
-<p>If your add-on provides a <code>&lt;toolbarbutton type="menu"/&gt;</code> or <code>&lt;toolbarbutton type="menu-button"/&gt;</code>, consider moving to a subview-based design, which will work much better in the menu panel. There's some <a href="/en-US/docs/Mozilla/JavaScript_code_modules/CustomizableUI.jsm">documentation</a> you can look at, as well as <a href="http://hg.mozilla.org/projects/ux/annotate/8b514254b168/browser/components/customizableui/src/CustomizableWidgets.jsm#l56">the implementation of the history widget</a>.</p>
-
-<p>If your add-on provides a simple <code>toolbarbutton</code> then it should automatically be styled correctly in the menu panel, overflow panel and palette. If it provides a <code>toolbaritem</code> it is likely you will need to do additional work to make it look nice in places other than a toolbar.</p>
-
-<p>All items will have context menus allowing users to move the items between the palette, panel and the navigation toolbar. If your add-on uses the contextmenu itself, we will not override or change it (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=892463">this bug</a> for a lengthy discussion as to why). You are requested, however, to update your menus yourself so that users do have the possibility of using these options even for your add-on's button.</p>
-
-<p>The <code>class</code> attribute on tab close buttons has been changed. Extensions shouldn't be relying on the class attribute value since it is a list of tokens and should instead look for the <code>anonid </code>attribute with value "<code>close-button</code>".</p>
-
-<p>The <code>close-icon</code> class now works cross-platform to provide a close icon with a default, hover, and active state. Previously, this wasn't available on Linux and the GTK close icon (gtk-close) was used instead.</p>
-
-<p>The BrowserToolboxCustomizeDone, BrowserToolboxCustomizeChange, and BrowserCustomizeToolbar global window functions have been removed. <a href="/en-US/docs/XUL/Toolbars/Toolbar_customization_events">The customize events fired from the toolbox</a> are now the preferred mechanism for hooking new logic into the customization feature.</p>
-
-<h3 id="Add-on_SDK_Australis_APIs">Add-on SDK Australis APIs</h3>
-
-<p>If you're using the Add-on SDK, there are several new APIs for building your add-on's user interface in Australis. See the <a href="/en-US/Add-ons/SDK/High-Level_APIs/ui">reference documentation</a>. Also note that the <code><a href="/en-US/Add-ons/SDK/High-Level_APIs/widget">widget</a></code> module has been deprecated in favor of the new APIs.</p>
-
-<h2 id="Changes_for_themes">Changes for themes</h2>
-
-<p>We've changed the tab markup. If you style these differently, you'll need to check whether it still works.</p>
-
-<p>We'll be drawing tabs in the titlebar and on top, on all platforms (currently implemented on Windows and OS X), except when not showing tabs at all (in popup windows).</p>
-
-<p>Support for small icons mode as well as text and icons mode have been removed.</p>
-
-<p>We've changed the default iconsets, and there are new icon sizes for the menupanel. If you're building on the default theme with new icons, you'll need to rearrange your icons in your Toolbar icon files. In both this case and if you supply a complete theme, you will also need to provide icons for the menu panel. The new icon sizes are the same on all platforms and are:</p>
-
-<ul>
- <li>Toolbars:<br>
- <strong>16px</strong> (32px @2dppx) without padding.<br>
- Internal icons on the navbar use 18px. For add-ons, by default the padding is set up so it should work well if add-ons specify an icon of size 16px.</li>
- <li>Menu panel/Customization area (palette):<br>
- <strong>32px</strong> (64px @2dppx)<br>
- Please note that smaller icons will be <em>upscaled</em>.</li>
-</ul>
-
-<p>We've removed the add-on bar, but have a shim in place to migrate icons to other places. Any styles pertaining to should be removed so as not to disturb the migration work.</p>
-
-<p>We've changed a few toolbarbutton IDs, such as those for the bookmark and history buttons. We also added new ones.</p>
-
-<p>The application (Firefox) menu has been removed.</p>
-
-<p>The back, forward, stop and refresh buttons will no longer be movable. They will always remain in their current position next to the urlbar. Your CSS rules can probably be simplified now that this is the case.</p>
-
-<p>The navigation toolbar can no longer be hidden e.g. for update pages or in-content UI.<br>
-  </p>
-
-<h2 id="Known_issues_related_to_add-ons">Known issues related to add-ons</h2>
-
-<ul>
- <li>Add-ons that have copied their toolbarbutton-insertion code from Adblock Plus hide their toolbarbutton icon. They keep track of their insertion point by themselves. Even though our compatibility shims correctly insert these button initially, their detection code decides it is not in a toolbar (it is in fact in a customization target inside a toolbar, see above) and removes the icon on restart. This has been fixed in Adblock Plus but add-ons using similar code patterns might still be affected.</li>
- <li>Many add-ons check whether their button is in the toolbox (rather than in a toolbar or some other visible place) by checking the result of <code>document.getElementById()</code>. This is <strong>no longer enough</strong>. If your button is in the menu panel, it will not be moved there until the menu panel is first shown. Instead, use:<a href="/en-US/docs/Mozilla/JavaScript_code_modules/CustomizableUI.jsm"><code> CustomizableUI.getPlacementOfWidget("mytoolbarbuttonId")</code></a>. This will return <code>null</code> if and only if the widget is in the palette.</li>
- <li>If a <code>&lt;menulist&gt;</code> element is wrapped inside a toolbaritem, popping up the <code>&lt;menulist&gt;</code> closes the new menu panel. This issue is being tracked <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=964944">here</a>.</li>
- <li>Add-ons that automatically re-add their icons to the add-on bar when removed will need to fix their own insertion code to not do that.</li>
- <li>Elements inserted in the statusbar element or the add-on bar itself will not be shown. This can only be fixed by the add-on authors, who need to update their add-on to use toolbaritems instead of statuspanels, and insert into a normal toolbar.</li>
- <li>For toolbaritems and toolbarbuttons inserted into the add-on bar, we will attempt to migrate them to a visible toolbar automatically <strong>if</strong> the add-on bar was visible in the user's profile before migrating to Australis. However, depending on your add-on's code this may or may not work correctly without further code changes on your part.</li>
- <li>Toolbar buttons of type <code>menu </code>with a <code>orient="horizontal"</code> attribute will not display properly in the menu panel. This attribute should probably be avoided altogether.</li>
-</ul>
-
-<h2 id="See_Also">See Also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/JavaScript_code_modules/CustomizableUI.jsm">CustomizableUI.jsm</a></li>
- <li><a href="/en-US/Firefox/Releases/29">Firefox 29 for developers</a></li>
-</ul>
diff --git a/files/ja/mozilla/firefox/developer_edition/index.html b/files/ja/mozilla/firefox/developer_edition/index.html
deleted file mode 100644
index 1f1c73209e..0000000000
--- a/files/ja/mozilla/firefox/developer_edition/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Developer Edition
-slug: Mozilla/Firefox/Developer_Edition
-tags:
- - Beta
- - Bugs
- - Developer Edition
- - Latest
-translation_of: Mozilla/Firefox/Developer_Edition
----
-<div>{{FirefoxSidebar}}</div>
-
-<p>Firefox Developer Edition は、ウェブ開発者向けの Firefox のバージョンです。以下の内容が含まれます:</p>
-
-<ul>
- <li><strong>最新の Firefox 機能</strong>: Firefox Developer Edition は古い Aurora チャンネルを置き換えます
-
- <ul>
- <li>新リリースには、Nightly ビルドを通じて安定化された機能が含まれます。</li>
- <li>新機能がリリースされる 6 週間前に、Firefox Beta チャンネルに入ります。</li>
- <li>新機能は、Firefox のリリース版に登場する前に 12 週間かけて安定化されます。</li>
- </ul>
- </li>
- <li><strong>開発者プロファイルの分離</strong>: Developer Edition を Firefox のリリース版やベータ版と別に簡単に実行できます。</li>
- <li><strong>実験的な開発者ツール</strong>: Developer Edition には、まだリリースに向けた準備が整っていない実験的なツールも含まれます。</li>
- <li><strong>ウェブ開発者向けの設定</strong>: 各種既定の設定値もウェブ開発者向けに変更されています。例えば、Developer Edition では、クロームデバッグやリモートデバッグが初期設定で有効となっています。</li>
- <li><strong>明確なテーマ</strong>: 開発者ツールへ素早くアクセスできるようになっています。</li>
-</ul>
-
-<p><a href="/ja/docs/Mozilla/Firefox/Releases" style="float: left; margin: 0 30px 20px 30px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">Developer Edition の新機能</a></p>
-
-<p><a href="https://www.mozilla.org/ja/firefox/developer/" style="float: right; margin: 0 30px 20px 30px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">Developer Edition をダウンロード</a></p>
-
-<p> </p>
diff --git a/files/ja/mozilla/firefox/developer_edition/reverting/index.html b/files/ja/mozilla/firefox/developer_edition/reverting/index.html
deleted file mode 100644
index c9f86b8e6f..0000000000
--- a/files/ja/mozilla/firefox/developer_edition/reverting/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Reverting
-slug: Mozilla/Firefox/Developer_Edition/Reverting
-translation_of: Mozilla/Firefox/Developer_Edition/Reverting
----
-<div>{{FirefoxSidebar}}</div>
-
-<h2 id="Developer_Edition_のテーマを元に戻す">Developer Edition のテーマを元に戻す</h2>
-
-<p>Developer Editionを使用したいが、FirefoxとFirefox Betaで使用されている 'Australis'テーマを使用したい場合は、通常のFirefoxテーマに切り替えることができます。「カスタマイズ」パネルを開き、「テーマ」をクリックし、「デフォルト」というラベルのテーマを選択します。</p>
-
-<p>{{EmbedYouTube("oiHt8T1Liyk")}}</p>
-
-<p>または、URLバーに "about:addons" と入力して「Appearance」を選択し、そこからテーマを切り替えます。</p>
-
-<h2 id="Firefox_Aurora_に戻す">Firefox Aurora に戻す</h2>
-
-<p>Firefox Developer Editionでベータ版以前の機能をすべて使いたいが、他の変更を望まない場合は、古いFirefox Auroraのようなものに戻すことができます。これにより、アップグレード前のプロファイルとセッションデータも復元されます。それは2段階のプロセスです。この手順をこの順序で実行する必要があります。</p>
-
-<ol>
- <li>Developer EditionのPreferencesページを開いて、「Firefox Developer EditionとFirefoxを同時に実行する」をオフにします。 ブラウザを再起動するよう求められます</li>
- <li>再起動後、上記の「Developer Editionテーマを元に戻す」で説明したように、開発者エディションのテーマを元に戻すことができます</li>
-</ol>
-
-<p>{{EmbedYouTube("8rEJn_hATE8")}}</p>
diff --git a/files/ja/mozilla/firefox/enterprise_deployment_before_60/index.html b/files/ja/mozilla/firefox/enterprise_deployment_before_60/index.html
deleted file mode 100644
index 262254fcf7..0000000000
--- a/files/ja/mozilla/firefox/enterprise_deployment_before_60/index.html
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title: エンタープライズ環境におけるFirefoxのデプロイ(Firefox 60 ESR 以前)
-slug: Mozilla/Firefox/Enterprise_deployment_before_60
-tags:
- - Firefox
- - エンタープライズ
- - デプロイ
- - 管理者向け
-translation_of: Mozilla/Firefox/Enterprise_deployment_before_60
----
-<div>{{FirefoxSidebar}}</div>
-
-<p>このページでは、Mozilla Firefox を Windows および macOS コンピュータ上でエンタープライズ設定で管理するプロセスを、最初から最後までドキュメント化しようとしています。 ご不明な点がございましたら、エンタープライズワーキンググループメーリングリスト(<a href="https://mail.mozilla.org/listinfo/enterprise">enterprise@mozilla.org</a>)にメールをお送りください。 さらに、<a href="https://mail.mozilla.org/listinfo/enterprise">リストに登録</a>し、進行中のディスカッションに参加してください。</p>
-
-<div class="note"><strong>注</strong>:この記事では、Firefox 60 ESR 以前の Firefox のバージョンについて説明します。 Firefox 60以降でエンタープライズ環境用にデプロイするには、<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Enterprise_deployment">エンタープライズ環境での Firefox のデプロイ</a>を参照してください。</div>
-
-<h2 id="さまざまな_Firefox_を選択する">さまざまな Firefox を選択する</h2>
-
-<h3 id="Rapid_Release_(RR)">Rapid Release (RR)</h3>
-
-<p>Mozilla publishes a new version with incremented main version number, new features, and bug fixes every six weeks (and, as needed, additional security releases in between). On the day a major version is released, in most cases (see below for an exception) Mozilla stops providing bug fixes for the previous one.</p>
-
-<p>For the planned dates for upcoming releases, see the column 'release date' in the <a href="https://wiki.mozilla.org/RapidRelease/Calendar#Future_branch_dates">Future branch dates</a> table in the Mozilla wiki.</p>
-
-<h3 id="Extended_Support_Release_(ESR)">Extended Support Release (ESR)</h3>
-
-<p>Every seventh major version of Firefox is declared an Extended Support Release. These versions get serious bugs fixed in minor versions, for 54 weeks (nine of the six-week release cycles). There is an overlap of 12 weeks (two release cycles) between two successive ESR releases, during which both ESR releases get bug fixes.</p>
-
-<p>The major ESR releases so far have been versions 10, 17, 24, 31, 38, 45 and 52. This cadence will be proken according to information in Devember 2017, and <code>60</code> will be the next ESR</p>
-
-<p>Many enterprises and other organizations with centrally-managed computing environments prefer to use the ESR rather than the RR versions, because then they need to test for compatibility only every 42 weeks instead of every 6 weeks. Also if there are any issues, they have 12 weeks additional time (the overlap between two ESR releases) to find a solution (in addition to the 6 weeks that they can get by testing the beta version).</p>
-
-<p>Note that there can be undesired side effects if you switch from a RR version to an earlier ESR version, for example from version 26-RR back to 24.2-ESR, even if they were published on the same day. The reason for this is that often new features are built into the RR versions for test purposes before they are finished, but disabled by preference settings. Eventually Mozilla decides to toggle the feature on in a certain version. If you then downgrade to a previous version, all users keep their latest settings in their profile directories. Thus the option is now switched on, although the feature does not yet fully work in that version. If you want to switch from RR to ESR, you should do so when a new ESR release comes out.</p>
-
-<h2 id="インストール">インストール</h2>
-
-<ol>
- <li>Get the full, redistributable installer from<br>
- <a href="http://www.mozilla.org/firefox/all/">http://www.mozilla.org/firefox/all/</a> (RR)<br>
- or<br>
- <a href="https://www.mozilla.org/firefox/organizations/all.html">https://www.mozilla.org/firefox/organizations/all.html</a> (ESR)<br>
- rather than the "stub" or "downloader" that you get by clicking the "Download" button.</li>
- <li>Install using the software distribution method of your choice.<br>
- The command line option for a silent install is <code>-ms</code>. </li>
- <li>Optionally you can specify an INI file, for example to disable the placement of shortcuts and the installation of the MaintenanceService; see <a href="https://wiki.mozilla.org/Installer:Command_Line_Arguments">Installer Command Line Arguments</a>.</li>
-</ol>
-
-<h2 id="構成・設定">構成・設定</h2>
-
-<ol>
- <li>Find the Firefox <strong>program directory</strong> where the Firefox executable is located.<br>
- For example:
- <ul>
- <li>on <strong>Windows</strong> this is typically either:
-
- <ul>
- <li><code>C:\Program Files\Mozilla Firefox </code></li>
- <li><strong>or</strong> <code>C:\Program Files (x86)\Mozilla Firefox</code></li>
- </ul>
- </li>
- <li>on <strong>macOS</strong> it is typically:
- <ul>
- <li><code>/Applications/Firefox.app/Contents/MacOS</code></li>
- </ul>
- </li>
- </ul>
- If you are specifying a configuration INI file and have set <strong>InstallDirectoryName</strong> or <strong>InstallDirectoryPath</strong>, then use that path.<br>
- Subfolders mentioned below are relative to this program directory.</li>
- <li>Create a JavaScript file that instructs to use a administrative <strong>config file</strong> at startup.<br>
- For best results, the filename should be early in the alphabet, for example; <strong><code style="white-space: nowrap;">00_admin-prefs.js</code></strong><br>
- By convention this file is named <strong><code>autoconfig.js</code></strong>, but other filenames will work.<br>
- This file should be put inside: <small>(see <a href="#Changes_Over_Time">Changes Over Time</a>)</small>
- <ul>
- <li>on <strong>Windows</strong>:
- <ul>
- <li><code>defaults\pref</code></li>
- </ul>
- </li>
- <li>on <strong>Mac</strong>:
- <ul>
- <li><code>Firefox.app/Contents/Resources/defaults/pref</code></li>
- </ul>
- </li>
- <li>on <strong>Linux</strong>:
- <ol>
- <li>Formerly:
- <ul>
- <li><code>defaults/pref</code><br>
- <small>(Still working in Firefox 60.0a1)</small></li>
- </ul>
- </li>
- <li>Presently:
- <ul>
- <li><code>browser/defaults/preferences</code></li>
- </ul>
- </li>
- </ol>
- </li>
- </ul>
-
- <p>This <code><strong>autoconfig.js</strong></code> file <strong>must</strong> set these preferences:</p>
-
- <pre class="brush: js">// Any comment. You <strong>must</strong> start the file with a single-line comment!
-pref("general.config.filename", "mozilla.cfg");
-pref("general.config.obscure_value", 0);</pre>
-
- <div class="warning">
- <p>The first line of the <code><strong>autoconfig.js</strong></code> and <code><strong>mozilla.cfg</strong></code> is ignored.  The line shouldn't contain any configuration, nor multiline comment (<code>/*...*/</code>) without closing "<code>*/</code>".</p>
- </div>
- </li>
- <li>Create a <code>.cfg</code> file in the Firefox program directory. By convention, <strong><code>mozilla.cfg</code></strong><code>,</code> but it can be any file name really. It just <strong>has to match</strong> what is specified in <strong><code>general.config.filename</code></strong> preference above. <strong>Skip or comment out the first line</strong>, then start setting your preferences. To learn what preferences to set, go to about:config on a copy of Firefox that you have configured correctly and look for preferences that are "user set", or see the example below. Any preference that appears in about:config (and a few that don't) can be set using one of the following functions:
- <dl>
- <dt><strong>pref </strong></dt>
- <dd>sets the preference as if a user had set it, every time you start the browser. So users can make changes, but they will be erased on restart. If you set a particular preference this way, it shows up in about:config as "user set". </dd>
- <dt><strong>defaultPref</strong></dt>
- <dd>is used to alter the default value, though users can set it normally and their changes will be saved between sessions. If preferences are reset to default through the GUI or some other method, this is what they will go back to. Appears in about:config as "default". </dd>
- <dt><strong>lockPref</strong></dt>
- <dd>is used to lock preferences so they cannot be changed through the GUI or about:config. In many cases the GUI will change to reflect this, graying out or removing options. Appears in about:config as "locked". <span class="author-g-fer323ku83ypu55t">Some config items require <strong>lockPref</strong> to be set, such as <strong>app.update.enabled</strong>. It will not work if it set with just <strong>pref</strong>.</span></dd>
- <dt><span class="author-g-fer323ku83ypu55t">clearPref</span></dt>
- <dd><span class="author-g-fer323ku83ypu55t">can be used to "blank" certain preferences. This can be useful e.g. to disable functions that rely on comparing version numbers. </span></dd>
- </dl>
-
- <div class="warning">
- <p>The first line of the <code><strong>autoconfig.js</strong></code> and <code><strong>mozilla.cfg</strong></code> is ignored.  The line shouldn't contain any configuration, nor multiline comment (<code>/*...*/</code>) without closing "<code>*/</code>".</p>
- </div>
- </li>
-</ol>
-
-<p>See <a href="http://mike.kaply.com/2012/03/16/customizing-firefox-autoconfig-files/">Customizing Firefox autoconfig files</a> and <a href="http://mike.kaply.com/2012/03/20/customizing-firefox-autoconfig-files-continued/">Customizing Firefox autoconfig files continued</a> for more detail. For fancier stuff like disabling UI elements, you may want to use the <a href="http://mike.kaply.com/cck2/">CCK2</a> extension.</p>
-
-<h3 id="Example_configuration_file">Example configuration file</h3>
-
-<p>You may see references to "complex preferences" that need to be specified in a different way; the default homepage is one, as in the example below. For more info on individual preferences, search the <a href="http://kb.mozillazine.org/Knowledge_Base">Knowledgebase</a>.</p>
-
-<pre class="brush: js">// Any comment. You <strong>must</strong> start the file with a comment!
-
-<span class="brush: js">// Disable updater
-lockPref("app.update.enabled", false);
-// make absolutely sure it is really off
-lockPref("app.update.auto", false);
-lockPref("app.update.mode", 0);
-lockPref("app.update.service.enabled", false);
-
-// Disable Add-ons compatibility checking
-clearPref("extensions.lastAppVersion");
-
-// Don't show 'know your rights' on first run
-pref("browser.rights.3.shown", true);
-
-// Don't show WhatsNew on first run after every update
-pref("browser.startup.homepage_override.mstone","ignore");
-
-// Set default homepage - users can change
-// Requires a complex preference
-</span>defaultPref("browser.startup.homepage","data:text/plain,browser.startup.homepage=http://home.example.com");
-<span class="brush: js">
-// Disable the internal PDF viewer
-pref("pdfjs.disabled", true);
-
-// Disable the flash to javascript converter
-pref("shumway.disabled", true);
-
-// Don't ask to install the Flash plugin
-pref("plugins.notifyMissingFlash", false);
-
-//Disable plugin checking
-lockPref("plugins.hide_infobar_for_outdated_plugin", true);
-clearPref("plugins.update.url");
-
-// Disable health reporter
-lockPref("datareporting.healthreport.service.enabled", false);
-
-// Disable all data upload (Telemetry and FHR)
-lockPref("</span>datareporting.policy.dataSubmissionEnabled<span class="brush: js">", false);
-
-// Disable crash reporter
-lockPref("toolkit.crashreporter.enabled", false);
-Components.classes["@mozilla.org/toolkit/crash-reporter;1"].getService(Components.interfaces.nsICrashReporter).submitReports = false;</span><em> </em>
-</pre>
-
-<h2 id="拡張機能のパッケージング">拡張機能のパッケージング</h2>
-
-<ol>
- <li>Install the extension on a test machine. Look in <code>about:support</code> under Extensions to find the GUID.   This is absent in: FF 52.5.1 ESR</li>
- <li>Look in the <a href="https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data">Profile directory</a> (ex: <code>%APPDATA%\Mozilla\Firefox\Profiles</code> on Win7; to find it, click <strong>Show Folder</strong> in <code>about:support</code>), then under "extensions" for the add-on you want. Note whether it is a single .xpi file (basically a zip file) or extracted to a folder with multiple files.</li>
- <li>Decide how you want to deploy it. The simplest method is to drop the .xpi or folder into the <strong>program directory</strong><code>/distribution/extensions</code>, but this only works for profiles created after the extension is installed. Also, if you manually update firefox by re-installing it, this directory will be deleted, so make sure you re-install the extensions as well. See <a href="http://mike.kaply.com/2012/02/09/integrating-add-ons-into-firefox/">Integrating add-ons into Firefox/</a> for alternative methods.</li>
-</ol>
-
-<p>Also keep in mind: <a href="http://mike.kaply.com/2013/05/03/add-on-scopes-redux/">Add-on scopes redux</a></p>
-
-<h2 id="Changes_Over_Time">Changes Over Time</h2>
-
-<h3 id="Changes_in_Directory_Structure">Changes in Directory Structure</h3>
-
-<p>The directory structure within the program directory has changed twice. When you read descriptions that were written before version 21 came out, you must take these changes into account:</p>
-
-<ul>
- <li>In version 14 some of the pref settings stopped working when they were in a file in directory <code>defaults/pref</code>. The fix was to create a directory <code>defaults/preferences</code> and put them there.</li>
- <li>In version 21 the new directory named <code>browser</code> was created. The file <code>override.ini</code> and the directories <code>defaults/preferences</code>, <code>defaults/profile</code>, <code>extensions</code>, <code>plugins</code>, and <code>searchplugins</code> were moved there. Plug-ins in the directory <code>plugins</code> can be reactivated by setting the preference <code>plugins.load_appdir_plugins</code> to <strong>true</strong>.</li>
-</ul>
-
-<p>Custom settings in <code>defaults/pref</code> that worked in a version of Firefox before 21 may fail in a current or future version. If this happens, copy or move your customized files into the corresponding directories in <code>browser/defaults/preferences</code> and redeploy.</p>
-
-<h3 id="Mac_Directory_Change">Mac Directory Change</h3>
-
-<p>Due to Apple's stricter approach to software signing, as of about version 35 or so configuration files should now be placed relative to <code>/Applications/Firefox.app/Contents/Resources </code>(so <code>mozilla.cfg</code> should go there, and <code>autoconfig.js </code>under <code>/Applications/Firefox.app/Contents/Resources/defaults/pref</code>.)</p>
-
-<h3 id="Changes_in_ESR_24_and_newer_with_Adobe_PDF_Files">Changes in ESR 24 and newer with Adobe PDF Files</h3>
-
-<p>Firefox RR 19.x changed the default viewer for Adobe PDF files to use the internal Firefox viewer.  This change is now in the ESR version as of 24.x, and the setting (on Windows) is changed to use the internal Firefox viewer when upgrading from 17.x, <em>even if an external viewer had already been configured</em>. The name of the Content Type is also changed from <strong>Adobe Acrobat Document</strong> to <strong>Portable Document Format (PDF)</strong>, which makes it difficult to locate via the Tools, Options, Applications tab. To disable this, set <code>pdfjs.disabled</code> to true as in the example file above.</p>
diff --git a/files/ja/mozilla/firefox/firefox_esr/index.html b/files/ja/mozilla/firefox/firefox_esr/index.html
deleted file mode 100644
index db1e60c146..0000000000
--- a/files/ja/mozilla/firefox/firefox_esr/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Firefox ESR
-slug: Mozilla/Firefox/Firefox_ESR
-tags:
- - ESR
- - Exteneded Support Release
- - Firefox
- - Firefox for Desktop
- - LTS
- - gpo
- - group policy
- - グループポリシー
- - デスクトップ版Firefox
-translation_of: Mozilla/Firefox/Firefox_ESR
----
-<div>{{FirefoxSidebar}}</div>
-
-<p>Firefox 延長サポートリリース (ESR) は、大規模展開している拡張サポートが必要な組織で使用する、デスクトップ版 Firefox の公式リリースに基づいています。他のリリースチャンネルとは異なり、ESR は 6 週間ごとに新しい機能で更新されるものではありません。代わりに、1 年以上サポートされており、主要なセキュリティまたは安定性の修正が加えられて更新されています。</p>
-
-<p>スケジュールと詳細は <a href="https://www.mozilla.org/en-US/firefox/organizations/">ESR 公式サイト</a>で入手できます。</p>
-
-<p>Firefox ESR を導入している管理者は、<a href="https://www.mozilla.org/en-US/firefox/organizations/">Enterprise Working Group (EWG) のメーリングリスト</a>に登録することを強くお勧めします。</p>
diff --git a/files/ja/mozilla/firefox/headless_mode/index.html b/files/ja/mozilla/firefox/headless_mode/index.html
deleted file mode 100644
index 88e2da5052..0000000000
--- a/files/ja/mozilla/firefox/headless_mode/index.html
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title: ヘッドレスモード
-slug: Mozilla/Firefox/Headless_mode
-tags:
- - Automation
- - Firefox
- - Mozilla
- - QA
- - Testing
- - headless
- - headless mode
- - node.js
-translation_of: Mozilla/Firefox/Headless_mode
----
-<p class="summary">ヘッドレスモードは、その名の通り Firefox を実行する便利な方法です — UI コンポーネントが表示されない点を除いて、Firefox は通常通り実行されます。ウェブサーフィンにはあまり役立たないかもしれませんが、自動テストには非常に有効です。この記事では、ヘッドレス Firefox の実行について知るべきことをすべて提供します。</p>
-
-<h2 id="ヘッドレスモードを使用する">ヘッドレスモードを使用する</h2>
-
-<p>このセクションではヘッドレスモードの使用方法について説明します</p>
-
-<h3 id="基本的な使い方">基本的な使い方</h3>
-
-<p><code>-headless</code> フラグを含めることで、コマンドラインから Firefox をヘッドレスモードで実行できます。たとえば:</p>
-
-<pre class="brush: bash">/path/to/firefox -headless</pre>
-
-<h3 id="スクリーンショットを撮る">スクリーンショットを撮る</h3>
-
-<p>Firefox 57以降、<code>-screenshot</code>フラグを使用してウェブサイトのスクリーンショットを撮ることができます。基本的な使い方は:</p>
-
-<pre class="brush: bash line-numbers language-bash"><code class="language-bash">/path/to/firefox -headless -screenshot https://developer.mozilla.com</code></pre>
-
-<p>これにより、<code>screenshot.png</code>というファイル名で800pxのビューポート幅を持つ<code>https://developer.mozilla.com</code>の全画面スクリーンショットが作成され、アクティブなディレクトリに保存されます。</p>
-
-<p>暗黙的に <code>-screenshot</code> を使用している場合、<code>-headless</code>を省略することができます。</p>
-
-<pre class="brush: bash line-numbers language-bash"><code class="language-bash">/path/to/firefox -screenshot https://developer.mozilla.com</code></pre>
-
-<p>上記のデフォルト値を上書きするために、次のフラグ/機能を使用できます。</p>
-
-<ul>
- <li><code>-screenshot name url</code> — スクリーンショットの名前をカスタマイズするには、<code>-screenshot</code>フラグとキャプチャするURLの間に含めて設定します。<code>.jpg</code>、<code>.bmp</code>などの他のウェブ対応画像フォーマットを指定することができます</li>
- <li><code>--window-size=x</code> — スクリーンショットを撮るときにカスタムビューポートの幅(完全な高さが維持されます)を設定します。 これの単一の引数バージョンは動作しないことに注意してください</li>
- <li><code>--window-size=x,y</code> — キャプチャのカスタムビューポートの幅と高さを設定します</li>
-</ul>
-
-<p>たとえば、次のコマンドは、ビューポートの幅が800px、高さが1000pxの<code>https://developer.mozilla.com</code>のスクリーンショットを<code>test.jpg</code>というファイル名で作成し、アクティブなディレクトリに保存します。</p>
-
-<pre class="brush: bash line-numbers language-bash"><code class="language-bash">/path/to/firefox -screenshot test.jpg https://developer.mozilla.com --window-size=800,1000</code></pre>
-
-<p> </p>
-
-<h3 id="ブラウザーサポート">ブラウザーサポート</h3>
-
-<p>ヘッドレス Firefox は Linux 上の Fx55 以上と Windows/Mac 上の Fx56 以上で動作します。</p>
-
-<h2 id="ヘッドレスモードで自動テストを実行する">ヘッドレスモードで自動テストを実行する</h2>
-
-<p>ヘッドレス Firefox の最も便利な使い方は、自動テストの実行です。つまり、テストプロセスをより効率的にできます。</p>
-
-<h3 id="Node.js_で_Selenium">Node.js で Selenium</h3>
-
-<p>ここで、<a href="https://nodejs.org/">Node.js</a> と <code><a href="https://www.npmjs.com/package/selenium-webdriver">selenium-webdriver</a></code> パッケージを使用して <a href="http://www.seleniumhq.org/">Selenium</a> テストを作成します。このガイドでは、読者が Selenium と Webdriver、Node に精通しており、テスト環境をセットアップ済みであることを想定しています。そうでないなら、最初に <a href="https://developer.mozilla.org/ja/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment#Setting_up_Selenium_in_Node">Setting up Selenium in Node</a> ガイドを読んでから戻ってきてください。</p>
-
-<p>まず、システムに Node と <code>selenium-webdriver</code> パッケージがインストールされていることを確かめてから、<code>selenium-test.js</code> と呼ばれる新しいファイルを作成し、以下の手順に従ってテストコードを入力してください。</p>
-
-<div class="note">
-<p><strong>ノート</strong>: 代わりに、<a href="https://github.com/mdn/headless-examples">headless-examples repo</a> をコピーできます。これはパッケージファイルも含んでいるので、<code>npm install</code> を実行するだけで必要な依存パッケージをインストールできます。</p>
-</div>
-
-<ol>
- <li>
- <p>コードを追加していきましょう、このファイル内で、<code>selenium-webdriver</code> メインモジュールと <code>firefox</code> サブモジュールのインポートから始めます:</p>
-
- <pre class="brush: js">var webdriver = require('selenium-webdriver'),
- By = webdriver.By,
- until = webdriver.until;
-
-var firefox = require('selenium-webdriver/firefox');</pre>
- </li>
- <li>
- <p>次に、Firefox Nightly を表す新しい <code>binary</code> オブジェクトを生成し、ヘッドレスモードで実行するために <code>-headless</code> 引数を追加します:</p>
-
- <pre class="brush: js">var binary = new firefox.Binary(firefox.Channel.NIGHTLY);
-binary.addArguments("-headless");</pre>
- </li>
- <li>
- <p>いよいよ Firefox のための新しいドライバーインスタンスを生成します。上記で作成したバイナリを使用してテストの実行を指定するオプションオブジェクトを含めるためには、<code>setFirefoxOptions()</code> を使用します。(このステップは Linux と Windows/Mac でヘッドレスモードがリリースされた後は不要です。しかし、Nightly 特有の機能としてテストしたい場合にはまだ役立ちます):</p>
-
- <pre class="brush: js">var driver = new webdriver.Builder()
-    .forBrowser('firefox')
-    .setFirefoxOptions(new firefox.Options().setBinary(binary))
-    .build();</pre>
- </li>
- <li>
- <p>Google 検索ホームページ上で簡単なテストを実行する次のコードを追加します:</p>
-
- <pre class="brush: js">driver.get('https://www.google.com');
-driver.findElement(By.name('q')).sendKeys('webdriver');
-
-driver.sleep(1000).then(function() {
- driver.findElement(By.name('q')).sendKeys(webdriver.Key.TAB);
-});
-
-driver.findElement(By.name('btnK')).click();
-
-driver.sleep(2000).then(function() {
- driver.getTitle().then(function(title) {
- if(title === 'webdriver - Google Search') {
- console.log('Test passed');
- } else {
- console.log('Test failed');
- }
- });
-});
-
-driver.quit();</pre>
- </li>
- <li>
- <p>最後に、次のコマンドでテストを実行します:</p>
-
- <pre class="brush: bash">node selenium-test</pre>
- </li>
-</ol>
-
-<p>これでおしまい! 少し経つと、コンソール上に "Test passed" というメッセージが表示されます。</p>
-
-<p>Myk Melez の <a href="https://mykzilla.org/2017/08/30/headless-firefox-in-node-js-with-selenium-webdriver/">Headless Firefox in Node.js with selenium-webdriver</a> には、追加の便利な tips やヘッドレスモードで Node.js Selenium テストを実行するトリックが含まれています。</p>
-
-<h3 id="Java_で_Selenium">Java で Selenium</h3>
-
-<div class="note">
-<p><strong>Note</strong>: これらの手順を書いてくれてありがとう、nicholas dipiazzaに感謝します!</p>
-</div>
-
-<p>このガイドでは、<a href="/ja/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment#Setting_up_Selenium_in_Node">Setting up Selenium in Node</a> ガイドで説明したように、マシンに Geckodriver が既にあること、および Gradle プロジェクトをサポートする IDE があることを前提としています。</p>
-
-<ol>
- <li>
- <p><a href="https://github.com/mdn/headless-examples/blob/master/headlessfirefox-gradle.zip">headlessfirefox-gradle.zip</a> アーカイブ(<a href="https://github.com/mdn/headless-examples/tree/master/headlessfirefox-gradle">ここのソースを参照</a>)をダウンロードし、解凍してheadlessfirefoxフォルダをIDEにグラデルプロジェクトとしてインポートします</p>
- </li>
- <li>
- <p>必要に応じて<code>build.gradle</code>ファイルを編集して、selenium をそれ以降のバージョンに設定します。執筆時点では 3.5.3 を使用しました</p>
-
- <pre class="brush: java">group 'com.mozilla'
-version '1.0'
-
-apply plugin: 'java'
-
-sourceCompatibility = 1.8
-
-repositories {
- mavenCentral()
-}
-
-dependencies {
- compile('org.seleniumhq.selenium:selenium-api:3.5.3')
- compile('org.seleniumhq.selenium:selenium-remote-driver:3.5.3')
- compile('org.seleniumhq.selenium:selenium-server:3.5.3')
-
- testCompile group: 'junit', name: 'junit', version: '4.12'
-}</pre>
- </li>
- <li>
- <p>HeadlessFirefoxSeleniumExample.javaファイルの<code>webdriver.gecko.driver</code>プロパティをgeckodriverをインストールしたパスと等しくなるように編集します(下の15行目を参照)</p>
-
- <pre class="brush: java">package com.mozilla.example;
-
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.firefox.FirefoxBinary;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxOptions;
-
-import java.util.concurrent.TimeUnit;
-
-public class HeadlessFirefoxSeleniumExample {
- public static void main(String [] args) {
- FirefoxBinary firefoxBinary = new FirefoxBinary();
- firefoxBinary.addCommandLineOptions("--headless");
- System.setProperty("webdriver.gecko.driver", "/opt/geckodriver");
- FirefoxOptions firefoxOptions = new FirefoxOptions();
- firefoxOptions.setBinary(firefoxBinary);
- FirefoxDriver driver = new FirefoxDriver(firefoxOptions);
- try {
- driver.get("http://www.google.com");
- driver.manage().timeouts().implicitlyWait(4,
- TimeUnit.SECONDS);
- WebElement queryBox = driver.findElement(By.name("q"));
- queryBox.sendKeys("headless firefox");
- WebElement searchBtn = driver.findElement(By.name("btnK"));
- searchBtn.click();
- WebElement iresDiv = driver.findElement(By.id("ires"));
- iresDiv.findElements(By.tagName("a")).get(0).click();
- System.out.println(driver.getPageSource());
- } finally {
- driver.quit();
- }
- }
-}</pre>
- </li>
- <li>
- <p>Javaクラスを実行すると、このページのHTMLコンテンツがコンソール/端末に表示されます</p>
- </li>
-</ol>
-
-<h3 id="Python_で_Selenium">Python で Selenium</h3>
-
-<p>このガイドでは、<a href="/ja/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment#Setting_up_Selenium_in_Node">Setting up Selenium in Node</a>で説明したように、マシンにgeckodriverが既にあることを前提としています。</p>
-
-<ol>
- <li>
- <p><a href="https://pypi.python.org/pypi/selenium">SeleniumのPythonクライアント</a>の最新バージョンをインストールします</p>
- </li>
- <li>
- <p>geckodriverをインストールした場所にパスを通すためには、11行目の<code>executable_path</code>を設定し、次のように編集します</p>
-
- <pre class="brush: python line-numbers language-python"><code class="language-python">from selenium.webdriver import Firefox
-from selenium.webdriver.common.by import By
-from selenium.webdriver.common.keys import Keys
-from selenium.webdriver.firefox.options import Options
-from selenium.webdriver.support import expected_conditions as expected
-from selenium.webdriver.support.wait import WebDriverWait
-
-if __name__ == "__main__":
- options = Options()
- options.add_argument('-headless')
- driver = Firefox(executable_path='geckodriver', firefox_options=options)
- wait = WebDriverWait(driver, timeout=10)
- driver.get('http://www.google.com')
- wait.until(expected.visibility_of_element_located((By.NAME, 'q'))).send_keys('headless firefox' + Keys.ENTER)
- wait.until(expected.visibility_of_element_located((By.CSS_SELECTOR, '#ires a'))).click()
- print(driver.page_source)
- driver.quit()</code></pre>
- </li>
- <li>
- <p>Pythonスクリプトを実行すると、このページのHTMLコンテンツがコンソール/端末に表示されます</p>
- </li>
-</ol>
-
-<h3 id="その他のテスト方法">その他のテスト方法</h3>
-
-<ul>
- <li>Slimerjs は Linux 上で Firefox をサポートしており、Mac と Windowsのサポートは間もなく公開されます。詳細については、Brendan Dahl の <a href="https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/">Headless SlimerJS with Firefox</a> を参照してください</li>
- <li><a href="https://github.com/DevExpress/testcafe">TestCafe</a> (v.0.18.0 以降) は、デフォルトでヘッドレス Firefox でのテストもサポートしています。詳細については<a href="https://devexpress.github.io/testcafe/blog/testcafe-v0-18-0-released.html#testing-in-headless-firefox">ドキュメント</a>を参照してください。</li>
-</ul>
-
-<p>さらに、環境変数を設定できる限り、他の一般的なテストアプリで書かれた自動テストを実行するために、ヘッドレスFirefoxを使用することができます。</p>
-
-<h2 id="トラブルシューティングとヘルプ">トラブルシューティングとヘルプ</h2>
-
-<p>ヘッドレスモードの実行でトラブルがあっても心配しないでください — ここで助けます。このセクションでは、追加の QA を載せることを想定しています。</p>
-
-<ul>
- <li>Linux では、ヘッドレスモードで使用しないにもかかわらず、システム上であるライブラリが要求されます。 — Firefox がそれらにリンクしているからです。詳細と修正に向けた進捗は {{bug(1372998)}} を見てください。</li>
-</ul>
-
-<p>エンジニアに質問したいなら、<a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a> の <code>#headless</code> チャネルに行くのがベストです。バグを見つけた場合は、<a href="https://bugzilla.mozilla.org/">Mozilla Bugzilla</a> で報告してください。</p>
-
-<h2 id="関連項目">関連項目</h2>
-
-<ul>
- <li><a href="https://intoli.com/blog/running-selenium-with-headless-firefox/">Using Selenium with Headless Firefox (on Windows)</a> by Andre Perunicic (Python を使用)</li>
- <li><a href="https://mykzilla.org/2017/08/30/headless-firefox-in-node-js-with-selenium-webdriver/">Headless Firefox in Node.js with selenium-webdriver</a> by Myk Melez</li>
- <li><a href="https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/">Headless SlimerJS with Firefox</a> by Brendan Dahl</li>
- <li><a href="http://blog.rousek.name/2017/09/08/going-headless-with-firefox-since-55/">Using Selenium with Headless Firefox on Travis-CI</a> by Josef Rousek</li>
-</ul>
diff --git a/files/ja/mozilla/firefox/linux_compatibility_matrix/index.html b/files/ja/mozilla/firefox/linux_compatibility_matrix/index.html
deleted file mode 100644
index 50adc5a551..0000000000
--- a/files/ja/mozilla/firefox/linux_compatibility_matrix/index.html
+++ /dev/null
@@ -1,480 +0,0 @@
----
-title: Linux の互換性マトリックス
-slug: Mozilla/Firefox/Linux_compatibility_matrix
-translation_of: Mozilla/Firefox/Linux_compatibility_matrix
----
-<div>{{FirefoxSidebar}}</div>
-
-<p><span class="seoSummary">次の表は、mozilla.org distributed Firefox ビルドの依存関係の利用可能なライブラリのバージョン、および/またはFirefoxのビルドを示しています。</span></p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th>ディストリビューション</th>
- <th>カーネル</th>
- <th>glibc</th>
- <th>glib</th>
- <th>gtk+2</th>
- <th>gtk+3</th>
- <th>pixman</th>
- <th>stdc++</th>
- <th>GCC</th>
- <th>リリース</th>
- <th>EOL</th>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">Fedora 16</td>
- <td style="background-color: rgb(153, 255, 153);">3.1</td>
- <td style="background-color: rgb(153, 255, 153);">2.14</td>
- <td style="background-color: rgb(153, 255, 153);">2.30</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(255, 204, 204);">3.2</td>
- <td style="background-color: rgb(153, 255, 153);">0.22</td>
- <td style="background-color: rgb(153, 255, 153);">4.6</td>
- <td style="background-color: rgb(255, 204, 204);">4.6</td>
- <td>Nov 2011</td>
- <td style="background-color: rgb(255, 204, 204);">Feb 2013</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 17</td>
- <td style="background-color: rgb(153, 255, 153);">3.3</td>
- <td style="background-color: rgb(153, 255, 153);">2.15</td>
- <td style="background-color: rgb(153, 255, 153);">2.32</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.4</td>
- <td style="background-color: rgb(153, 255, 153);">0.24</td>
- <td style="background-color: rgb(153, 255, 153);">4.7</td>
- <td style="background-color: rgb(255, 204, 204);">4.7</td>
- <td>May 2012</td>
- <td style="background-color: rgb(255, 204, 204);">Jul 2013</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 18</td>
- <td style="background-color: rgb(153, 255, 153);">3.6</td>
- <td style="background-color: rgb(153, 255, 153);">2.16</td>
- <td style="background-color: rgb(153, 255, 153);">2.34</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.6</td>
- <td style="background-color: rgb(153, 255, 153);">0.26</td>
- <td style="background-color: rgb(153, 255, 153);">4.7</td>
- <td style="background-color: rgb(255, 204, 204);">4.7</td>
- <td>Jan 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2014</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 19</td>
- <td style="background-color: rgb(153, 255, 153);">3.9</td>
- <td style="background-color: rgb(153, 255, 153);">2.17</td>
- <td style="background-color: rgb(153, 255, 153);">2.36</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.8</td>
- <td style="background-color: rgb(153, 255, 153);">0.30</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(255, 204, 204);">4.8</td>
- <td>Jul 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2015</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 20</td>
- <td style="background-color: rgb(153, 255, 153);">3.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.18</td>
- <td style="background-color: rgb(153, 255, 153);">2.38</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.10</td>
- <td style="background-color: rgb(153, 255, 153);">0.30</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(255, 204, 204);">4.8</td>
- <td>Dec 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Jun 2015</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 21</td>
- <td style="background-color: rgb(153, 255, 153);">3.17</td>
- <td style="background-color: rgb(153, 255, 153);">2.20</td>
- <td style="background-color: rgb(153, 255, 153);">2.42</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.14</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">4.9</td>
- <td style="background-color: rgb(204, 255, 153);">4.9</td>
- <td>Dec 2014</td>
- <td style="background-color: rgb(255, 204, 204);">Dec 2015</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 22</td>
- <td style="background-color: rgb(153, 255, 153);">4.0</td>
- <td style="background-color: rgb(153, 255, 153);">2.21</td>
- <td style="background-color: rgb(153, 255, 153);">2.44</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.16</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">5.1</td>
- <td style="background-color: rgb(204, 255, 153);">4.9, 5.1</td>
- <td>May 2015</td>
- <td style="background-color: rgb(255, 204, 204);">Jul 2016</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 23</td>
- <td style="background-color: rgb(153, 255, 153);">4.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(153, 255, 153);">2.46</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.18</td>
- <td style="background-color: rgb(153, 255, 153);">0.33</td>
- <td style="background-color: rgb(153, 255, 153);">5.1</td>
- <td style="background-color: rgb(204, 255, 153);">5.1</td>
- <td>Nov 2015</td>
- <td style="background-color: rgb(255, 204, 204);">Dec 2016</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 24</td>
- <td style="background-color: rgb(153, 255, 153);">4.5</td>
- <td style="background-color: rgb(153, 255, 153);">2.23</td>
- <td style="background-color: rgb(153, 255, 153);">2.48</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.20</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">6.1</td>
- <td style="background-color: rgb(153, 255, 153);">6.1</td>
- <td>Jun 2016</td>
- <td style="background-color: rgb(255, 204, 204);">Aug 2017</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 25</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">2.50</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22.2</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">6.2</td>
- <td style="background-color: rgb(153, 255, 153);">6.2</td>
- <td>Nov 2016</td>
- <td style="background-color: rgb(255, 204, 204);">Dec 2017</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 26</td>
- <td style="background-color: rgb(153, 255, 153);">4.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.25</td>
- <td style="background-color: rgb(153, 255, 153);">2.52</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22.16</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">7.1</td>
- <td style="background-color: rgb(153, 255, 153);">7.1</td>
- <td>Jul 2017</td>
- <td>Jun 2018</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 27</td>
- <td style="background-color: rgb(153, 255, 153);">4.13</td>
- <td style="background-color: rgb(153, 255, 153);">2.26</td>
- <td style="background-color: rgb(153, 255, 153);">2.54</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22.24</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">7.2</td>
- <td style="background-color: rgb(153, 255, 153);">7.2</td>
- <td>Nov 2017</td>
- <td>?</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Fedora 28</td>
- <td style="background-color: rgb(153, 255, 153);">4.16</td>
- <td style="background-color: rgb(153, 255, 153);">2.27</td>
- <td style="background-color: rgb(153, 255, 153);">2.56</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22.30</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">8.0.1</td>
- <td style="background-color: rgb(153, 255, 153);">8.0.1</td>
- <td>May 2018</td>
- <td>?</td>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">RHEL 6</td>
- <td style="background-color: rgb(153, 255, 153);">2.6.32</td>
- <td style="background-color: rgb(153, 255, 153);">2.12</td>
- <td style="background-color: rgb(153, 255, 153);">2.28</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(255, 204, 204);">N/A</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(255, 204, 204);">4.4</td>
- <td style="background-color: rgb(255, 204, 204);">4.4</td>
- <td>Nov 2010</td>
- <td>Nov 2020</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">RHEL 7</td>
- <td style="background-color: rgb(153, 255, 153);">3.10</td>
- <td style="background-color: rgb(153, 255, 153);">2.17</td>
- <td style="background-color: rgb(153, 255, 153);">2.42</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.14</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(255, 204, 204);">4.8</td>
- <td>Jun 2014</td>
- <td>Jun 2024</td>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">openSUSE 11.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.6.37</td>
- <td style="background-color: rgb(255, 204, 204);">2.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.28</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(255, 204, 204);">3.0</td>
- <td style="background-color: rgb(153, 255, 153);">0.20</td>
- <td style="background-color: rgb(255, 204, 204);">4.5</td>
- <td style="background-color: rgb(255, 204, 204);">4.5</td>
- <td>Mar 2011</td>
- <td style="background-color: rgb(255, 204, 204);">Jul 2015</td>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">openSUSE 12.1</td>
- <td style="background-color: rgb(153, 255, 153);">3.1</td>
- <td style="background-color: rgb(153, 255, 153);">2.14</td>
- <td style="background-color: rgb(153, 255, 153);">2.30</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(255, 204, 204);">3.2</td>
- <td style="background-color: rgb(153, 255, 153);">0.22</td>
- <td style="background-color: rgb(153, 255, 153);">4.6</td>
- <td style="background-color: rgb(255, 204, 204);">4.6</td>
- <td>Nov 2011</td>
- <td style="background-color: rgb(255, 204, 204);">May 2013</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE 12.2</td>
- <td style="background-color: rgb(153, 255, 153);">3.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.15</td>
- <td style="background-color: rgb(153, 255, 153);">2.32</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.4</td>
- <td style="background-color: rgb(153, 255, 153);">0.24</td>
- <td style="background-color: rgb(153, 255, 153);">4.7</td>
- <td style="background-color: rgb(255, 204, 204);">4.7</td>
- <td>Jul 2012</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2014</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE 12.3</td>
- <td style="background-color: rgb(153, 255, 153);">3.7</td>
- <td style="background-color: rgb(153, 255, 153);">2.17</td>
- <td style="background-color: rgb(153, 255, 153);">2.34</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.6</td>
- <td style="background-color: rgb(153, 255, 153);">0.28</td>
- <td style="background-color: rgb(153, 255, 153);">4.7</td>
- <td style="background-color: rgb(255, 204, 204);">4.7</td>
- <td>Mar 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Sep 2014</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE 13.1</td>
- <td style="background-color: rgb(153, 255, 153);">3.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.18</td>
- <td style="background-color: rgb(153, 255, 153);">2.38</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.10</td>
- <td style="background-color: rgb(153, 255, 153);">0.30</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(255, 204, 204);">4.8</td>
- <td>Nov 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2016</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE 13.2</td>
- <td style="background-color: rgb(153, 255, 153);">3.16</td>
- <td style="background-color: rgb(153, 255, 153);">2.19</td>
- <td style="background-color: rgb(153, 255, 153);">2.42</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.14</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(204, 255, 153);">4.8, 4.9</td>
- <td>Nov 2014</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2017</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE Leap 42.1</td>
- <td style="background-color: rgb(153, 255, 153);">4.1</td>
- <td style="background-color: rgb(153, 255, 153);">2.19</td>
- <td style="background-color: rgb(153, 255, 153);">2.44</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.16</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">5.2</td>
- <td style="background-color: rgb(204, 255, 153);">4.8, 5.2</td>
- <td>Nov 2015</td>
- <td style="background-color: rgb(255, 204, 204);">May 2017</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE Leap 42.2</td>
- <td style="background-color: rgb(153, 255, 153);">4.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(153, 255, 153);">2.48.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.20.9</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">5.3.1</td>
- <td style="background-color: rgb(153, 255, 153);">4.8.5, 5.3.1, 6.1.1</td>
- <td>Nov 2016</td>
- <td style="background-color: rgb(255, 204, 204);">Jan 2018</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">openSUSE Leap 42.3</td>
- <td style="background-color: rgb(153, 255, 153);">4.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(153, 255, 153);">2.48.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.20.10</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">5.3.1</td>
- <td style="background-color: rgb(153, 255, 153);">4.8.5, 5.3.1, 6.2.1, 7.1.1</td>
- <td>Jul 2017</td>
- <td>Jan 2019</td>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">Debian 6</td>
- <td style="background-color: rgb(153, 255, 153);">2.6.32</td>
- <td style="background-color: rgb(255, 204, 204);">2.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">2.20</td>
- <td style="background-color: rgb(255, 204, 204);">N/A</td>
- <td style="background-color: rgb(255, 204, 204);">0.16</td>
- <td style="background-color: rgb(255, 204, 204);">4.4</td>
- <td style="background-color: rgb(255, 204, 204);">4.1, 4.3, 4.4</td>
- <td>Feb 2011</td>
- <td style="background-color: rgb(255, 204, 204);">May 2014 / Feb 2016 (LTS)</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Debian 7</td>
- <td style="background-color: rgb(153, 255, 153);">3.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.13</td>
- <td style="background-color: rgb(153, 255, 153);">2.32</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.4</td>
- <td style="background-color: rgb(153, 255, 153);">0.26</td>
- <td style="background-color: rgb(153, 255, 153);">4.7</td>
- <td style="background-color: rgb(255, 204, 204);">4.4, 4.6, 4.7</td>
- <td>May 2013</td>
- <td style="background-color: rgb(255, 204, 204);">Apr 2016 / May 2018 (LTS)</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Debian 8</td>
- <td style="background-color: rgb(153, 255, 153);">3.16</td>
- <td style="background-color: rgb(153, 255, 153);">2.19</td>
- <td style="background-color: rgb(153, 255, 153);">2.42</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.14</td>
- <td style="background-color: rgb(153, 255, 153);">0.32</td>
- <td style="background-color: rgb(153, 255, 153);">4.9</td>
- <td style="background-color: rgb(204, 255, 153);">4.8, 4.9</td>
- <td>Apr 2015</td>
- <td>Jun 2018 / Jun 2020 (LTS)</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Debian 9</td>
- <td style="background-color: rgb(153, 255, 153);">4.9</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">2.50</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">6.3</td>
- <td style="background-color: rgb(153, 255, 153);">6.3</td>
- <td>Jun 2017</td>
- <td>Jun 2020 / Jun 2022 (LTS)</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Ubuntu 12.04 LTS</td>
- <td style="background-color: rgb(153, 255, 153);">3.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.15</td>
- <td style="background-color: rgb(153, 255, 153);">2.32</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.4</td>
- <td style="background-color: rgb(153, 255, 153);">0.30</td>
- <td style="background-color: rgb(153, 255, 153);">4.6</td>
- <td style="background-color: rgb(255, 204, 204);">4.4, 4.5, 4.6</td>
- <td>Apr 2012</td>
- <td style="background-color: rgb(255, 204, 204);">Apr 2017</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Ubuntu 14.04 LTS</td>
- <td style="background-color: rgb(153, 255, 153);">3.13</td>
- <td style="background-color: rgb(153, 255, 153);">2.19</td>
- <td style="background-color: rgb(153, 255, 153);">2.40</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.10</td>
- <td style="background-color: rgb(153, 255, 153);">0.30</td>
- <td style="background-color: rgb(153, 255, 153);">4.8</td>
- <td style="background-color: rgb(255, 204, 204);">4.4, 4.6, 4.7, 4.8</td>
- <td>Apr 2014</td>
- <td>Apr 2019</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Ubuntu 16.04 LTS</td>
- <td style="background-color: rgb(153, 255, 153);">4.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.23</td>
- <td style="background-color: rgb(153, 255, 153);">2.48</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.18</td>
- <td style="background-color: rgb(153, 255, 153);">0.33</td>
- <td style="background-color: rgb(153, 255, 153);">5.3</td>
- <td style="background-color: rgb(204, 255, 153);">4.7, 4.8, 4.9, 5.3</td>
- <td>Apr 2016</td>
- <td>Apr 2021</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">Ubuntu 18.04 LTS</td>
- <td style="background-color: rgb(153, 255, 153);">4.15</td>
- <td style="background-color: rgb(153, 255, 153);">2.27</td>
- <td style="background-color: rgb(153, 255, 153);">2.56</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.22.30</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">8-20180414</td>
- <td style="background-color: rgb(153, 255, 153);">7.3</td>
- <td>Apr 2018</td>
- <td>Apr 2023</td>
- </tr>
- <tr>
- <td style="background-color: rgb(255, 204, 204);">SLES 11 (SP4)</td>
- <td style="background-color: rgb(153, 255, 153);">3.0</td>
- <td style="background-color: rgb(255, 204, 204);">2.11</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(153, 255, 153);">2.18</td>
- <td style="background-color: rgb(255, 204, 204);">N/A</td>
- <td style="background-color: rgb(153, 255, 153);">0.24</td>
- <td style="background-color: rgb(153, 255, 153);">4.6, 5.3</td>
- <td style="background-color: rgb(255, 204, 204);">4.3</td>
- <td>Mar 2009</td>
- <td>Mar 2019</td>
- </tr>
- <tr>
- <td style="background-color: rgb(153, 255, 153);">SLES 12 (SP2)</td>
- <td style="background-color: rgb(153, 255, 153);">4.4</td>
- <td style="background-color: rgb(153, 255, 153);">2.22</td>
- <td style="background-color: rgb(153, 255, 153);">2.48.2</td>
- <td style="background-color: rgb(153, 255, 153);">2.24</td>
- <td style="background-color: rgb(153, 255, 153);">3.20.9</td>
- <td style="background-color: rgb(153, 255, 153);">0.34</td>
- <td style="background-color: rgb(153, 255, 153);">6.2.1</td>
- <td style="background-color: rgb(255, 204, 204);">4.8.5</td>
- <td>Oct 2014</td>
- <td>Oct 2024</td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="注意">注意</h4>
-
-<p>赤い背景は、現在のバージョンのFirefoxとの互換性がないことを表しています。EOL列では、EOL列の末尾のディストリビューションバージョンを表します。<br>
- <br>
- 黄色の背景はESR60との互換性を表しています<br>
- <br>
- 緑色の背景は現在のリリース (執筆時点では60) との互換性があることを表しています<br>
- <br>
- より緑色の背景は、現在のmozilla-central (執筆時点では62) との互換性があることを表しています。</p>
-
-<p>テーブルは <a href="https://github.com/glandium/firefox-linux-compat-matrix">https://github.com/glandium/firefox-linux-compat-matrix</a> のスクリプトとデータを使って生成されています。</p>
diff --git a/files/ja/mozilla/firefox/multiple_profiles/index.html b/files/ja/mozilla/firefox/multiple_profiles/index.html
deleted file mode 100644
index d495fe06af..0000000000
--- a/files/ja/mozilla/firefox/multiple_profiles/index.html
+++ /dev/null
@@ -1,245 +0,0 @@
----
-title: Multiple Firefox profiles
-slug: Mozilla/Firefox/Multiple_profiles
-tags:
- - Firefox
- - QA
- - イントロ
- - ガイド
- - プロファイル
- - 初心者
-translation_of: Mozilla/Firefox/Multiple_profiles
----
-<div>{{FirefoxSidebar}}</div>
-
-<p class="summary">Firefox のプロファイルは、ユーザーが Firefox のコピーに作成またはインストールした設定、カスタマイズ、アドオン、その他のパーソナライズの集合です。プロファイルに関する詳細は、Mozilla のエンドユーザサポートサイトを参照してください。</p>
-
-<h2 id="複数のプロファイルを持つ理由">複数のプロファイルを持つ理由</h2>
-
-<p>カジュアルなユーザーは、家族ごとに異なるプロファイルを使用することができます。プロファイルを別にすると、それぞれの人が独自のブックマーク、設定、アドオンを持つことができます。</p>
-
-<p>Web 開発者は Web サイト、アプリケーション、またはさまざまな Firefox チャンネル上の他のプロジェクトをテストするためのセカンダリプロファイルを必要とするかもしれません。たとえば、Web 開発用にいくつかの拡張機能をインストールしたいが、汎用の Web ブラウジング用にはインストールしたくないかもしれません。 Nightly チャンネルを使用している間、アドオン開発者がそれらを更新する機会を得るまで、新しい API の変更と一時的に互換性がなくなったアドオンが発生することがあります。このようなアドオンは、他のプロファイルで使用できるようにしながら、 Nightly のためのプロファイルから削除できます。</p>
-
-<p>QA、テスト、およびバグトリアージングの貢献者のために、それぞれ独自のプロファイルを持つ複数の開発版 Firefox をインストールしたい場合があります。テスト用の新しいプロファイルを作成すると、環境設定、ブックマーク、および履歴が失われないようにすることができます。新しいプロファイルを設定するには少し時間がかかります。完了すると、すべての Firefox バージョンが別々に更新され、同時に実行できます。</p>
-
-<h2 id="利用可能なブラウザ開発チャンネル">利用可能なブラウザ開発チャンネル</h2>
-
-<p>4つの利用可能なチャンネルがあり、それぞれは異なるレベルの安定性と開発レベルに対応しています。 4つのチャンネルは <a class="link-https" href="https://www.mozilla.org/firefox/new/" title="Firefox Stable">Release</a>, <a class="link-https" href="https://www.mozilla.org/firefox/beta/" title="Firefox Beta">Beta</a>, <a href="https://www.mozilla.org/firefox/aurora/">Developer Edition</a>, and <a class="external" href="https://nightly.mozilla.org/" title="Firefox Nightly">Nightly</a>です。 Release チャンネルは "公式なリリース" であり、たいていのユーザーに推奨されます。 しかしながら、より冒険好きなユーザーに対しては、ほかの3つのチャンネルを使用して Firefox の新機能を見て、試すことができます。 Beta チャンネルは次のリリースで公開される予定の機能を含んでおりテストの最終段階にあたります。 Aurora (Developer Edition) はまだ Beta ほど安定していない実験的な機能を含んでいます。 Nightly は Firefox 開発者からの最新のコードが含まれており、最も安定していないチャンネルです。</p>
-
-<h2 id="サードパーティのツール">サードパーティのツール</h2>
-
-<p>組み込みのプロファイルマネージャーと外部のプロファイルマネージャーに加えて、複数のプロファイルで作業するのを容易にするサードパーティ製のツールがいくつかあります。</p>
-
-<div class="note">
-<p>このリストは決して網羅的ではありません。発見した便利なツールをリストに追加してください!</p>
-</div>
-
-<h3 id="Mac_OS_X">Mac OS X</h3>
-
-<ul>
- <li><a href="http://davemartorana.com/multifirefox/">Multifirefox</a> by Dave Martorana</li>
-</ul>
-
-<h2 id="プロファイル管理">プロファイル管理</h2>
-
-<h3 id="Firefox_の実行中のプロファイルの決定">Firefox の実行中のプロファイルの決定</h3>
-
-<p>Windows, macOS or Linux で現在実行している Firefox インスタンスのプロファイルを決定するには、次のようにします。</p>
-
-<ol>
- <li>ブラウザーの URL 検索バーに about:profiles と入力します。</li>
- <li>表示されるページでは、すべてのプロファイルの一覧が表示されます。 それぞれの先頭は "プロファイル:" に続いてそのプロファイルの名前が表示されています。</li>
- <li>現在実行している Firefox インスタンスのプロファイルの下には "<strong>これは使用中のプロファイルです</strong>" という太字のテキストが表示されます。 例えば、 "プロファイル: Suzie" という項目の下にそのテキストがあれば、 <em>Suzie</em> という名前のプロファイルを実行していることになります。</li>
-</ol>
-
-<h3 id="希望のプロファイルで_Firefox_を起動する">希望のプロファイルで Firefox を起動する</h3>
-
-<p id="You_cannot_change_the_profile_while_Firefox_is_running._Although_it_is_possible_in_some_cases_to_have_multiple_instances_of_Firefox_running_in_different_profiles_to_avoid_confusion_you_should_first_exitquitterminate_all_running_instances_of_Firefox_FirefoxDeveloperEdition_or_Nightly._Then_follow_the_instructions_below_applicable_to_your_operating_system."><strong>You cannot change the profile while Firefox is running.</strong>  Although it is possible in some cases to have multiple instances of Firefox running in different profiles, to avoid confusion, you should first exit/quit/terminate all running instances of <em>Firefox</em>, <em>FirefoxDeveloperEdition</em> or <em>Nightly</em>.  Then follow the instructions below, applicable to your operating system.</p>
-
-<h4 id="Windows">Windows</h4>
-
-<h5 id="Windows_XP">Windows XP</h5>
-
-<ol>
- <li>Click the Start button.</li>
- <li>Click "Run".</li>
- <li>
- <p>Type <code>firefox --ProfileManager</code>.</p>
- </li>
-</ol>
-
-<h5 id="Windows_Vista7">Windows Vista/7</h5>
-
-<ol>
- <li>Click the Start button.</li>
- <li>Click the search bar at the bottom.</li>
- <li>
- <p>Type <code>firefox --ProfileManager</code>.</p>
- </li>
-</ol>
-
-<h5 id="Windows_88.1">Windows 8/8.1</h5>
-
-<ol>
- <li>Press "Windows + R" on your keyboard.</li>
- <li>Type <code>firefox --ProfileManager</code>.</li>
-</ol>
-
-<p>If the Profile Manager window does not open, Firefox may have been running in the background, even though it was not visible. Close all instances of Firefox, or restart the computer, and then try again.</p>
-
-<h4 id="Linux">Linux</h4>
-
-<p>If Firefox is already included in your Linux distribution, or if you have installed Firefox with the package manager of your Linux distribution:</p>
-
-<ol>
- <li>At the top of the Firefox window, click on the File menu and select Quit.</li>
- <li>In Terminal run <code>firefox --ProfileManager</code></li>
-</ol>
-
-<p>If the Profile Manager window does not open, Firefox may have been running in the background, even though it was not visible. Close all instances of Firefox, or restart the computer and then try again.</p>
-
-<h4 id="macOS">macOS</h4>
-
-<ol>
- <li>Run the <em>Terminal</em> application, which is found in Applications/Utilities.</li>
- <li>Type or paste in the path to Firefox, followed by <code>.app/Contents/MacOS/firefox</code>.  For example, if Firefox is installed in the recommended location, you would enter <code>/Applications/Firefox.app/Contents/MacOS/firefox</code>.</li>
- <li>If you have the path to your desired profile handy, enter a space character, followed by <code>-profile</code> followed by another space character, followed by the full path to the profile folder you wish to launch into.  This will launch Firefox immediately.  Otherwise, enter a space character followed by <code>--profilemanager</code>.  This will present the Profile Manager window in which you can make your selection.</li>
- <li>Hit <em>return.</em></li>
-</ol>
-
-<p>Here is a complete example Terminal command from steps 2-3:</p>
-
-<pre>/Applications/Firefox.app/Contents/macOS/firefox -profile /Users/Suzie/Library/Application\ Support/Firefox/Profiles/r99d1z7c.default</pre>
-
-<p>If you want to do this frequently and more easily, you may wish to create an <em>Automator</em> application, as explained in <a href="http://sonnygill.net/mac/mac-multiple-firefox-profiles/">this tutorial</a>.</p>
-
-<h3 id="プロファイルの作成">プロファイルの作成</h3>
-
-<h4 id="Creating_a_profile_through_the_Profile_Manager">Creating a profile through the Profile Manager</h4>
-
-<p>These instructions should be the same for all operating systems.</p>
-
-<ol>
- <li>To start the Create Profile Wizard, click "Create Profile..." in the Profile Manager.</li>
- <li>Click Next and enter the name of the profile. Use a profile name that is descriptive, such as your personal name. This name is not exposed to the Internet.</li>
- <li>You can also choose where to store the profile on your computer. To select storage location, click Choose Folder....</li>
- <li>If you choose your folder location for the profile, select a new or empty folder. If you choose a folder that isn't empty, and you later remove the profile and choose the \"Delete Files\" option, everything inside that folder will be deleted.</li>
- <li>To create the new profile, click Finish.</li>
-</ol>
-
-<h4 id="Creating_a_profile_through_the_Firefox_browser">Creating a profile through the Firefox browser</h4>
-
-<p>You can create a new Firefox profile directly from the browser.</p>
-
-<ol>
- <li>Type about:profiles into the browser URL search bar</li>
- <li>On the page, click Create a New Profile button</li>
- <li>Read the introduction, and click Next</li>
- <li>Enter a profile name for your new Profile. Use a profile name that is descriptive, such as your personal name. This name is not exposed to the Internet.</li>
- <li>Optionally, to change where the profile will be stored on your computer, click Choose Folder...</li>
- <li>To create the new profile, click Finish.</li>
-</ol>
-
-<h3 id="プロファイルの削除">プロファイルの削除</h3>
-
-<ol>
- <li>In the Profile Manager, select the profile to remove, and click Delete Profile....</li>
- <li>Confirm that you wish to delete the profile:
- <ul>
- <li>Don't Delete Files removes the profile from the Profile Manager yet retains the profile data files on your computer in the storage folder so that your information is not lost. "Don't Delete Files" is the preferred option, because it saves the old profile's folder, allowing you to recover the files to a new profile.</li>
- <li>Delete Files removes the profile and its files, including the profile bookmarks, settings, passwords, etc.<br>
- <br>
- {{ warning("If you use the \"Delete Files\" option, the profile folder, and files will be deleted. This action cannot be undone.") }}</li>
- <li>Cancel interrupts the profile deletion.</li>
- </ul>
- </li>
-</ol>
-
-<h3 id="プロファイルの名前変更">プロファイルの名前変更</h3>
-
-<ol>
- <li>In the Profile Manager, select the profile you want to rename, and then click "Rename Profile".</li>
- <li>Enter a new name for the profile and click on OK.</li>
-</ol>
-
-<div class="note">
-<p>Note: The folder containing the files for the profile is not renamed.</p>
-</div>
-
-<h2 id="オプション">オプション</h2>
-
-<h3 id="オフライン作業">オフライン作業</h3>
-
-<p>Choosing this option loads the selected profile, and starts Firefox offline. You can view previously viewed web pages, and experiment with your profile.</p>
-
-<h3 id="Don't_ask_at_startup">Don't ask at startup</h3>
-
-<p>If you have multiple profiles, Firefox prompts you for the profile to use each time you start Firefox. Select this option to allow Firefox to load the selected profile, without prompting at startup.</p>
-
-<div class="note">
-<p>Note: To access other profiles after selecting this option, you must start the Profile Manager first.</p>
-</div>
-
-<h2 id="プロファイルの使用">プロファイルの使用</h2>
-
-<h3 id="Windows_2">Windows</h3>
-
-<p>If you want to have the profile manager to pop up each time you start Firefox, so you can choose a profile, you will need to edit the "Target" of the launch icon. To do this:</p>
-
-<ol>
- <li>Right-click the icon and choose "Properties".</li>
- <li>When the properties dialog box pops up, you should see a "Target" text field that you can edit, and it should show the current file path.</li>
- <li>After the closing quote, add <code>-ProfileManager</code>.</li>
- <li>Click Ok.</li>
-</ol>
-
-<p>Now whenever you double click that icon, the profile manager should appear, allowing you to choose which profile you'd like to use.</p>
-
-<p>If you want individual icons to launch specific profiles, you will need to edit the "Target" of each icon. To do this:</p>
-
-<ol>
- <li>Right-click the icon and choose "Properties".</li>
- <li>When the properties dialog box pops up, you should see a "Target" text field that you can edit, and it should show the current file path.</li>
- <li>To permanently set a specific profile, add <code>-p PROFILE_NAME</code> to the target path, but outside of the quotes, replacing "PROFILE_NAME" with the actual profile name you chose.</li>
- <li>If you would also like to allow multiple instances of Firefox to run at the same time, add <code>-no-remote</code> after the profile name.</li>
-</ol>
-
-<p>Once you are all done, click Ok. Do this for each icon you'd like to have a specific profile for. Once done, each one should automatically start with the specified profile<code>.</code></p>
-
-<h3 id="Linux_2">Linux</h3>
-
-<p>There is no extremely straightforward way to create custom application launchers in Gnome 3 like there was in Gnome 2. The following tutorial will help get you going overall: <a class="external" href="https://blog.randell.ph/how-to-create-custom-application-launchers-in-gnome-3/" title="How to create custom application launchers in gnome 3">Gnome 3 Custom application launcher</a>. Once you get to the point of adding a new item, you can have the profile dialog show up every time or set the launcher to launch a specific profile.</p>
-
-<p>If you want to have the profile manager to pop up each time you start Firefox, so you can choose a profile, you will need to set the command line for your new launcher.</p>
-
-<ol>
- <li>Set the "command" text field to target the executable file, likely "/usr/bin/firefox", and add the <code>-p</code> parameter.</li>
-</ol>
-
-<p>If you want individual icons to launch specific profiles, you will need to set the command line for your new launcher. To do this:</p>
-
-<ol>
- <li>Set the "command" text field to target the executable file, likely "/usr/bin/firefox", and add the <code>-p PROFILE_NAME</code> parameter, replacing "PROFILE_NAME" with the specific profile.</li>
- <li>Repeat as necessary, for each additional profile you want to set.</li>
- <li>If you would also like to allow multiple instances of Firefox to run at the same time, add "-no-remote" after the profile name.</li>
-</ol>
-
-<h3 id="Mac_OS_X_2">Mac OS X</h3>
-
-<p>You can find a useful tutorial to set up custom launchers here: <a href="https://spf13.com/post/managing-multiple-firefox-profiles-in-os-x/" title="Managing Multiple Firefox Profiles in OSX">Managing Multiple Firefox Profiles in OSX</a>. Do note it's best to follow all steps in the "Creating the scripts" section, including the "edit Info.plist" step. Leave off the profile name if you want the profile selector to show up every time you launch.</p>
-
-<h2 id="さまざまな_Firefox_チャンネル用に複数のプロフィールを設定する">さまざまな Firefox チャンネル用に複数のプロフィールを設定する</h2>
-
-<p>This section will be especially helpful if you are a developer, wanting to work with multiple channels, and each having their separate launcher.</p>
-
-<h3 id="Windows_3">Windows</h3>
-
-<p>In Windows, the Developer and Nightly builds get their own directory in the "Programs" folder, so you don't have to worry about where to store the downloaded files. However, all three will attempt to use the same profile by default. You won't want to keep this behavior, because the different channels have different levels of features. To set each launcher, follow the Windows instructions at <a href="#Windows">Windows Launcher</a>.</p>
-
-<h3 id="Linux_3">Linux</h3>
-
-<p>In Linux, things aren't as automatically set up. You will likely get a prompt to download a tar.bz2 file to extract from. Extract the files to a new directory, and use the new launcher instructions from <a href="#Linux">here</a>. The only change you will need to make is the command path. You will want to set it to the directory where you extracted the Firefox channel's tar.bz2 file, and the executable "firefox" file located within this directory. The remaining profile assignment methods will remain the same. You will want to, for sure, add the <code>-no-remote</code> part to the end of the command field, so that you could run multiple instances at the same time.</p>
-
-<h3 id="Mac_OS_X_3">Mac OS X</h3>
-
-<p>You can find a useful tutorial to set up custom launchers here: <a href="https://spf13.com/post/managing-multiple-firefox-profiles-in-os-x/" title="Managing Multiple Firefox Profiles in OSX">Managing Multiple Firefox Profiles in OSX</a>. Do note it's best to follow all steps in the "Creating the scripts" section, including the "edit Info.plist" step. Also, you'll want to change the path in the do shell script to point to the correct .app file for the Firefox channel you want to target.</p>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/index.html
deleted file mode 100644
index 3adde0c9b6..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/index.html
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: マルチプロセス Firefox
-slug: Mozilla/Firefox/Multiprocess_Firefox
-translation_of: Mozilla/Firefox/Multiprocess_Firefox
----
-<p>現バージョンのデスクトップ版 Firefox は、オペレーティングシステムにおけるプロセス 1 つでブラウザ全体を実行しています。特に、ブラウザ UI (別名 "chrome code") の JavaScript を実行するプロセスと Web ページ (別名 "content" または "web content") のコードを実行するプロセスが同じです。<br>
- <br>
- 将来のバージョンの Firefox は、ブラウザ UI のプロセスと web content のプロセスを分離します。このアーキテクチャの第 1 段階では、すべてのブラウザタブを同一のプロセスで実行して、ブラウザ UI を別のプロセスで実行する予定です。また将来の段階で、複数の content プロセスを持つようにする予定です。マルチプロセス Firefox を提供するプロジェクトは Electrolysis と呼ばれ、e10s と略されることがあります。</p>
-
-<p>一般的な Web ページは、マルチプロセス Firefox の影響を受けません。Firefox そのものや Firefox アドオンの開発に携わる人々は、web content に直接アクセスできる機能に依存するコードを使用している場合に影響を受けます。</p>
-
-<p>content へ直接アクセスせずに、chrome JavaScript では <a href="/ja/Firefox/Multiprocess_Firefox/Message_manager">メッセージマネージャ</a> を使用して content にアクセスしなければなりません。容易に移行できるようにするため、<a href="/ja/Firefox/Multiprocess_Firefox/Cross_Process_Object_Wrappers">クロスプロセスオブジェクトラッパー</a>や<a href="/ja/Firefox/Multiprocess_Firefox/Limitations_of_chrome_scripts#Compatibility_shims">アドオン開発者向けの互換性 shim</a> を実装しました。あなたがアドオン開発者で影響を受けるかがわからない場合は、<a href="/ja/Add-ons/Working_with_multiprocess_Firefox">マルチプロセス Firefox を扱うためのガイド</a>をご覧ください。</p>
-
-<p>現在マルチプロセス Firefox は <a class="external external-icon" href="https://www.mozilla.org/firefox/developer/">Firefox Developer Edition</a> で、既定で有効です。</p>
-
-<hr>
-<div class="column-container">
-<div class="column-half">
-<dl>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Technical_overview">技術概要</a></dt>
- <dd>マルチプロセス Firefox がどのように実装されているかを、高レベルから概観します。</dd>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Glossary">用語</a></dt>
- <dd>マルチプロセス Firefox で使用する用語のリファレンスです。</dd>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Message_Manager">メッセージマネージャ</a></dt>
- <dd>chrome と content の間の通信に使用するオブジェクトのガイドです。</dd>
- <dt><a href="/ja/Mozilla/Add-ons/SDK/Guides/Multiprocess_Firefox_and_the_SDK">SDK ベースのアドオン</a></dt>
- <dd>Add-on SDK を使用して開発したアドオンのマイグレーション方法です。</dd>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Which_URIs_load_where">URI ごとの読み込み先</a></dt>
- <dd>どの URI (chrome:、about:、file:、resource:) がどのプロセスに読み込まれるかのクイックガイドです。</dd>
-</dl>
-</div>
-
-<div class="column-half">
-<dl>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Motivation">マルチプロセス化を行う理由</a></dt>
- <dd>なぜマルチプロセス Firefox を実装するか? その答えはパフォーマンス、セキュリティ、安定性です。</dd>
- <dt><a href="/ja/Add-ons/Working_with_multiprocess_Firefox">アドオンのマイグレーションガイド</a></dt>
- <dd>あなたがアドオン開発者でしたら、アドオンが影響を受けるかを突き止めてコードの更新方法を確認してください。</dd>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Cross_Process_Object_Wrappers">クロスプロセスオブジェクトラッパー</a></dt>
- <dd>クロスプロセスオブジェクトラッパーは、chrome code が同期的に content にアクセスする機能を提供する、マイグレーション支援措置です。</dd>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Debugging_frame_scripts">content プロセスのデバッグ</a></dt>
- <dd>frame やプロセスのスクリプトを含む、content プロセスで実行しているコードをデバッグする方法です。</dd>
- <dt><a href="https://developer.mozilla.org/docs/Mozilla/Firefox/Multiprocess_Firefox/Tab_selection_in_multiprocess_Firefox">マルチプロセス化された Firefox におけるタブの選択方法</a></dt>
- <dd>マルチプロセス化された Firefox ではタブの選択方法が異なります。</dd>
-</dl>
-</div>
-</div>
-
-<hr>
-<div class="column-container">
-<div class="column-half">
-<dl>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Limitations_of_chrome_scripts">chrome スクリプトの制限</a></dt>
- <dd>chrome code で実施できなくなることと、その修正方法の実例です。</dd>
-</dl>
-</div>
-
-<div class="column-half">
-<dl>
- <dt><a href="/ja/Firefox/Multiprocess_Firefox/Limitations_of_frame_scripts">frame スクリプトの制限</a></dt>
- <dd>frame スクリプトで実施できなくなることと、その代替手段の実例です。</dd>
-</dl>
-</div>
-</div>
-
-<hr>
-<h2 id="Contact_us" name="Contact_us">問い合わせ先</h2>
-
-<p>プロジェクトについて詳しく知り、参加するか疑問点を尋ねてください。</p>
-
-<ul>
- <li><strong>Electrolysis プロジェクトのページ</strong>: <a href="https://wiki.mozilla.org/Electrolysis">https://wiki.mozilla.org/Electrolysis</a></li>
- <li><strong>IRC</strong>: <a href="https://wiki.mozilla.org/IRC">irc.mozilla.org</a> の #e10s</li>
- <li><strong>メーリングリスト</strong>: <a href="https://groups.google.com/forum/#!forum/mozilla.dev.tech.electrolysis">dev.tech.electrolysis</a></li>
-</ul>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/index.html
deleted file mode 100644
index 869474d44f..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Message manager
-slug: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager
----
-<p>Message managers provide a way for chrome-privileged JavaScript code to communicate across process boundaries. They are particularly useful for allowing chrome code, including the browser's own code and extension code, to access web content when the browser is running web content in a separate process.</p>
-
-<p>These guides explain how to use message managers in multiprocess Firefox.</p>
-
-<p>Note that none of this requires multiprocess Firefox: everything described here will work with single-process Firefox, so the same code will work in both variants.</p>
-
-<hr>
-<h2 id="Guides">Guides</h2>
-
-<div class="column-container">
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Message_manager_overview">Message manager overview</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Frame_script_loading_and_lifetime">Frame script loading and lifetime</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Communicating_with_frame_scripts">Communicating with frame scripts</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Performance">Performance Best Practices</a></dt>
- <dd> </dd>
-</dl>
-</div>
-
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Frame_script_environment">Frame script environment</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/_Limitations_of_frame_scripts">Limitations of frame scripts</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/Firefox/Multiprocess_Firefox/Message_Manager/Process_scripts">Process scripts</a></dt>
- <dd> </dd>
-</dl>
-</div>
-</div>
-
-<hr>
-<h2 id="API_reference">API reference</h2>
-
-<div class="column-container">
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader">nsIFrameScriptLoader</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager">nsIMessageListenerManager</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster">nsIMessageBroadcaster</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender">nsIMessageSender</a></dt>
- <dd> </dd>
-</dl>
-</div>
-
-<div class="column-half">
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISyncMessageSender">nsISyncMessageSender</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentFrameMessageManager">nsIContentFrameMessageManager</a></dt>
- <dd> </dd>
- <dt><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProcessScriptLoader">nsIProcessScriptLoader</a></dt>
- <dd> </dd>
-</dl>
-</div>
-</div>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/message_manager_overview/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/message_manager_overview/index.html
deleted file mode 100644
index 5e00266603..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/message_manager/message_manager_overview/index.html
+++ /dev/null
@@ -1,444 +0,0 @@
----
-title: Message manager overview
-slug: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager/Message_manager_overview
-translation_of: Mozilla/Firefox/Multiprocess_Firefox/Message_Manager/Message_manager_overview
----
-<div class="summary">
-<p>マルチプロセスの Firefo では 2 つのプロセスが存在します。</p>
-
-<ul>
- <li>Chrome プロセスまたは親プロセスと呼ばれるもので、ブラウザ UI(chrome) コードと拡張によって挿入されたコードが動いています。</li>
- <li>コンテンツプロセスまたは子プロセスと呼ばれます。Web コンテンツのすべてが動いています。近い将来のマルチプロセス Firefo のバージョンでは、それぞれのタブが個別のプロセスで動作するようになりますが、現在はすべてのコンテンツタブが 1 つのコンテンツプロセスを共有している状況です。</li>
-</ul>
-
-<p>Message manager はあるプロセス上の chrome 権限 JavaScript がほかのプロセス上の Chrome 権限 JavaScript と通信することを可能にします。</p>
-
-<p>この記事では種類の違う message manager の説明、アクセス方法、使いどころの説明をします。</p>
-</div>
-
-<p>トップレベルにおいて、2つの違う種類の message manager が存在します。</p>
-
-<ul>
- <li><em>Frame message managers:</em>コンテンツタブにロードされた iframe にロードされた chrome プロセスコードを有効にします。(現在は 1 つのブラウザタブ) それは<em> frame scripts</em> と呼ばれ、 その名の通り、ブラウザ内の特定のフレームにスコープされます。もし chrome コードを子プロセスで動作して、Web コンテンツにアクセスしたい場合は、一般的にこの種の message manager を使います。</li>
- <li><em>Process message managers: </em>プロセスの境界を越え、親(chrome) プロセスで動作しているコードが子(コンテンツ)プロセスで動作するコードと通信することを可能にします。これが子プロセスにおいてはグローバルである事を除いては、frame scripts に似ています。Process scripts は <a href="/en/docs/Observer_Notifications">observer</a> や <a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPolicy">content policy</a> のグローバルサービスにアクセスするように、エクステンションがコンテンツプロセスで限られたコードを実行する場合と使い方が似ています。</li>
-</ul>
-
-<h2 id="Frame_message_managers">Frame message managers</h2>
-
-<p>マルチプロセスの Firefo では、chrome コードが Web コンテンツにアクセスする必要が出た時に、以下のように使います。</p>
-
-<ul>
- <li>factor the code that needs direct access to content into separate scripts, which are called "frame scripts"</li>
- <li>use a frame message manager to load these frame scripts into the content process</li>
- <li>use the frame message manager API to communicate with the frame script</li>
-</ul>
-
-<div class="note">
-<p>Some older articles on multiprocess Firefox and the message manager might refer to "content scripts" instead of "frame scripts", but this usage is deprecated because the Add-on SDK uses "content script" to refer to a <a href="https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts">similar but different kind of script</a>.</p>
-</div>
-
-<p>So fundamentally, frame message managers enable chrome code to:</p>
-
-<ul>
- <li>load a script into a frame (essentially, a single browser tab) in the content process. These scripts are called "frame scripts".</li>
- <li>communicate with frame scripts using message-passing APIs</li>
-</ul>
-
-<p>There are various types of frame message managers, as depicted in this diagram:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/10795/frame-message-managers.png" style="display: block; height: 596px; margin-left: auto; margin-right: auto; width: 737px;"></p>
-
-<p>This diagram shows the setup when there are 2 browser windows open, one with 2 tabs open and one with 1 tab open.</p>
-
-<h3 id="Chrome_process">Chrome process</h3>
-
-<p>In the chrome process, there's a hierarchy of frame message managers: the global frame message manager, window message managers, and browser message managers.</p>
-
-<h4 id="Global_frame_message_manager">Global frame message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>There's a single <em>global frame message manager</em> in the chrome process.</p>
-
- <p>This operates on all frames, in all content tabs. If you load a frame script using the global frame message manager, the script gets loaded separately into every open tab: three times, in the diagram above. Similarly, if you send a message using the global frame message manager, it's received by all content tabs, and is then delivered to any frame scripts that are listening for it.</p>
-
- <p>Its most important functions and attributes are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#childCount">childCount</a></code> : contains the number of children (typically, browser windows)</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#getChildAt()">getChildAt()</a></code> : get the child at the given index</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader#loadFrameScript()">loadFrameScript()</a></code> : load a frame script into every tab in the browser</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#broadcastAsyncMessage()">broadcastAsyncMessage()</a></code> : send a message to frame scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : start listening to a specific message from all frame scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#removeMessageListener()">removeMessageListener()</a></code> : stop listening to a specific message</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader" title="">nsIFrameScriptLoader</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager" title="">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster" title="">nsIMessageBroadcaster</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>Access it using <code><a href="/en-US/docs/Components.classes">Components.classes</a></code>:</p>
-
- <pre class="brush: js language-js">
-// chrome script
-let globalMM = Cc["@mozilla.org/globalmessagemanager;1"]
- .getService(Ci.nsIMessageListenerManager);</pre>
-
- <p>You can also access it as the <code>mm</code> property of <a href="/en-US/docs/Mozilla/JavaScript_code_modules/Services.jsm">Services.jsm</a>, if you are in the parent process.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="Window_message_manager">Window message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>There's a <em>window message manager</em> for every browser window: two, in the diagram above.</p>
-
- <p>It operates on all content tabs in a given window. If you load a frame script using the window message manager it gets loaded separately into each tab open in that particular window. If you send a message using the window message manager, it gets sent to all content tabs in that window.</p>
-
- <p>Its most important functions and attributes are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#childCount">childCount</a></code> : contains the number of children (typically, browser tabs)</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#getChildAt()">getChildAt()</a></code> : get the child at the given index</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader#loadFrameScript()">loadFrameScript()</a></code> : load a frame script into every tab in this window</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#broadcastAsyncMessage()">broadcastAsyncMessage()</a></code> : send a message to all frame scripts in this window</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : start listening to a specific message from frame scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#removeMessageListener()">removeMessageListener()</a></code> : stop listening to a specific message</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader" title="">nsIFrameScriptLoader</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager" title="">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster" title="">nsIMessageBroadcaster</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>You can access it as a property of the browser window:</p>
-
- <pre class="brush: js">
-// chrome script
-let windowMM = window.messageManager;</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="Browser_message_manager">Browser message manager</h4>
-
-<div class="note">
-<p>Note that in this context, "browser" refers to the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/browser">XUL &lt;browser&gt; object</a>, which is a frame that hosts a single Web document. It does not refer to the more general sense of a Web browser.</p>
-</div>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>Finally, there's a <em>browser message manager</em> for every open content tab: three, in the diagram above.</p>
-
- <p>This corresponds one-to-one with a content tab. Scripts you load using a browser message manager are loaded only into that content tab, and messages you send are delivered only to that content tab.</p>
-
- <p>You can mix and match: so for example, you could load a script into every tab using the global message manager, but then send a message to the script instance loaded into a specific tab by using the browser message manager.</p>
-
- <p>Its most important functions are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader#loadFrameScript()">loadFrameScript()</a></code> : load a frame script into this browser frame (tab)</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender#sendAsyncMessage()">sendAsyncMessage()</a></code> : send a message to all frame scripts in this browser frame</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : start listening to a specific message from frame scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#removeMessageListener()">removeMessageListener()</a></code> : stop listening to a specific message</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code>nsIProcessChecker</code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFrameScriptLoader">nsIFrameScriptLoader</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender">nsIMessageSender</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>The browser message manager can be accessed as a property of the XUL <code>&lt;browser&gt;</code> element:</p>
-
- <pre class="brush: js">
-// chrome script
-let browserMM = gBrowser.selectedBrowser.messageManager;</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Content_process">Content process</h3>
-
-<h4 id="Content_frame_message_manager">Content frame message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>There's a <em>content frame message manager</em> for every open tab. It's the content-side end of frame message manager conversations.</p>
-
- <p>Frame scripts are loaded into the content frame message manager scope, and messages from chrome message managers end up here.</p>
-
- <p>The content frame message manager provides the <a href="/en-US/Firefox/Multiprocess_Firefox/Frame_script_environment">global object for frame scripts</a> (but note that there is trickery to ensure that top-level variables defined by frame scripts are not shared).</p>
-
- <p>Frame scripts can use this object to send messages to the chrome process, and to receive messages from the chrome process.</p>
-
- <p>Its most important attributes and functions are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentFrameMessageManager#content">content</a></code> : access the DOM window hosted by the tab</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentFrameMessageManager#docShell">docShell</a></code> : access the top-level docshell</p>
-
- <p><code><a href="/en-US/docs/Components_object">Components</a></code> : access privileged objects and APIs</p>
-
- <p><code><a href="/en-US/docs/Web/API/EventTarget/addEventListener">addEventListener()</a></code> : listen to DOM events</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : receive messages from the chrome process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender#sendAsyncMessage()">sendAsyncMessage()</a></code> : send asynchronous messages to the chrome process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISyncMessageSender#sendSyncMessage()">sendSyncMessage()</a></code> : send synchronous messages to the chrome process</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code><a href="https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIDOMEventTarget">nsIDOMEventTarget</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender">nsIMessageSender</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISyncMessageSender">nsISyncMessageSender</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentFrameMessageManager">nsIContentFrameMessageManager</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>The content frame message manager is the global object in frame scripts.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Process_message_managers">Process message managers</h2>
-
-<p>Process message managers はプロセス境界を越え、異なるプロセスと通信することを可能にします。マルチプロセスの Firefo のコンセプトは次の通り。</p>
-
-<ul>
- <li>"親プロセス"</li>
- <li>"子プロセス" は親プロセスによって生成されたプロセス</li>
-</ul>
-
-<p>実用的な目的で、マルチプロセスの Firefo の親プロセスは chrome プロセスで、子プロセスは コンテンツプロセスです。</p>
-
-<p>各子プロセスは、single <em>child process message manager</em> (CPMM) を持ちます。それに加え、親プロエスでは <em>child-in-process message manager</em> (CIPMM) をもっています。</p>
-
-<p>各子プロセスの message manager は、親プロセスに対応する <em>parent process message manager</em> (PPMM) を持っています。</p>
-
-<p>親プロセスには 1つの <em>global parent process message manager</em> (GPPMM) をもっており、それがすべての親プロセスの message manager に対するアクセスを提供します。2 つの子プロセスを持つと以下の図のように構築されます。</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/10799/process-message-managers.png" style="display: block; height: 477px; margin-left: auto; margin-right: auto; width: 477px;"></p>
-
-<p>GPPMM を使って、CIPMM とすべての CPMM にブロードキャストすることができます。PPMM は対応する CPMM にだけメッセージを送信できます。CPMM では親プロセスにメッセージを送信できます。まず初めに対応する PPMM が受信でき、次に GPPMM が受信します。<br>
- <br>
- From Firefox 38 onwards, you can also use a parent process message manager to load a script into a child process. This is the recommended way to load a script that executes just once per child process, which is something you might want to do if you are interacting with some global service (for example, adding listeners to observer notifications or registering a content policy).</p>
-
-<h3 id="Parent_process">Parent process</h3>
-
-<h4 id="Global_parent_process_message_manager">Global parent process message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>The global parent process message manager (GPPMM) is global to the parent process.</p>
-
- <ul>
- <li>Messages sent using the GPPMM get sent to all CPMMs in all child processes.</li>
- <li>Process scripts loaded using the GPPMM get loaded in all child processes.</li>
- </ul>
-
- <p>Its most important functions and attributes are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#childCount">childCount</a></code> : contains the number of children (child processes, plus the in-content child)</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#getChildAt()">getChildAt()</a></code> : get the child at the given index</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProcessScriptLoader#loadProcessScript()">loadProcessScript()</a></code> : load a process script into every content process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#broadcastAsyncMessage()">broadcastAsyncMessage()</a></code> : send a message to all process scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : start listening to a specific message from process scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#removeMessageListener()">removeMessageListener()</a></code> : stop listening to a specific message</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProcessScriptLoader">nsIProcessScriptLoader</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager" title="">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster" title="">nsIMessageBroadcaster</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>You can access the GPPMM with code like this:</p>
-
- <pre class="brush: js">
-// parent process
-let ppmm = Cc["@mozilla.org/parentprocessmessagemanager;1"]
- .getService(Ci.nsIMessageBroadcaster);</pre>
-
- <p>You can also access it as the <code>ppmm</code> property of <a href="/en-US/docs/Mozilla/JavaScript_code_modules/Services.jsm">Services.jsm</a>, if you are in the parent process.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="Parent_process_message_manager">Parent process message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>There's one parent process message manager (PPMM) in the parent process for every child process, and its API is oriented to that one child process.</p>
-
- <ul>
- <li>Messages sent using the PPMM are received only by the corresponding CPMM</li>
- <li>Scripts loaded using the PPMM are loaded only into the corresponding child process.</li>
- </ul>
-
- <p>Its most important functions are:</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProcessScriptLoader#loadProcessScript()">loadProcessScript()</a></code> : load a process script into the content process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageBroadcaster#broadcastAsyncMessage()">broadcastAsyncMessage()</a></code> : send a message to process scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : start listening to a specific message from process scripts</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#removeMessageListener()">removeMessageListener()</a></code> : stop listening to a specific message</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code>nsIProcessChecker</code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProcessScriptLoader">nsIProcessScriptLoader</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender">nsIMessageSender</a></code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>You can access a PPMM using the <code>getChildAt()</code> function in the GPPMM:</p>
-
- <pre class="brush: js">
-// parent process
-let ppmm = Services.ppmm.getChildAt(1);</pre>
- </td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Child_process">Child process</h3>
-
-<h4 id="Child_process_message_manager">Child process message manager</h4>
-
-<table class="fullwidth-table standard-table">
- <tbody>
- <tr>
- <td style="width: 20%;">Description</td>
- <td>
- <p>There's one child process message manager (CPMM) in each child process. Messages sent using the CPMM are sent to the corresponding PPMM and are also relayed to the GPPMM.</p>
-
- <p>Its most important attributes and functions are:</p>
-
- <p><code><a href="/en-US/docs/Components_object">Components</a></code> : access privileged objects and APIs</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager#addMessageListener()">addMessageListener()</a></code> : receive messages from the parent process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender#sendAsyncMessage()">sendAsyncMessage()</a></code> : send asynchronous messages to the parent process</p>
-
- <p><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISyncMessageSender#sendSyncMessage()">sendSyncMessage()</a></code> : send synchronous messages to the parent process</p>
- </td>
- </tr>
- <tr>
- <td>Interfaces</td>
- <td>
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageListenerManager">nsIMessageListenerManager</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMessageSender">nsIMessageSender</a></code></p>
-
- <p><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISyncMessageSender">nsISyncMessageSender</a></code></p>
-
- <p><code>nsIContentProcessMessageManager</code></p>
- </td>
- </tr>
- <tr>
- <td>How to access</td>
- <td>
- <p>Code running in a child process can access the CPMM with code like this:</p>
-
- <pre class="brush: js">
-// child process script
-let cpmm = Cc["@mozilla.org/childprocessmessagemanager;1"]
- .getService(Ci.nsISyncMessageSender);</pre>
-
- <p>You can also access it as the <code>cpmm</code> property of <a href="/en-US/docs/Mozilla/JavaScript_code_modules/Services.jsm">Services.jsm</a>, if you are in the child process.</p>
- </td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/web_content_compatibility/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/web_content_compatibility/index.html
deleted file mode 100644
index c94bbd1737..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/web_content_compatibility/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: Web コンテンツの互換性
-slug: Mozilla/Firefox/Multiprocess_Firefox/Web_content_compatibility
-translation_of: Mozilla/Firefox/Multiprocess_Firefox/Web_content_compatibility
----
-<div>{{FirefoxSidebar}}</div>
-
-<p><span class="seoSummary">Firefoxにマルチプロセス機能を導入するには、Webコンテンツにシームレスで目に見えないものが必要ですが、過去の挙動からの例外や微妙な変更があります。 この資料では、遭遇する可能性のある既知の相違点について説明します。</span></p>
-
-<h2 id="イベント">イベント</h2>
-
-<p>ここでは、マルチプロセスのFirefoxの実装によって動作が変更されたイベントに関する情報を見つけることができます。</p>
-
-<h3 id="&lt;option>_から_&lt;select>_へイベントがバブルしない"><code>&lt;option&gt;</code> から <code>&lt;select&gt;</code> へイベントがバブルしない</h3>
-
-<p>以前より、Firefoxはキーボードとマウスのイベントを {{HTMLElement("option")}} 要素から {{HTMLElement("select")}} 要素にバブルアップさせました。この動作は多くのブラウザで矛盾(たとえば、イベントがChromeでバブルアップしないなど)しています。 Web互換性を高めるため(加えて技術的な理由のため)に、Firefoxがマルチプロセスモードで、<code>&lt;select&gt;</code>要素がドロップダウンリストとして表示されている場合、これらのイベントはバブルアップしません。<code>&lt;select&gt;</code>がインラインで表示され、<code>multiple</code>属性が定義されているか、<code>size</code>属性が1より大きい値に設定されている場合、これらのイベントはバブルアップします。<br>
- <br>
- イベントの {{HTMLElement("option")}} 要素を見るのではなく、{{HTMLElement("select")}} の {{event("change")}} イベントを監視する必要があります。詳細は {{bug(1090602)}} を参照してください。</p>
-
-<h2 id="関連情報">関連情報</h2>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox/Multiprocess_Firefox">Multiprocess Firefox</a></li>
- <li>{{HTMLElement("option")}}</li>
- <li>{{HTMLElement("select")}}</li>
- <li>{{domxref("HTMLOptionElement")}}</li>
- <li>{{domxref("HTMLSelectElement")}}</li>
-</ul>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/which_uris_load_where/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/which_uris_load_where/index.html
deleted file mode 100644
index d4eccacf5a..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/which_uris_load_where/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: URIのロードする先
-slug: Mozilla/Firefox/Multiprocess_Firefox/Which_URIs_load_where
-translation_of: Mozilla/Firefox/Multiprocess_Firefox/Which_URIs_load_where
----
-<div>{{FirefoxSidebar}}</div>
-
-<p>最初にページのURIスキームに基づいて、ブラウザは Chrome プロセスまたはコンテンツプロセスでページを読み込むかどうかを決定できます。一部のスキームでは、デフォルトの動作を変更できます。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">スキーム</th>
- <th scope="col">振る舞い</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>about:</code></td>
- <td>
- <p>By default, <code>about:</code> pages are always loaded in the chrome process. However, when you register a new <code>about:</code> page, you can change this default.</p>
-
- <p>Two new flags are defined in <code><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/protocol/about/nsIAboutModule.idl">nsIAboutModule</a></code>:</p>
-
- <ul>
- <li><code>URI_CAN_LOAD_IN_CHILD</code>: the page will be loaded in the same process as the <code><a href="/en-US/docs/XUL/browser">browser</a></code> that has loaded it.</li>
- <li><code>URI_MUST_LOAD_IN_CHILD</code>: the page will always be loaded in a child process.</li>
- </ul>
-
- <p>To use one of these flags, return it from your implementation of <code>getURIFlags</code> in the <a href="/en-US/docs/Custom_about:_URLs">code that registers the <code>about:</code> URI</a>.</p>
-
- <p>If you use these flags, you must register the about page in the framescript for each tab. If you do not set multiprocessCompatible to true in your install.rdf then shims will be used. But the e10s shims will be deprecated soon. Read more here - <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1257201">Bug 1257201</a>.</p>
- </td>
- </tr>
- <tr>
- <td><code>chrome:</code></td>
- <td>
- <p>By default, <code>chrome:</code> pages are always loaded in the chrome process. However, when you register a new <code>chrome:</code> page, you can change this default.</p>
-
- <p>Two new flags are defined in the <a href="/en-US/docs/Chrome_Registration">chrome.manifest file</a>:</p>
-
- <ul>
- <li>remoteenabled: the page will be loaded in the same process as the <code><a href="/en-US/docs/XUL/browser">browser</a></code> that has loaded it.</li>
- <li>remoterequired: the page will always be loaded in a child process.</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td><code>file:</code></td>
- <td>
- <p>常にコンテンツプロセスに読み込まれます。</p>
-
- <p><strong>注:</strong> これは <code>file:</code> という意味ではなく、コンテンツプロセスのコードでURIを自由に使用することができます。 サンドボックス化は特定のディレクトリをブラックリストに載せ、今後の変更により <code>file:</code> URIを通常のWebコンテンツとは別の独立したコンテンツプロセスに制限する可能性があります。<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1187099">bug 1187099</a> で、これがプロファイルディレクトリからファイルをロードしようとしているアドオンにどのように影響するかを見てください。</p>
- </td>
- </tr>
- <tr>
- <td><code>resource:</code></td>
- <td>常にコンテンツプロセスに読み込まれます。</td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ja/mozilla/firefox/multiprocess_firefox/目的/index.html b/files/ja/mozilla/firefox/multiprocess_firefox/目的/index.html
deleted file mode 100644
index b9635595c4..0000000000
--- a/files/ja/mozilla/firefox/multiprocess_firefox/目的/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: マルチプロセス化を行う理由
-slug: Mozilla/Firefox/Multiprocess_Firefox/目的
-translation_of: Mozilla/Firefox/Multiprocess_Firefox/Motivation
----
-<p>Firefoxがコンテンツを別のプロセスで動作するようにするには、3つの目的があります。:それは、パフォーマンス、セキュリティ、安定性です</p>
-
-<h2 id="パフォーマンス">パフォーマンス</h2>
-
-<p>Mozilla は過去2年間、ブラウザの応答性の向上に注力してきました。その目的は<a href="/docs/Glossary/Jank">プチフリ</a>、つまり大きなページをロードしているときやタイピング中、もしくはスクロール中にブラウザがフリーズしたように見える状況を減らすことにありました。近年、応答性はスループットよりも重要になりつつあります。応答性の向上に関する様々な改良は、<a href="https://wiki.mozilla.org/Performance/Snappy">Snappy project</a> の一部として達成されました。主な点を挙げると以下の通りになります:</p>
-
-<ul>
- <li>メインスレッドがユーザへの応答を続けられるようにするために、時間のかかる処理の別スレッドへの移行すること</li>
- <li>入出力によってメインスレッドがブロックされるのさけるため、入出力を別スレッドで非同期に行うこと</li>
- <li>インクリメンタルGC に代表される時間のかかる処理を細かく分割し、イベントループ中で処理を行うように変更すること</li>
-</ul>
-
-<p>すぐにできる改良の多くは成されており、残った問題は修正が難しい物ばかりでした。例えば JavaScript の実行やメインスレッドで行われるレイアウト処理などです。これらはイベントループをブロックするのですが、別のプロセスへ分離するには難しい処理でもあります。これらの処理は DOM のようなデータにアクセスする必要がありますが、これらのデータはスレッドセーフではないからです。他の選択肢として、イベントループを JavaScript の処理の中に入れる事も検討しましたが、Firefox  の他の部分(アドオンではありません)によって難しい事がわかりました。</p>
-
-<p>Web コンテンツを別のプロセスに分離する事は、良い代替策でした。スレッドを利用するアプローチと同様、Firefox は JavaScript やレイアウト処理がコンテントプロセスで行われている間に イベントループを実行できる上に、DOM やコンテンツデータにアクセスしない UI のコードをスレッドセーフにしなくても済みます。その反面、Firefox の UI プロセスは明示的にメッセージパッシングを行わないとコンテンツデータにアクセスできなくなります。</p>
-
-<p>このトレードオフはいくつかの理由から許容できると考えています:</p>
-
-<ul>
- <li>すべての Firefox のコードがよくコンテンツ DOM にアクセスするわけではない</li>
- <li>Firefox OS と共有されているコードはすでにメッセージパッシングを利用するものになっていること</li>
- <li>マルチプロセスモデルでのメッセージパッシングを利用したコンテントアクセスはその失敗が明白であるのに対し、適切なロックなしに行われたコンテンツアクセスに起因するスレッドのバグは発見が難しくデバッグも困難であるため</li>
-</ul>
-
-<h2 id="セキュリティ">セキュリティ</h2>
-
-<p>Firefox に攻撃可能なバグがあった場合、それを利用してユーザのコンピュータを乗っ取ることが可能です。この問題の解決策として最も強力なものは、<a href="http://en.wikipedia.org/wiki/Sandbox_%28computer_security%29">サンドボックス化</a>です。 技術的にはサンドボックス化にマルチプロセス化は必要ありません。しかしシングルプロセスの Firefox 上でサンドボックス化を行っても、あまり有用ではありません。サンドボックスはあくまでプロセスが、通常のプロセスがしないような振る舞いをするのを阻止するための機能です。アドオンがインストールされている場合が典型的ですが、Firefox の通常プロセスはネットワーク通信やファイルへのアクセスを行います。そのため、シングルプロセスの Firefox では制限をうまく掛けることが難しくなっています。</p>
-
-<p>マルチプロセス化したFirefoxでのコンテンツプロセスは、サンドボックス化されます。通常、コンテンツプロセスはファイルシステムに直接アクセスすることはありません。そのような場合はメインプロセスに対してファイルアクセスリクエストを送ります。メインプロセスは、そのリクエストが妥当なものかを検証できるため、コンテンツプロセスに対するサンドボックスの制限は極めて厳しいものなります。その結果として、Firefox にセキュリティホールを作ることが難しくなると期待されます。</p>
-
-<h2 id="安定性">安定性</h2>
-
-<p>Web ページ中で実行されるプログラムがクラッシュした場合、ブラウザ全体が停止してしまします。マルチプロセス化することによって、停止するのはクラッシュしたプログラムの動作するコンテントプロセスのみとなります。</p>
-
-<div class="note">
-<p>このページの内容の多くは、Bill McCloskey のブログポストの内容を含んでいます。詳しくはこちらをご覧ください: <a href="http://billmccloskey.wordpress.com/2013/12/05/multiprocess-firefox/">http://billmccloskey.wordpress.com/2013/12/05/multiprocess-firefox/</a></p>
-</div>
-
-<p> </p>
diff --git a/files/ja/mozilla/firefox/performance_best_practices_for_firefox_fe_engineers/index.html b/files/ja/mozilla/firefox/performance_best_practices_for_firefox_fe_engineers/index.html
deleted file mode 100644
index 7ccf3a2ec4..0000000000
--- a/files/ja/mozilla/firefox/performance_best_practices_for_firefox_fe_engineers/index.html
+++ /dev/null
@@ -1,207 +0,0 @@
----
-title: Firefox フロントエンドエンジニアのためのパフォーマンスベストプラクティス
-slug: Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers
-translation_of: Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers
----
-<h2 id="可能であればメインスレッドを避けること">可能であればメインスレッドを避けること</h2>
-
-<p>メインスレッドはユーザーイベントを処理し、描画を行います。また、多くの JavaScript はメインスレッドで動きます。</p>
-
-<p>メインスレッドを避けるほどに、ユーザーイベントや描画、応答が素早くできます。</p>
-
-<p>メインスレッドから何か計算する必要がある場合、 <a href="/ja/docs/Web/API/Web_Workers_API/Using_web_workers">Worker</a> を使うことをおすすめします。また、より高い権限が必要な場合は <a href="/en-US/docs/Web/API/ChromeWorker">ChromeWorker</a> (Firefoxのみ)を使うことを検討してください。</p>
-
-<h2 id="requestIdleCallback">requestIdleCallback</h2>
-
-<p>どうしてもメインスレッドで何らかの長い処理をしないといけない場合、おそらく存在するであろうユーザーが何もしない空き時間に、小さなパーツに分割して実行することを検討してください。</p>
-
-<p>RequestIdleCallback ではこちらが役に立つでしょう。 <a href="https://hacks.mozilla.org/2016/11/cooperative-scheduling-with-requestidlecallback/">こちらの Hacks ブログをチェックしてください。</a></p>
-
-<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1353206">そして、いつか、DOM コンテキスト以外でも可能となるでしょう!</a></p>
-
-<h2 id="Hide_your_panels">Hide your panels</h2>
-
-<p>If you’re adding a new &lt;popup&gt; or &lt;panel&gt; to a XUL document, set the hidden=”true” attribute on it by default. That way, the binding is applied on demand, and we can save time when constructing the XUL document.</p>
-
-<h2 id="Get_familiar_with_the_pipeline_that_gets_pixels_to_the_screen">Get familiar with the pipeline that gets pixels to the screen</h2>
-
-<p><img alt="This is the pipeline that a browser uses to get pixels to the screen." src="https://mdn.mozillademos.org/files/14995/pasted%20image%200.png" style="height: 167px; width: 1093px;"></p>
-
-<div class="note">
-<p>The above image is used under <a href="https://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0</a>, courtesy of <a href="https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing">this page</a> from our friends at Google, which itself is well worth the read.</p>
-</div>
-
-<p>For 60fps, the above needs to occur in 16ms or less.</p>
-
-<p>Note that <a href="https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame">the requestAnimationFrame API</a> allows you to queue up JavaScript to run very soon after a trip through this pipeline has been completed. This is useful because the last trip through the pipeline likely cached layout and style information which (assuming the DOM hasn't been dirtied somehow) should still be valid and cheap to access (see the sections below on synchronous style and layout flushes).</p>
-
-<h2 id="Detecting_and_Avoiding_Synchronous_Style_Flushes">Detecting and Avoiding Synchronous Style Flushes</h2>
-
-<h3 id="What_are_Style_Flushes">What are Style Flushes?</h3>
-
-<p>When CSS is applied to a document (HTML or XUL, it doesn’t matter), we do a calculation to determine what CSS styles will apply to each element.</p>
-
-<p>This will happen during the first time the page loads and CSS is first applied, but can happen again if JavaScript modifies the DOM - for example, by changing DOM node attributes (either directly or via APIs like <code>classList.add</code> / <code>classList.remove</code> / <code>classList.toggle</code>), or adding / removing / moving DOM nodes. Note that because styles are normally scoped to the entire document, the cost of doing these style calculations is proportional to the number of DOM nodes in the document (and the number of styles being applied).</p>
-
-<p>It is expected that over time, script will update the DOM, requiring us to recalculate styles. Normally, however, the changes to the DOM just result in the standard style calculation that occurs immediately after the JavaScript has finished running during the 16ms window.</p>
-
-<p>It is possible for JavaScript to force multiple, synchronous style calculations (or “style flushes”) to occur during the 16ms window, which greatly increases the probability of going over the 16ms limit, causing us to skip painting one or more frames. Skipping frames is called <strong>jank</strong>.</p>
-
-<p>Generally speaking, you force a synchronous style flush any time you query for style information after the DOM has changed. Depending on whether or not <a href="https://gist.github.com/paulirish/5d52fb081b3570c81e3a">the style information you’re asking for has something to do with size or position</a>, you may also cause a layout re-calculation (also referred to as “layout flush” or “reflow”), which is also an expensive step (see the section on Detecting and Avoiding Synchronous Reflow below).</p>
-
-<p>To avoid this: avoid reading style information if you can. If you must read style information, do so at the very beginning of the frame before any changes to the DOM have occurred since the last style flush (perhaps by using <a href="https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame">requestAnimationFrame</a> to set a callback at the start of a frame). At the start of a frame, style values are cached from the last calculation and more cheaply accessed when the document hasn’t yet undergone any change.</p>
-
-<h3 id="Writing_tests_to_ensure_you_don’t_add_more_synchronous_style_flushes">Writing tests to ensure you don’t add more synchronous style flushes</h3>
-
-<p>Unlike reflow, there isn’t a “observer” mechanism for style recalculations. There is, however, <a href="http://searchfox.org/mozilla-central/rev/78cefe75fb43195e7f5aee1d8042b8d8fc79fc70/dom/interfaces/base/nsIDOMWindowUtils.idl#1865-1874">an attribute on nsIDOMWindowUtils</a> that records a count of how many style calculations have occurred for a particular DOM window.</p>
-
-<p>It should be possible to write a test that gets the <code>nsIDOMWindowUtils</code> for a browser window, records the count of styleFlushes, then <strong>synchronously calls the function</strong> that you want to test, and immediately after checks the styleFlushes attribute again. If the value went up, your code caused synchronous style flushes to occur.</p>
-
-<p>Note that your test and function must be called synchronously in order for this test to be accurate. If you ever go back to the event loop (by yielding, waiting for an event, etc), style flushes unrelated to your code are likely to run, and your test will give you a false positive.</p>
-
-<h2 id="Detecting_and_Avoiding_Synchronous_Reflow">Detecting and Avoiding Synchronous Reflow</h2>
-
-<div class="note">
-<p>This is also sometimes called “sync Layout” or “sync Layout calculations”</p>
-</div>
-
-<p>“Sync Reflow” is a term bandied about a lot, and has negative connotations. It's not unusual for an engineer to have only the vaguest sense of what it is - and to only know to avoid it.</p>
-
-<p>This section will attempt to demystify things.</p>
-
-<p>The first time a document (XUL or HTML) loads, we parse the markup, and then apply styles. Once the styles have been calculated, we then need to calculate where things are going to be placed on the page. This layout step can be seen in the “16ms” pipeline graphic above, and occurs just before we paint things to be composited for the user to see.</p>
-
-<p>It is expected that over time, script will update the DOM, requiring us to recalculate styles, and then update layout. Normally, however, the changes to the DOM just result in the standard style calculation that occurs immediately after the JavaScript has finished running during the 16ms window.</p>
-
-<p>Also note that since <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=67752">the early days</a>, Gecko has had the notion of interruptible reflow. This means that size and position calculations can be broken up over several of those 16ms windows. Gecko will decide when an interruptible reflow has taken too long, and then bail out to paint. It will continue the reflow in the next 16ms window. <strong>Interruptible reflow is fine.</strong> Interruptible reflow only happens during initial document load.</p>
-
-<p>Uninterruptible reflow is what we want to <strong>avoid at all costs</strong>. Uninterruptible reflow occurs when some DOM node’s styles have changed such that the size or position of one or more nodes in the document will need to be updated, and then <strong>JavaScript asks for the size or position of anything</strong>. <a href="https://gist.github.com/paulirish/5d52fb081b3570c81e3a">Here’s a comprehensive list of things that JavaScript can ask for that can cause uninterruptible reflow</a>.</p>
-
-<p>Here’s a simple example, cribbed from <a href="http://paulrouget.com/e/fxoshud">this blog post by Paul Rouget</a>:</p>
-
-<p><code>div1.style.margin = "200px";        // Line 1<br>
- var height1 = div1.clientHeight;    // Line 2<br>
- div2.classList.add("foobar");       // Line 3<br>
- var height2 = div2.clientHeight;    // Line 4<br>
- doSomething(height1, height2);      // Line 5</code></p>
-
-<p>At line 1, we’re setting some style information on a DOM node that’s going to result in a reflow - but (at just line 1) it’s okay, because that reflow will happen after the style calculation.</p>
-
-<p>Note line 2 though - we’re asking for the height of some DOM node. This means that Gecko needs to synchronously calculate layout using an uninterruptible reflow in order to answer the question that JavaScript is asking (“What is the clientHeight of div1?”).</p>
-
-<p>It’s possible for our example to avoid this synchronous, uninterruptible reflow by moving lines 2 and 4 above line 1. Assuming there weren’t any style changes requiring size or position recalculation above line 1, the clientHeight information should be cached since the last reflow, and will not result in a new layout calculation.</p>
-
-<p>If you can avoid querying for the size or position of things in JavaScript, that’s the safest option - especially because it’s always possible that something earlier in this tick of JS execution caused a style change in the DOM without you knowing it.</p>
-
-<p>You could also potentially move your query into a requestAnimationFrame callback. This will run your code after the last frame is painted, and all of the layout data should be cached. Assuming no DOM properties affecting size or position have been changed in the meantime, accessing those cached values should be free.</p>
-
-<h3 id="nsIDOMWindowUtils.getBoundsWithoutFlushing">nsIDOMWindowUtils.getBoundsWithoutFlushing</h3>
-
-<p><code>getBoundsWithoutFlushing</code> does exactly what it says - it allows you to get the rect for some DOM node in a window without flushing layout. This means that the information you get is potentially stale, but allows you to avoid a sync reflow.</p>
-
-<h3 id="nsIDOMWindowUtils.getRootBounds">nsIDOMWindowUtils.getRootBounds</h3>
-
-<p>Similar to above - but allows you to get dimensions of the containing window without causing a sync reflow.</p>
-
-<h3 id="nsIDOMWindowUtils.getScrollXY">nsIDOMWindowUtils.getScrollXY</h3>
-
-<p>Similar to above - but allows you to get the window scroll offsets without causing a sync reflow.</p>
-
-<h3 id="Writing_tests_to_ensure_you_don’t_add_more_unintentional_reflow">Writing tests to ensure you don’t add more unintentional reflow</h3>
-
-<p>We have something called <a href="http://searchfox.org/mozilla-central/rev/78cefe75fb43195e7f5aee1d8042b8d8fc79fc70/docshell/base/nsIReflowObserver.idl">nsIReflowObserver</a>, which allows us to detect both interruptible and uninterruptible reflows. A number of tests have been written that exercise various functions of the browser (<a href="http://searchfox.org/mozilla-central/rev/78cefe75fb43195e7f5aee1d8042b8d8fc79fc70/browser/base/content/test/general/browser_tabopen_reflows.js">opening tabs</a>, <a href="http://searchfox.org/mozilla-central/source/browser/base/content/test/general/browser_windowopen_reflows.js">opening windows</a>) and ensures that we don’t add new uninterruptible reflows accidentally while those actions occur.</p>
-
-<p>You should add tests like this for your feature if you happen to be touching the DOM.</p>
-
-<h3 id="Detecting_Over-painting_with_Paint_Flashing">Detecting Over-painting with Paint Flashing</h3>
-
-<p>Painting is, in general, cheaper than both style calculation and layout calculation - but the more you can avoid, the better.</p>
-
-<p>Generally speaking, the larger an area that needs to be repainted, the longer it takes. Similarly, the more things that need to be repainted, the longer it takes.</p>
-
-<p>Our graphics team has added a handy feature to help you detect when and where paints are occurring. This feature is called “paint flashing”, and it can be activated for both web content and the browser chrome. Paint flashing tints each region being painted with a randomly selected colour so that it’s more easy to see what on the screen is being painted.</p>
-
-<p>You can activate paint flashing for browser chrome by setting <code>nglayout.debug.paint_flashing_chrome</code> to true.</p>
-
-<p>You can activate paint flashing for web content by setting <code>nglayout.debug.paint_flashing</code> to true.</p>
-
-<p>Now exercise your function and see what’s painting. See a lot of flashing / colours? That means a lot of painting is going on.</p>
-
-<p>Painting occurs on the main thread. The more things we can take off of the main thread, the better. If you’re overpainting, it’s a good idea to figure out why.</p>
-
-<p>Perhaps you’re animating something that requires a repaint? For example, transitioning the background-color of a DOM node from red to blue will result in a repaint for every frame of the animation, and paint flashing will reveal that. Consider using a different animation that can be accelerated by the GPU - these occur off of the main thread, and have a much higher probability of running at 60fps (see the section below labeled “Rely on the Compositor for Animations” for further details).</p>
-
-<p>Perhaps you’re touching some DOM nodes in such a way that unexpected repaints are occurring in an area that don’t need it. Best to investigate and try to remove those as best you can. Sometimes, our graphics layer invalidates regions in ways that might not be clear to you, and a section outside of the thing that just repainted will also repaint. Sometimes this can be addressed by ensuring that the thing changing is on its own layer (though this comes at a memory cost). You can put something on its own layer by setting its z-index, or by setting the <a href="https://developer.mozilla.org/en/docs/Web/CSS/will-change">will-change style</a> on the node, though this should be used sparingly.</p>
-
-<p>If you’re unsure why something is repainting, consider talking to our always helpful Graphics team in the #gfx IRC channel, and they can probably advise you. Note that a significant number of the Graphics team members are in the Eastern Time zone, so let that information guide your timing when you ask questions in #gfx.</p>
-
-<h2 id="Adding_Nodes_with_documentFragment">Adding Nodes with documentFragment</h2>
-
-<p>There is periodically the need to add a series of DOM nodes as children to another DOM node. For example, for things like our XUL menupopup’s, one often has JavaScript dynamically inserting menuitem’s.</p>
-
-<p>Inserting items into the DOM comes with a cost. If you’re adding a number of children to a DOM node in a loop, it’s often cheaper to batch those adds into a single insertion.</p>
-
-<p>Thanks to <a href="https://developer.mozilla.org/en/docs/Web/API/Document/createDocumentFragment">the createDocumentFragment API</a>, this is very straight-forward.</p>
-
-<p>This example has been cribbed from <a href="https://davidwalsh.name/documentfragment">davidwalsh’s blog post</a>:</p>
-
-<p><code>// Create the fragment<br>
- var frag = document.createDocumentFragment();<br>
- // Create numerous list items, add to fragment<br>
- for(var x = 0; x &lt; 10; x++) {<br>
-     var li = document.createElement("li");<br>
-     li.innerHTML = "List item " + x;<br>
-     frag.appendChild(li);<br>
- }</code></p>
-
-<p><code>// Mass-add the fragment nodes to the list<br>
- listNode.appendChild(frag);</code></p>
-
-<p>The above is strictly cheaper that individually adding each node to the DOM.</p>
-
-<h2 id="The_Gecko_Profiler_Add-on_is_your_friend">The Gecko Profiler Add-on is your friend</h2>
-
-<p>The Gecko Profiler is your best friend when diagnosing performance problems and looking for bottlenecks.</p>
-
-<p>There’s plenty of excellent documentation on MDN about the Gecko Profiler:</p>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/Performance/Reporting_a_Performance_Problem">Basic instructions for gathering and sharing a performance profile</a></li>
- <li><a href="en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler">Advanced profile analysis</a></li>
-</ul>
-
-<h2 id="Don’t_Guess._Measure.">Don’t Guess. Measure.</h2>
-
-<p>If you’re working on a performance improvement, this should go without saying: ensure that what you care about is actually improving by measuring before and after.</p>
-
-<p>Landing a speculative performance enhancement is the same thing as landing speculative bug fixes - these things need to be tested. Even if that means instrumenting a function with a <code>Date.now()</code> recording at the entrance, and a <code>Date.now()</code> at the exits in order to measure processing time changes.</p>
-
-<p>Prove to yourself that you’ve actually improved something by measuring before and after.</p>
-
-<h3 id="window.performance">window.performance</h3>
-
-<p>The <a href="/en-US/docs/Web/API/Performance_API">Performance API</a> is very useful for taking high-resolution measurements. This is usually much better than using your own hand-rolled timers to measure how long things take.</p>
-
-<p>Also, the Gecko Profiler back-end is in the process of being modified to expose things like markers (from window.performance.mark).</p>
-
-<h2 id="Rely_on_the_Compositor_for_animations._Main_thread_animation_should_be_treated_as_deprecated.">Rely on the Compositor for animations. Main thread animation should be treated as deprecated.</h2>
-
-<p><a href="https://hacks.mozilla.org/2016/08/animating-like-you-just-dont-care-with-element-animate/">Here’s an excellent article about doing that.</a></p>
-
-<h2 id="Use_IndexedDB_for_Storage">Use IndexedDB for Storage</h2>
-
-<p><a href="en-US/docs/Web/HTML/Using_the_application_cache">AppCache</a> and <a href="/en-US/docs/Web/API/Storage/LocalStorage">LocalStorage</a> are synchronous storage APIs that will block the main thread when you use them. Avoid them at all costs!</p>
-
-<p><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">IndexedDB</a> is preferable, as the API is asynchronous (all disk operations occur off of the main thread), and can be accessed from Web Workers.</p>
-
-<p>IndexedDB is also arguably better than storing and retrieving JSON from a file - particularly if the JSON encoding or decoding is occurring on the main thread. IndexedDB will do JS object serialization and deserialization for you using the Structured Clone algorithm, meaning that you can stash <a href="/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#Supported_types">things like Maps, Sets, Dates, Blobs, and more</a>, without having to do conversions for JSON compatibility.</p>
-
-<p>A Promise-based wrapper for IndexedDB, <a href="http://searchfox.org/mozilla-central/source/toolkit/modules/IndexedDB.jsm">IndexedDB.jsm</a>, is available for chrome code.</p>
-
-<h2 id="Test_on_weak_hardware">Test on weak hardware</h2>
-
-<p>For the folks paid to work on Firefox, we tend to have pretty powerful hardware for development. This is great, because it reduces build times, and means we can do our work faster.</p>
-
-<p>We should remind ourselves that the majority of our user base is unlikely to have similar hardware. Look at the <a href="https://metrics.mozilla.com/firefox-hardware-survey/">Firefox Hardware Report</a> to get a sense of what our users are working with. Test on slower machines to make it more obvious to yourself if what you’ve written impacts the performance of the browser.</p>
-
-<p> </p>
diff --git a/files/ja/mozilla/firefox/privacy/index.html b/files/ja/mozilla/firefox/privacy/index.html
deleted file mode 100644
index 4abcf426c4..0000000000
--- a/files/ja/mozilla/firefox/privacy/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Privacy
-slug: Mozilla/Firefox/Privacy
-tags:
- - Privacy
- - Security
-translation_of: Mozilla/Firefox/Privacy
----
-<div>{{FirefoxSidebar}}</div>
-
-<p class="summary">このドキュメントは、プライバシーに関連するドキュメントのリストを表示します。</p>
-
-<p>{{ ListSubpages () }}</p>
-
-<h2 id="関連情報">関連情報</h2>
-
-<ul>
- <li><a href="https://support.mozilla.org/ja/products/firefox/privacy-and-security">プライバシーとセキュリティの設定 </a></li>
- <li><a href="/ja/docs/Web/Security">ウェブセキュリティ</a></li>
-</ul>
diff --git a/files/ja/mozilla/firefox/privacy/storage_access_policy/index.html b/files/ja/mozilla/firefox/privacy/storage_access_policy/index.html
deleted file mode 100644
index b24c4748f5..0000000000
--- a/files/ja/mozilla/firefox/privacy/storage_access_policy/index.html
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title: 'ストレージアクセスポリシー: 追跡者からのクッキーのブロック'
-slug: Mozilla/Firefox/Privacy/Storage_access_policy
-tags:
- - Privacy
- - storage access policy
- - tracking protection
-translation_of: Mozilla/Firefox/Privacy/Storage_access_policy
----
-<div>{{FirefoxSidebar}}</div>
-
-<p class="summary"><span class="seoSummary">Firefox には、サードパーティの追跡リソース(tracking resources、トラッキングリソース)からのクッキーやその他のサイトデータをブロックする新しいストレージアクセスポリシーが含まれています。 このポリシーは、Firefox で長年にわたって利用されてきた<a href="/ja/docs/Mozilla/Cookies_Preferences">古いクッキーポリシー</a>の代替として設計されています。 このポリシーは、従来のクッキーブロックに関連するサイトの中断を最小限に抑えながら、クロスサイトトラッキング(cross-site tracking、サイトをまたがった追跡)から保護します。 この記事では、ポリシーの仕組みとテスト方法について説明します。</span></p>
-
-<h2 id="Testing_in_Firefox" name="Testing_in_Firefox">Firefox でのテスト</h2>
-
-<p>このクッキーポリシーは、バージョン 63 以降の Firefox で使用可能です。 この文書では、Firefox Release ユーザーに出荷する予定のポリシーについて説明しますが、Firefox の現在の Release バージョンで実装されているものと一致しない場合があります。 これは、プレリリースチャネルである <a href="https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly">Firefox Nightly</a> にポリシーが追加されるとすぐに、ポリシーの新しい側面を文書化するためです。 Firefox Nightly には、Release ユーザーへの出荷を予定していない実験的な機能も含まれている場合があります。 この文書には実験的な機能は含まれていませんが、追跡者(trackers、トラッカー)として分類されたドメインの機能に影響を与える可能性があります。</p>
-
-<p>これには最新バージョンの保護が含まれているため、<a href="https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly">Firefox Nightly</a> でサイトをテストすることをお勧めします。 前述のように、Nightly には、Release ユーザーに到達する前に削除または変更される追加の保護が含まれることがあります。 保護を強化するため、このページは常に最新情報で更新されます。</p>
-
-<p>Nightly では、これらの保護はデフォルトで有効になっています。 クッキーポリシーは、<a href="https://support.mozilla.org/ja/kb/content-blocking">コンテンツブロッキング設定</a>を介して Firefox の他のバージョンで有効にできます(これらの手順はバージョンによって異なります。 リンクされた文書には、適切な Firefox バージョンを選択するためのドロップダウンが含まれています)。</p>
-
-<h3 id="Report_Broken_Sites" name="Report_Broken_Sites">中断するサイトを報告</h3>
-
-<p>この変更の結果としてウェブサイトが中断する場合は、<a href="https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&amp;blocked=1480137&amp;bug_file_loc=http%3A%2F%2F&amp;bug_ignored=0&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_fx_iteration=---&amp;cf_fx_points=---&amp;cf_platform_rel=---&amp;cf_status_firefox62=---&amp;cf_status_firefox63=---&amp;cf_status_firefox64=---&amp;cf_status_firefox_esr60=---&amp;cf_status_geckoview62=---&amp;cf_tracking_firefox62=---&amp;cf_tracking_firefox63=---&amp;cf_tracking_firefox64=---&amp;cf_tracking_firefox_esr60=---&amp;cf_tracking_firefox_relnote=---&amp;cf_tracking_geckoview62=---&amp;component=Tracking%20Protection&amp;contenttypemethod=list&amp;contenttypeselection=text%2Fplain&amp;defined_groups=1&amp;flag_type-203=X&amp;flag_type-37=X&amp;flag_type-41=X&amp;flag_type-5=X&amp;flag_type-607=X&amp;flag_type-721=X&amp;flag_type-737=X&amp;flag_type-748=X&amp;flag_type-787=X&amp;flag_type-799=X&amp;flag_type-800=X&amp;flag_type-803=X&amp;flag_type-835=X&amp;flag_type-846=X&amp;flag_type-855=X&amp;flag_type-864=X&amp;flag_type-914=X&amp;flag_type-916=X&amp;flag_type-929=X&amp;flag_type-930=X&amp;flag_type-933=X&amp;form_name=enter_bug&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=Unspecified&amp;priority=--&amp;product=Firefox&amp;rep_platform=Unspecified&amp;target_milestone=---&amp;version=unspecified">Bugzilla</a> の Firefox 製品内の Tracking Protection コンポーネントでバグを報告してください。 または、<a href="https://support.mozilla.org/ja/kb/control-center-site-privacy-and-security-firefox">コントロールセンター</a>のコンテンツブロッキングセクションで「問題の報告」をクリックして、Firefox で中断するサイトを直接報告できます(このショートカットは、Firefox のすべてのバージョンで利用できるとは限りません)。</p>
-
-<h2 id="Tracking_protection_explained" name="Tracking_protection_explained">トラッキング防止の説明</h2>
-
-<p>Firefox はどのリソースが追跡リソースかをどのように判断していますか?</p>
-
-<p>Firefox はトラッキング防止リストを使用して、どのリソースが追跡リソースかを判断します。 トラッキング防止リストは、<a href="https://github.com/disconnectme/disconnect-tracking-protection/issues">Disconnect によって維持</a>されます。 リストが Firefox に適用されると、次の2つの重要な変更が行われます。</p>
-
-<ul>
- <li>最初に、リストの「基本的な保護」バージョンのみを使用します。 これは、<a href="https://github.com/mozilla-services/shavar-prod-lists#blacklist">追跡者の一部のカテゴリを除外します</a>。 将来的には、リストの「厳格な保護」バージョンを使用するように保護を拡張する可能性があります。</li>
- <li>2番目に、Firefox は追加の「<a href="https://github.com/mozilla-services/shavar-prod-lists/blob/master/disconnect-entitylist.json">エンティティリスト</a>」を使用します。 これにより、<a href="https://github.com/mozilla-services/shavar-prod-lists#entity-list">ドメインが同じ組織が所有する最上位サイトに読み込まれたときにそのドメインが追跡者として分類</a>されなくなります。</li>
-</ul>
-
-<p>Firefox は、組み込みの<a href="https://support.mozilla.org/ja/kb/tracking-protection">トラッキング防止</a> URL 分類子を使用して、トラッキング防止リストに一致するリソースを判別します。 ドメインは、<a href="https://developers.google.com/safe-browsing/v4/urls-hashing#suffixprefix-expressions">SafeBrowsing v4 仕様</a>に従ってリストと照合されます。 具体的には、リストに対してリソースの正確なホスト名を確認し、最後の5つのコンポーネントから開始して先頭のコンポーネントを次々に取り除くことによって形成された最後の4つのホスト名も同様に確認します。 次の例を検討してください。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">リスト上のホスト名</th>
- <th scope="col">リソースのホスト名</th>
- <th scope="col">一致</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>example.com</code></td>
- <td><code>example.com</code></td>
- <td>はい</td>
- </tr>
- <tr>
- <td><code>example.com</code></td>
- <td><code>a.b.example.com</code></td>
- <td>はい</td>
- </tr>
- <tr>
- <td><code>blah.example.com</code></td>
- <td><code>example.com</code></td>
- <td>いいえ</td>
- </tr>
- <tr>
- <td><code>a.b.example.com</code></td>
- <td><code>c.d.example.com</code></td>
- <td>いいえ</td>
- </tr>
- <tr>
- <td><code>blah.example.com</code></td>
- <td><code>foo.blah.example.com</code></td>
- <td>はい</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="What_does_the_storage_access_policy_block" name="What_does_the_storage_access_policy_block">ストレージアクセスポリシーは何をブロックしますか?</h2>
-
-<p>ストレージアクセスポリシーは、追跡者として識別されたリソースがサードパーティのコンテキストに読み込まれたときに、それらのクッキーや他のサイトストレージにアクセスすることをブロックします。 これにより、それらのリソースがクッキーまたはサイトストレージに保存されている追跡識別子を取得し、それらを使用して複数のファーストパーティにわたって訪問したユーザーを識別することができなくなります。 具体的には、Firefox は次の制限を課してこれを行います。</p>
-
-<p>クッキー:</p>
-
-<ul>
- <li>{{httpheader("Cookie")}} リクエストヘッダーをブロックし、{{httpheader("Set-Cookie")}} レスポンスヘッダーを無視します。</li>
- <li>{{domxref("Document.cookie")}} の呼び出しに対して空の文字列を返し、<code>Document.cookie</code> を介してクッキーを設定する要求を無視します。</li>
-</ul>
-
-<p>DOM ストレージ:</p>
-
-<ul>
- <li><a href="/ja/docs/Web/API/Web_Storage_API">localStorage</a>: <code><a href="/ja/docs/Web/API/Window/localStorage">Window.localStorage</a></code>: 読み取りおよび書き込みの試みは <code>SecurityError</code> 例外をスローします。 Firefox 70より前: <code><a href="/ja/docs/Web/API/Window/localStorage">Window.localStorage</a></code> は <code>null</code> です。 したがって、このオブジェクトを使用して読み書きしようとすると、<code>TypeError</code> 例外がスローされます。</li>
- <li><a href="/ja/docs/Web/API/Web_Storage_API">sessionStorage</a>: 読み取りおよび書き込みの試みが許されます。</li>
- <li><a href="/ja/docs/Web/API/IndexedDB_API">IndexedDB</a>: IndexedDB Factory オブジェクトへのアクセスの試みは <code>SecurityError</code> 例外をスローします。</li>
-</ul>
-
-<p>メッセージングとワーカー:</p>
-
-<ul>
- <li><a href="/ja/docs/Web/API/Broadcast_Channel_API">Broadcast Channel</a>: 新しい {{domxref("BroadcastChannel")}} 作成の試みは <code>SecurityError</code> 例外をスローします。</li>
- <li><a href="/ja/docs/Web/API/Web_Workers_API">Shared Worker</a>: 新しい {{domxref("SharedWorker")}} 作成の試みは <code>SecurityError</code> 例外をスローします。</li>
- <li><a href="/ja/docs/Web/API/Service_Worker_API">Service Worker</a>: 新しい {{domxref("ServiceWorker")}} 作成の試みは <code>SecurityError</code> 例外をスローします。</li>
-</ul>
-
-<p>DOM キャッシュ:</p>
-
-<ul>
- <li>{{domxref("CacheStorage")}} の呼び出しは、常に <code>SecurityError</code> で拒否されます。</li>
-</ul>
-
-<p>ブラウザーキャッシュ:</p>
-
-<ul>
- <li><a href="/ja/docs/Web/HTTP/Caching">HTTP キャッシュ</a>、画像キャッシュ、および<a href="/ja/docs/Web/HTTP/Headers/Alt-Svc">代替サービス(Alt-Svc)キャッシュ</a>は、追跡リソースに対してすべてパーティション化されているため、各最上位オリジンには個別のパーティションがあり、異なる最上位オリジンの追跡リソースは互いに別々にキャッシュされます。</li>
-</ul>
-
-<p>ネットワーク接続:</p>
-
-<ul>
- <li>追跡者として分類されている埋め込みのサードパーティリソースへの HTTPS 接続が行われた場合、セッションチケットを使用して <a href="https://wiki.mozilla.org/Security/Server_Side_TLS#Session_Resumption">TLS セッション</a>は再開されません。</li>
- <li>追跡者として分類されたドメインによる <a href="/ja/docs/Web/HTTP/Connection_management_in_HTTP_1.x#Persistent_connections">HTTP 接続の再利用</a>は、同じ最上位オリジンで発生する要求に制限されます。 例えば、news.example の tracker.example からのコンテンツの要求は、shopping.example の tracker.example からのコンテンツの要求や、tracker.example に直接訪問したときに(つまり、 ファーストパーティとして)発生する要求との HTTP 接続を再利用しません。</li>
-</ul>
-
-<p>HTTP リファラー:</p>
-
-<ul>
- <li>追跡者として分類されたサードパーティリソースのデフォルトの <a href="/ja/docs/Web/HTTP/Headers/Referrer-Policy">Referrer Policy</a> は、<code>strict-origin-when-cross-origin</code> に設定されています。</li>
-</ul>
-
-<h3 id="What_is_not_blocked_by_the_policy" name="What_is_not_blocked_by_the_policy">ポリシーによってブロックされないものは何ですか?</h3>
-
-<ol>
- <li>現在、このポリシーは、追跡リソースとして分類されていないリソースに対するサードパーティのストレージアクセスを制限していません。 今後、サードパーティのストレージアクセスに追加の制限を適用する場合があります。</li>
- <li>ポリシーによって適用される制限は、追跡リソースとして分類されたサードパーティのスクリプトがページのメインコンテキストのストレージにアクセスすることを妨げません。 これらのスクリプトは、最上位オリジンを対象としたストレージを引き続き使用できます。</li>
- <li>追跡者として分類されたオリジンは、ファーストパーティのコンテキストで読み込まれると、自分のストレージにアクセスできます。</li>
- <li>最上位コンテキストと同じ eTLD+1 から読み込まれたクロスオリジンリソースは、引き続きストレージにアクセスできます。</li>
- <li>追跡者として通常分類されるオリジンは、<a href="https://github.com/mozilla-services/shavar-prod-lists#entity-list">最上位ページのオリジンがそれらと同じ組織からのものであると判断された場合、ブロックされません</a>。</li>
-</ol>
-
-<h2 id="Storage_access_grants" name="Storage_access_grants">ストレージアクセス許可</h2>
-
-<p>ウェブ互換性を改善し、ストレージアクセスを必要とするサードパーティのインテグレーションを許すために、Firefox はこのセクションで説明するように、特定のサードパーティオリジンに対して、ファーストパーティを対象としたストレージアクセスを許可します。 現在、Firefox には、ユーザーが追跡者として分類されるサードパーティとやり取りするときに、これらのサードパーティリソースにストレージアクセスを許可するいくつかのウェブ互換性経験則が含まれています。 これは、アクセスを許可しないとウェブページが中断することが予想される場合に行います。 また、埋め込みの {{htmlelement("iframe")}} が {{domxref("Document.requestStorageAccess()")}} を呼び出してストレージアクセスを要求できる <a href="/ja/docs/Web/API/Storage_Access_API">Storage Access API</a> の初期実装もサポートしています。 これらのアプローチは両方とも同じレベルのストレージアクセスを提供しますが、ストレージへのアクセスを保証するために、サードパーティが Storage Access API の使用に切り替えることをお勧めします。</p>
-
-<h3 id="Automatic_storage_access_upon_interaction" name="Automatic_storage_access_upon_interaction">対話時の自動ストレージアクセス</h3>
-
-<p>ウェブ互換性を改善するために、Firefox には現在、ユーザーとのやり取りを受け取るサードパーティにストレージアクセスを自動的に許可するためのいくつかの経験則が含まれています。 これらの経験則は、ウェブで一般的な一部のサードパーティのインテグレーションを機能させ続けることを目的としています。 これらは一時的なものであり、Firefox の将来のバージョンでは取り除かれる予定です。 現在および将来のウェブ開発において依存するべきではありません。</p>
-
-<p>ユーザージェスチャーが元の文書への<a href="/ja/docs/Web/API/Window/opener">オープナーアクセス</a>を持つポップアップウィンドウをトリガーすると、追跡リソースとして分類されたリソースにサードパーティのストレージアクセスが許可される場合があります。 その場合、サードパーティのオリジンにアクセスを許可する方法には次の3つがあります。</p>
-
-<ul>
- <li>ポップアップウィンドウに最初に読み込まれるリソースのオリジンには、オープナー文書へのストレージアクセスが許可されます。 オリジンが追跡アクセスを取得するためにこの経験則を悪用していることが判明した場合、そのオリジンには、過去30日以内にファーストパーティとしてユーザーとのやり取りを受け取る必要があるという追加の要件があります。</li>
- <li>最初のリソースがポップアップウィンドウに読み込まれた後、ウィンドウは他のホストへの一連のリダイレクトを通過する場合があります。 ユーザーがリダイレクト後にポップアップウィンドウとやり取りすると、ポップアップウィンドウに読み込まれたコンテンツのオリジンにはオープナー文書のストレージアクセスが与えられます。</li>
- <li>追跡オリジンから非追跡オリジンへの最上位のリダイレクトがある場合、追跡オリジンは、非追跡オリジンとリダイレクトチェーンのさらに下に表れる他の非追跡オリジンで短期間のストレージアクセスを受け取ります(つまり、読み込みがリダイレクトし続ける場合)。 追跡オリジンは、過去30日以内にファーストパーティとしてユーザーとのやり取りを受け取っている必要があり、ストレージアクセス許可は15分後に期限切れになります。</li>
-</ul>
-
-<h3 id="Scope_of_storage_access" name="Scope_of_storage_access">ストレージアクセスの範囲</h3>
-
-<p>ストレージアクセスが許可されると、それはオープナー文書のオリジンまたはそのオリジンのサブドメインを対象とします。 オリジンのサブドメインで許可されたアクセスは、最上位オリジンに拡張されません。 例えば、<code>tracker.example</code> のリソースに <code>foo.example.com</code> のストレージアクセスが許可されている場合、<code>tracker.example</code> は <code>example.com</code> ではなく <code>bar.foo.example.com</code> のクッキーにアクセスできます。 代わりに、<code>tracker.example</code> が <code>example.com</code> でアクセスを許可された場合、<code>bar.foo.example.com</code>、<code>foo.example.com</code>、および <code>example.com</code> のストレージにアクセスできます。</p>
-
-<p><code>example.com</code> の <code>tracker.example</code> にストレージアクセスが許可されると、<code>example.com</code> から読み込まれた任意の最上位文書において <code>tracker.example</code> から読み込まれたすべてのリソースには、すぐにストレージアクセスが与えられます。 これには、ページのメインコンテキストに読み込まれたすべてのリソース、埋め込み <code>&lt;iframe&gt;</code>、埋め込み <code>&lt;iframe&gt;</code> に読み込まれたリソースが含まれます。 ストレージアクセスは、<code>example.com</code> に読み込まれた他のリソース(<code>other-tracker.example</code> など)や、<code>tracker.example</code> が埋め込まれている他のファーストパーティ(<code>example.org</code> など)には拡張されません。</p>
-
-<p>ストレージアクセス許可は、ネストされたコンテキストの最初のレベルまで拡張されますが、それ以上は拡張されません。 これは、ページのメインコンテキストに埋め込まれ、追跡者として分類されたドメインから読み込まれた <code>&lt;iframe&gt;</code> が、JavaScript を介してアクセス可能なすべてのストレージの場所に完全にアクセスできることを意味します。 同様に、ページのメインコンテキストに埋め込まれた <code>&lt;iframe&gt;</code> に読み込まれたリソースの要求は、HTTP クッキーにアクセスできます。 ただし、追跡者として分類されたオリジンからのものを含むがこれに限定されない、さらにネストされたコンテキストは、ストレージアクセスを許可されません。</p>
-
-<p><code>tracker.example</code> にストレージアクセスを許可している <code>example.com</code> から読み込まれた最上位ページでの以下の埋め込みのシナリオを検討してください。</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">埋め込み</th>
- <th scope="col">tracker.example リソースのストレージアクセス</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>画像は <code>tracker.example</code> から読み込まれ、<code>example.com</code> のメインコンテキストに埋め込まれます。</td>
- <td>HTTP: はい<br>
- JS: 該当なし</td>
- </tr>
- <tr>
- <td><code>example.com</code> は、<code>example.org</code> から <code>&lt;iframe&gt;</code> を埋め込みます。 その <code>&lt;iframe&gt;</code> は、<code>tracker.example</code> から画像を読み込みます。</td>
- <td>HTTP: はい<br>
- JS: 該当なし</td>
- </tr>
- <tr>
- <td><code>example.com</code> は、<code>example.org</code> から <code>&lt;iframe&gt;</code> を埋め込みます。 その <code>&lt;iframe&gt;</code> は、<code>tracker.example</code> から <code>&lt;iframe&gt;</code> を埋め込みます。</td>
- <td>HTTP: はい<br>
- JS: いいえ</td>
- </tr>
- <tr>
- <td><code>example.com</code> は、<code>tracker.example</code> から <code>&lt;iframe&gt;</code> を埋め込みます。</td>
- <td>HTTP: はい<br>
- JS: はい</td>
- </tr>
- <tr>
- <td><code>example.com</code> は、<code>example.com</code>(同じオリジン)から <code>&lt;iframe&gt;</code> を埋め込みます。 ネストされた <code>&lt;iframe&gt;</code> は、<code>tracker.example</code> から <code>&lt;iframe&gt;</code> を埋め込みます。</td>
- <td>HTTP: はい<br>
- JS: いいえ</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Storage_access_expiration" name="Storage_access_expiration">ストレージアクセスの有効期限</h3>
-
-<p>ストレージアクセス許可は30日後に失効します。 追跡リソースとして分類されたドメインには、複数のファーストパーティでサードパーティのストレージアクセスが許可される場合があり、各パーティのストレージ許可は独立して期限切れになります。 上記の経験則は、すでにアクセスが許可されているオリジンに対するサードパーティのストレージ許可の有効期間を延長するのにも役立ちます。 経験則がアクティブになるたびに、または Storage Access API の成功呼び出しが行われるたびに、以前にアクセスが許可された時点から数えて、既存のストレージアクセスの有効期限が30日間延長されます。</p>
-
-<p>今後、ストレージアクセスの有効期間を変更する予定です。 前述したように、今後ストレージをサードパーティとして使用できることを知る方法は、Storage Access API を使用することです。</p>
-
-<h2 id="Debugging" name="Debugging">デバッグ</h2>
-
-<p>サイト所有者は、サイト、特にサードパーティのコンテンツインテグレーションに依存しているサイトをテストすることをお勧めします。 テストを簡単にするために、Firefox にいくつかの新機能を追加しました。</p>
-
-<h3 id="Developer_Tools_notifications" name="Developer_Tools_notifications">開発ツールの通知</h3>
-
-<p>Firefox 開発ツールの<a href="/ja/docs/Tools/Network_Monitor">ネットワークモニター</a>には、追跡リソースとして分類されたすべてのリソース要求のインジケーターが含まれるようになりました。 このインジケータは、ドメイン列に盾のアイコンとして表示されます。 次のサンプル画像では、<code>trackertest.org</code> は追跡リソースとして分類されていますが、example.com への要求は追跡リソースではありません。</p>
-
-<p><img alt="Firefox 開発ツールのネットワーク要求は、小さな盾のアイコンで追跡リソースがどれであるかを示します" src="https://mdn.mozillademos.org/files/16181/Screen_Shot_2018-09-21_at_10.34.22_AM.png" style="border-style: solid; border-width: 1px; display: block; height: 57px; margin: 0px auto; width: 600px;"></p>
-
-<h3 id="Adding_custom_domains_to_the_Tracking_Protection_list" name="Adding_custom_domains_to_the_Tracking_Protection_list">トラッキング防止リストへのカスタムドメインの追加</h3>
-
-<p>サイトのサードパーティドメインが追跡者として分類された場合、どのように機能するのか興味がありますか? トラッキング防止 URL 分類子にカスタムドメインを追加できる設定を追加しました。 そうするには次のようにします。</p>
-
-<ol>
- <li>アドレスバーに <code>about:config</code> と入力します。 「注意して進んでください!」と警告するページが表示された場合は、「危険性を承知の上で使用する!」をクリックします。</li>
- <li>設定名 "urlclassifier.trackingAnnotationTable.testEntries" を検索します。</li>
- <li>設定がすでに存在する場合は、設定値を編集します。</li>
- <li>設定が存在しない場合は、「文字列」をクリックしてから「+」をクリックして、新しい設定を作成します。</li>
- <li>設定値には、追跡者として分類するオリジンをコンマで区切って入力します。 例えば、"example.net,example.org"。</li>
-</ol>
-
-<div class="warning">
-<p><strong>警告</strong>: テストが終了したら、これらのエントリを必ず取り除いてください。</p>
-</div>
-
-<h2 id="FAQ" name="FAQ">FAQ</h2>
-
-<p>このクッキーポリシーはサイトの中断につながる可能性がありますが、一般的なサードパーティのインテグレーションがクロスサイトトラッキングを防止しながら機能し続けるように設計されています。 このセクションでは、さまざまなインテグレーションのシナリオで期待できる機能について説明します。</p>
-
-<h3 id="Will_this_storage_access_policy_block_ads_from_displaying_on_my_website" name="Will_this_storage_access_policy_block_ads_from_displaying_on_my_website">このストレージアクセスポリシーにより、ウェブサイトに広告が表示されなくなりますか?</h3>
-
-<p>いいえ — この機能は、ウェブサイトをわたってユーザーを追跡するために使用できるクッキーとサイトデータへのアクセスのみを制限します。 追跡識別子をブロックしても、広告の表示は妨げられません。</p>
-
-<h3 id="I_use_a_third-party_analytics_service_that_is_classified_as_a_tracker._Will_I_still_receive_analytics_data" name="I_use_a_third-party_analytics_service_that_is_classified_as_a_tracker._Will_I_still_receive_analytics_data">追跡者として分類されるサードパーティの分析サービスを使用しています。 分析データは引き続き受け取れますか?</h3>
-
-<p>これは、サードパーティの分析サービスの実装方法に依存します。 サードパーティの分析プロバイダーは、サードパーティのストレージを使用してデータを収集できなくなります。 これは、サードパーティドメイン、またはローカルストレージとそのオリジンの下に保存されている他のサイトデータを対象としたクッキーを使用するプロバイダーが、他のウェブサイトにわたる識別子にアクセスできなくなることを意味します。</p>
-
-<p>これらのサービスがページのメインコンテキストに埋め込まれている場合、ファーストパーティのクッキーとサイトストレージを引き続き使用して、その特定のファーストパーティのドメインにおいてページにわたった訪問を追跡できます。</p>
-
-<h3 id="I_use_third-party_services_for_social_login_like_and_share_button_integration._Will_my_users_still_be_able_to_make_use_of_these_services" name="I_use_third-party_services_for_social_login_like_and_share_button_integration._Will_my_users_still_be_able_to_make_use_of_these_services">ソーシャルログイン、いいねボタン、シェアボタンのインテグレーションのためにサードパーティのサービスを使用しています。 ユーザーは引き続きこれらのサービスを利用できますか?</h3>
-
-<p>これは、ソーシャルインテグレーションの実装方法によって異なります。 人気のあるソーシャルインテグレーションの多くは、Firefox の現在のクッキーポリシーに基づいて機能し続けますが、ユーザーエクスペリエンスに若干の違いがあります。</p>
-
-<p>追跡者として分類されたソーシャルコンテンツプロバイダーは、ユーザーが新しいファーストパーティに初めてアクセスしたときにサードパーティのクッキーにアクセスできません。 したがって、ユーザーはプロバイダーのウェブサイトに直接アクセスしたときにログインしているにも関わらず、サービスにログアウトしているように見える場合があります。 インテグレーションの種類によっては、ユーザーがソーシャルコンテンツプロバイダーとやり取りするために、プロバイダーにクッキーへのアクセスを許可する前に、何らかのアクションを実行する必要がある場合があります。 例えば次のようにです。</p>
-
-<ul>
- <li>ソーシャルログインの場合、ユーザーはファーストパーティのログインボタンをクリックする必要があります。</li>
- <li>ソーシャルのいいねボタンやシェアボタンの場合、ユーザーは最初にログアウト状態のボタンを操作する必要があります。 一度行うと、多くのソーシャルコンテンツプロバイダーはログインを促します。</li>
-</ul>
-
-<p>これらのやり取りの後、プロバイダーは、上記のストレージアクセスのアクティベーション経験則によって捕捉される方法でユーザーにプロンプ​​トした場合、サードパーティのストレージアクセスを受け取ります。 これらのプロバイダーは、できるだけ早く Storage Access API を介してストレージアクセスを明示的に要求するように切り替えることを検討する必要があります。 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1469714">この API の初期実装</a>は、現在 Nightly で利用可能です。</p>
-
-<h3 id="I_use_third-party_pixels_and_other_tools_to_measure_the_effectiveness_of_my_ad_campaigns._Will_I_still_be_able_to_measure_the_conversion_rate_of_my_ads" name="I_use_third-party_pixels_and_other_tools_to_measure_the_effectiveness_of_my_ad_campaigns._Will_I_still_be_able_to_measure_the_conversion_rate_of_my_ads">サードパーティのピクセルやその他のツールを使用して、広告キャンペーンの効果を測定しています。 広告のコンバージョン率を測定することはできますか?</h3>
-
-<p>これは、サードパーティが測定ツールをどのように実装したかに依存しますが、一般に広告コンバージョンの測定はより困難になります。 次の例を考慮してください。</p>
-
-<ol>
- <li>あなたは、ユーザーが何度も見たがクリックされなかったソーシャルメディアウェブサイトで広告を掲載している。 そのユーザーは、後で同じソーシャルメディアウェブサイトからのコンバージョン追跡タグを含んであなたのウェブサイトに訪問します。 このタイプのコンバージョンは、多くの場合「ビュースルーコンバージョン」と呼ばれます。 ソーシャルメディアウェブサイトはそれらのサードパーティのストレージにアクセスできないため、それらのウェブサイトで広告を見たユーザーと同じユーザーとしてユーザーを認識せず、コンバージョンは追跡されません。 ディスプレイネットワークで提供されるものを含め、ほとんどのビュースルーコンバージョン追跡技術は機能しなくなると予想されます。</li>
- <li>あなたは、ユーザーがクリックしたディスプレイネットワークまたはソーシャルメディアウェブサイトで広告を掲載している。 そのユーザーはあなたのウェブサイトに着陸します。 これには、あなたの広告を表示した同じウェブサイトのコンバージョン追跡タグが含まれています。 このタイプのコンバージョンは、しばしば「クリックスルーコンバージョン」と呼ばれます。 ソーシャルメディアサイトまたはディスプレイネットワークはそれらのサードパーティのストレージにアクセスできないため、それらのウェブサイトで広告を見たユーザーと同じユーザーとしてユーザーを認識せず、コンバージョンは追跡されません。 このバージョンのクリックスルーコンバージョンは機能しなくなると予想されます。</li>
- <li>あなたは、ソーシャルメディアウェブサイトに表示される広告を掲載している。 ユーザーがあなたの広告をクリックすると、サードパーティのネットワークからコンバージョン追跡タグを含むランディングページに移動します。 ソーシャルメディアのウェブサイトでは、ネットワークは広告のランディングページ URL に、訪問が広告をクリックした結果であることを示すクエリパラメーターで注釈を付けます。 あなたのウェブサイトでは、ディスプレイネットワークのタグが URL クエリパラメーターをチェックし、広告追跡パラメータをファーストパーティストレージに保存します。 ユーザーが後でコンバージョンイベントを完了した場合、ネットワークのタグはファーストパーティストレージをチェックして、訪問の原因となったクリックを特定します。 この方法で実装されたクリックスルーコンバージョンは引き続き機能すると予想されます。</li>
-</ol>
diff --git a/files/ja/mozilla/firefox/privacy/tracking_protection/index.html b/files/ja/mozilla/firefox/privacy/tracking_protection/index.html
deleted file mode 100644
index 471f4d0684..0000000000
--- a/files/ja/mozilla/firefox/privacy/tracking_protection/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: トラッキング防止
-slug: Mozilla/Firefox/Privacy/Tracking_Protection
-translation_of: Mozilla/Firefox/Privacy/Tracking_Protection
----
-<h2 id="トラッキング防止機能とは何か?">トラッキング防止機能とは何か?</h2>
-
-<p>バージョン 42 以降、デスクトップ版 Firefox および Android 版 Firefox には、組み込みの機能としてトラッキング防止が含まれます。プライベートウィンドウ(Android 版 Firefox ではプライベートタブ)では、サイトをまたいでユーザーを追跡するようなドメインからロードされるコンテンツは Firefox によってブロックされます。</p>
-
-<p>ブロックされたコンテンツがページレイアウトの一部である場合、どの部分が Firefox によってブロックされたレイアウト要素であるのかはユーザーにも分かるでしょう。ただし、ページグリッドが要素のブロックによってできた穴を塞ぐように配置されることで、ユーザーに全く気付かれないこともあります。</p>
-
-<p>Firefox によってコンテンツがブロックされると、ウェブコンソールに次のようなメッセージとして記録されます。</p>
-
-<pre>トラッキング防止機能が有効なため、 "http://some/url" のリソースがブロックされました。</pre>
-
-<p>Android 版 Firefox の場合、コンソールへの出力はリモートデバッガからアクセスできる点に注意してください。</p>
-
-<p>Firefox UI は、コンテンツがいつブロックされたのか、そして、選択すれば現在のセッションにおいてブロック解除を有効にできるということを示します。また、ユーザーはトラッキング防止機能を完全に無効にすることもできます。</p>
-
-<h2 id="Firefox_はどのようにブロックする対象を選ぶのか?">Firefox はどのようにブロックする対象を選ぶのか?</h2>
-
-<p>コンテンツはそれがロードされるドメインに基づいてブロックされます。</p>
-
-<p>Firefox は、サイトをまたぐユーザーの追跡を行うサイトをリストにします。トラッキング防止機能が有効な場合、Firefoxは、このリストにあるサイトからのコンテンツをブロックします。</p>
-
-<p>ユーザーの追跡を行うサイトとしては、広告サイトや分析サイトが一般的です。</p>
-
-<h2 id="このことがあなたのサイトにとって意味するものは?">このことがあなたのサイトにとって意味するものは?</h2>
-
-<p>トラッキング防止が有効であれば、次のことが言えます。</p>
-
-<ul>
- <li>追跡を行うサイトから提供されるコンテンツはユーザーに表示されない。</li>
- <li>追跡を行うような広告サービスまたは解析ツールをあなたのサイトで使うことができなくなる。</li>
-</ul>
-
-<p>もしあなたのサイトの別の部分が、ロードされる追跡を行うコンテンツに依存していた場合、トラッキング防止が有効になっているとこれらの部分も同様に正しく表示されなくなるかもしれません。例えば、追跡を行うサイトからコンテンツがロードされた時に実行されるようなコールバックがあなたのサイトに含まれたいた場合、このコールバックが実行されることはありません。</p>
-
-<p>例えば、Google Analytics はこのような使い方をすべきではありません:</p>
-
-<pre class="brush:html example-bad line-numbers language-html"><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>a</span> <span class="attr-name token">href</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://www.example.com<span class="punctuation token">"</span></span> <span class="attr-name token">onclick</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>trackLink(<span class="punctuation token">'</span>http://www.example.com<span class="punctuation token">'</span>, event);<span class="punctuation token">"</span></span><span class="punctuation token">&gt;</span></span>Visit example.com<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>a</span><span class="punctuation token">&gt;</span></span>
-<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>script</span><span class="punctuation token">&gt;</span></span><span class="language-javascript script token">
-<span class="keyword token">function</span> <span class="function token">trackLink</span><span class="punctuation token">(</span>url<span class="punctuation token">,</span>event<span class="punctuation token">)</span> <span class="punctuation token">{</span>
- event<span class="punctuation token">.</span><span class="function token">preventDefault</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
- <span class="function token">ga</span><span class="punctuation token">(</span><span class="string token">'send'</span><span class="punctuation token">,</span> <span class="string token">'event'</span><span class="punctuation token">,</span> <span class="string token">'outbound'</span><span class="punctuation token">,</span> <span class="string token">'click'</span><span class="punctuation token">,</span> url<span class="punctuation token">,</span> <span class="punctuation token">{</span>
- <span class="string token">'transport'</span><span class="punctuation token">:</span> <span class="string token">'beacon'</span><span class="punctuation token">,</span>
- <span class="string token">'hitCallback'</span><span class="punctuation token">:</span> <span class="keyword token">function</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span>
- document<span class="punctuation token">.</span>location <span class="operator token">=</span> url<span class="punctuation token">;</span>
- <span class="punctuation token">}</span>
- <span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
-<span class="punctuation token">}</span>
-</span><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>script</span><span class="punctuation token">&gt;</span></span></code></pre>
-
-<p>その代わり、Google Analytics を使わない場合も考慮して、次のように ga オブジェクトが初期化されているか確認してください:</p>
-
-<pre class="brush:html example-good line-numbers language-html"><code class="language-html"><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>a</span> <span class="attr-name token">href</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://www.example.com<span class="punctuation token">"</span></span> <span class="attr-name token">onclick</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>trackLink(<span class="punctuation token">'</span>http://www.example.com<span class="punctuation token">'</span>, event);<span class="punctuation token">"</span></span><span class="punctuation token">&gt;</span></span>Visit example.com<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>a</span><span class="punctuation token">&gt;</span></span>
-<span class="tag token"><span class="tag token"><span class="punctuation token">&lt;</span>script</span><span class="punctuation token">&gt;</span></span><span class="language-javascript script token">
-<span class="keyword token">function</span> <span class="function token">trackLink</span><span class="punctuation token">(</span>url<span class="punctuation token">,</span>event<span class="punctuation token">)</span> <span class="punctuation token">{</span>
- event<span class="punctuation token">.</span><span class="function token">preventDefault</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
- <span class="keyword token">if</span> <span class="punctuation token">(</span>window<span class="punctuation token">.</span>ga <span class="operator token">&amp;&amp;</span> ga<span class="punctuation token">.</span>loaded<span class="punctuation token">)</span> <span class="punctuation token">{</span>
- <span class="function token">ga</span><span class="punctuation token">(</span><span class="string token">'send'</span><span class="punctuation token">,</span> <span class="string token">'event'</span><span class="punctuation token">,</span> <span class="string token">'outbound'</span><span class="punctuation token">,</span> <span class="string token">'click'</span><span class="punctuation token">,</span> url<span class="punctuation token">,</span> <span class="punctuation token">{</span>
- <span class="string token">'transport'</span><span class="punctuation token">:</span> <span class="string token">'beacon'</span><span class="punctuation token">,</span>
- <span class="string token">'hitCallback'</span><span class="punctuation token">:</span> <span class="keyword token">function</span><span class="punctuation token">(</span><span class="punctuation token">)</span> <span class="punctuation token">{</span> document<span class="punctuation token">.</span>location <span class="operator token">=</span> url<span class="punctuation token">;</span> <span class="punctuation token">}</span>
- <span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
- <span class="punctuation token">}</span> <span class="keyword token">else</span> <span class="punctuation token">{</span>
- document<span class="punctuation token">.</span>location <span class="operator token">=</span> url<span class="punctuation token">;</span>
- <span class="punctuation token">}</span>
-<span class="punctuation token">}</span>
-</span><span class="tag token"><span class="tag token"><span class="punctuation token">&lt;/</span>script</span><span class="punctuation token">&gt;</span></span></code></pre>
-
-<p>この手法についてより詳しくは <a href="https://hacks.mozilla.org/2016/01/google-analytics-privacy-and-event-tracking/">Google Analytics, Privacy, and Event Tracking</a> をご覧ください。</p>
-
-<p>他のサイトからのコンテンツに依存してしまうやり方は、そのサイトが重かったり、読み込みに失敗したり、アドオンによってトラッキングがブロックされた場合にあなたのサイトまで影響を受けてしまうので良い方法とは言えません。</p>
diff --git a/files/ja/mozilla/firefox/security_best_practices_for_firefox_front-end_engi/index.html b/files/ja/mozilla/firefox/security_best_practices_for_firefox_front-end_engi/index.html
deleted file mode 100644
index fefd9703e1..0000000000
--- a/files/ja/mozilla/firefox/security_best_practices_for_firefox_front-end_engi/index.html
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Firefox のフロントエンドエンジニアのためのセキュリティのベストプラクティス
-slug: Mozilla/Firefox/Security_best_practices_for_Firefox_front-end_engi
-translation_of: Mozilla/Firefox/Security_best_practices_for_Firefox_front-end_engi
----
-<div>{{FirefoxSidebar}}</div>
-
-<p>このガイドは、Firefoxの開発者がセキュリティコントロールを理解し、Firefoxのフロントエンドを開発する際の一般的な落とし穴を避けるのに役立ちます。</p>
-
-<h2 id="既存のセキュリティコントロール">既存のセキュリティコントロール</h2>
-
-<h3 id="innerHTMLやそれに関連するものを通してDOMに入るすべての文字列をサニタイズする">innerHTMLやそれに関連するものを通してDOMに入るすべての文字列をサニタイズする</h3>
-
-<p>Chrome 特権で実行されるコードでは、Chrome 特権文書用に作成されたすべてのHTMLフラグメントをサニタイズします。これには文字列を受け取りDOMツリーに解析するすべてのDOM APIが含まれます。</p>
-
-<p>私たちは、Sanitizerに組み込まれた次の<a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIParserUtils#Constants">フラグ</a>を使用します。</p>
-
-<pre><code id="line-5195">SanitizerAllowStyle
-</code><code id="line-5196">SanitizerAllowComments
-</code><code id="line-5197">SanitizerDropForms
-</code><code id="line-5198">SanitizerLogRemovals</code></pre>
-
-<p>サニタイザはすべてのスクリプト (スクリプトタグ、イベントハンドラ) とフォーム要素 (<code>form</code>, <code>input</code>, <code>keygen</code>, <code>option</code>, <code>optgroup</code>, <code>select</code>, <code>button</code>, <code>datalist</code>) を削除します。<a href="https://searchfox.org/mozilla-central/source/dom/base/nsTreeSanitizer.cpp#38">ホワイトリストに載っている要素のリスト</a>の正式なものはソースコードです。<br>
- <br>
- 最後のフラグは開発者が問題を早期に発見し、提供後ではなく開発サイクル内で問題を回避できることを保証します。</p>
-
-<h3 id="非衛生的なDOMの相互作用に対するLinterの規則">非衛生的なDOMの相互作用に対するLinterの規則</h3>
-
-<p>Security Assuranceチームは、<code>innerHTML</code>などのDOM APIの安全でない使用を禁止する <a href="https://github.com/mozilla/eslint-plugin-no-unsanitized">ESLint ルール</a>を維持しています。Linterは善意の開発者を想定して、ソースコードにハードコードされた文字列リテラルを使用するコードの例外を作成します。 開発者は次のような<a href="/ja/docs/Web/JavaScript/Reference/template_strings">テンプレート文字列</a>と組み合わせてエスケープ関数を使用することで、ルールをトリッピングすることを避けることができます。</p>
-
-<pre class="brush: js"><span class="pl-smi">bar</span>.<span class="pl-smi">innerHTML</span> <span class="pl-k">=</span> <span class="pl-s"><span class="pl-en">escapeHTML</span><span class="pl-pds">`</span>&lt;<span class="pl-ent">a</span> <span class="pl-e">href</span>=<span class="pl-s"><span class="pl-pds">'</span>${url}<span class="pl-pds">'</span></span>&gt;About&lt;/<span class="pl-ent">a</span>&gt;<span class="pl-pds">`</span></span>;</pre>
-
-<p>Chrome 特権コードでは、残っているスクリプトは引き続きGoogleのサニタイザで削除されます。</p>
-
-<h2 id="付録">付録</h2>
-
-<h4 id="許可されていない_DOM_API_の一覧"><a name="list-disallowed">許可されていない DOM API の一覧</a></h4>
-
-<ul>
- <li><code>innerHTML</code></li>
- <li><code>outerHTML</code></li>
- <li><code>insertAdjacentHTML()</code></li>
- <li><code>createContextualFragment()</code></li>
- <li><code>document.write()</code></li>
- <li><code>document.writeln()</code></li>
-</ul>
-
-<p><a href="https://github.com/mozilla/eslint-plugin-no-unsanitized/tree/master/docs/rules">Please take a look at the repository for an updated list</a></p>