diff options
Diffstat (limited to 'files/ja/conflicting/mozilla')
4 files changed, 862 insertions, 0 deletions
diff --git a/files/ja/conflicting/mozilla/add-ons/index.html b/files/ja/conflicting/mozilla/add-ons/index.html new file mode 100644 index 0000000000..03b01cfbdd --- /dev/null +++ b/files/ja/conflicting/mozilla/add-ons/index.html @@ -0,0 +1,248 @@ +--- +title: Building an Extension +slug: Building_an_Extension +tags: + - Add-ons + - Extensions +--- +<p> </p> +<h4 id=".E5.BA.8F.E7.AB.A0" name=".E5.BA.8F.E7.AB.A0">序章</h4> +<p>このチュートリアルでは、基本的な拡張機能を作る手順を段階を追って説明していきます。まずはFirefoxのステータスバーパネルに「<strong>Hello, World!</strong>」を表示してみましょう。</p> +<div class="note"> + <p><strong>注意</strong> このチュートリアルは、Firefox 1.5 の拡張機能の作成方法です。それ以前のバージョンの作成方法については、別のチュートリアルを参照してください。</p> +</div> +<h4 id=".E9.96.8B.E7.99.BA.E7.92.B0.E5.A2.83.E3.82.92.E6.BA.96.E5.82.99.E3.81.99.E3.82.8B" name=".E9.96.8B.E7.99.BA.E7.92.B0.E5.A2.83.E3.82.92.E6.BA.96.E5.82.99.E3.81.99.E3.82.8B">開発環境を準備する</h4> +<p>拡張機能は、ZIPファイルの形式で固めて配布するか、さもなくば <strong>拡張子が<code>xpi</code>のファイル(実体はZIP形式です)</strong>を<a href="/ja/Bundles" title="ja/Bundles">バンドル</a>します。XPIファイルの構造は下記のとおりです。</p> +<pre class="eval">extension.xpi: + /<a href="/ja/Install_Manifests" title="ja/Install_Manifests">install.rdf</a> + <a href="#XPCOM_Components">/components/*</a> + <a href="#Application_Command_Line">/components/cmdline.js</a> + <a href="#Defaults_Files">/defaults/</a> + <a href="#Defaults_Files">/defaults/preferences/*.js</a> + /plugins/* + /<a href="/ja/Chrome_Registration" title="ja/Chrome_Registration">chrome.manifest</a> + /<a href="/ja/Window_icons" title="ja/Window_icons">chrome/icons/default/*</a> + /chrome/ + /chrome/content/ + +</pre> +<p>自作のソースをzipに固めるのにMakefileやシェルスクリプトを書きたくないのであれば、上記と同じようにファイルを配置してみるのが一番簡単です。たとえ準備ができているとしても、一度このように広げて確認してみると、Firefox 1.5 のアドオンの仕組みがずっと簡単になります。</p> +<p>それでは始めましょう。まずハードディスク上に、拡張機能用のフォルダ(例:「<code>C:\extensions\myExtension\」</code>や<code>「~/extensions/myExtension/」</code>等)を作って下さい。このフォルダの中に「<code>chrome</code>」という名前のフォルダを作成します。この「<code>chrome</code>」の中に「<code>content</code>」というフォルダを作成します。(UNIX系のシステムであれば、拡張機能のrootディレクトリから「<code>mkdir -p chrome/content</code>」と叩くだけで2つのディレクトリが作成できます。)</p> +<p>次に、あなたの拡張機能用フォルダ(<strong>root</strong> とします)に、<code>chrome</code> フォルダと並んで 2つの新規ファイルを作成します。1つは「<code>chrome.manifest</code>」で、もう1つは「<code>install.rdf</code>」です。</p> +<p>開発環境の準備に関するもっと多くの助言が、<a class="external" href="http://kb.mozillazine.org/Setting_up_extension_development_environment">Mozillazine Knowledge Base</a> にもありますので、そちらも参考にしてください。</p> +<h4 id=".E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.83.9E.E3.83.8B.E3.83.95.E3.82.A7.E3.82.B9.E3.83.88.E3.82.92.E4.BD.9C.E3.82.8B" name=".E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.83.9E.E3.83.8B.E3.83.95.E3.82.A7.E3.82.B9.E3.83.88.E3.82.92.E4.BD.9C.E3.82.8B">インストールマニフェストを作る</h4> +<p>拡張機能の root フォルダに作った <code><a href="/ja/Install_Manifests" title="ja/Install_Manifests">install.rdf</a></code> を開いて、下記のように書いて下さい。</p> +<pre class="eval"><?xml version="1.0"?> + +<RDF xmlns="<span class="nowiki">http://www.w3.org/1999/02/22-rdf-syntax-ns#</span>" + xmlns:em="<span class="nowiki">http://www.mozilla.org/2004/em-rdf#</span>"> + + <Description about="urn:mozilla:install-manifest"> + <em:id><strong><a class="link-mailto" href="mailto:sample@foo.net" rel="freelink">sample@foo.net</a></strong></em:id> + <em:version><strong>1.0</strong></em:version> + <em:type>2</em:type> + + <!-- Target Application this extension can install into, + with minimum and maximum supported versions. --> + <em:targetApplication> + <Description> + <em:id><strong>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</strong></em:id> + <em:minVersion><strong>1.0+</strong></em:minVersion> + <em:maxVersion><strong>1.5.0.*</strong></em:maxVersion> + </Description> + </em:targetApplication> + + <!-- Front End MetaData --> + <em:name><strong>Sample!</strong></em:name> + <em:description><strong>A test extension</strong></em:description> + <em:creator><strong>Your Name Here</strong></em:creator> + <em:homepageURL><strong><span class="nowiki">http://www.foo.com/</span></strong></em:homepageURL> + </Description> +</RDF> +</pre> +<ul> + <li><strong><a class="link-mailto" href="mailto:sample@foo.net" rel="freelink">sample@foo.net</a></strong> - この拡張機能の ID です。これはあなたの拡張機能を識別するためのメールアドレス形式の値です(「あなたのメールアドレス」を書くところではありませんよ?)。他の機能拡張とかぶらないよう、ユニークな値にします。GUIDを使う事もできます。</li> + <li><code><em:type>2</em:type></code> の指定 -- この「2」は拡張機能であることを表しています。 (他の値の意味については <a href="/ja/Install_Manifests#type" title="ja/Install_Manifests#type">Install Manifests#type</a> を参照のこと)。</li> + <li><strong>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</strong> - Firefoxのアプリケーション ID です。</li> + <li><strong>1.0+</strong> - この拡張機能が動作するFirefoxの最小バージョン。あなたが動作確認して、バグを修正する責任を持とうとする最小のバージョンを指定して下さい。</li> + <li><strong>1.5.0.*</strong> - この拡張機能が動作するFirefoxの最大バージョン。この値を現時点の最新版よりも大きな値にしないように!</li> +</ul> +<p><a href="/ja/Install_Manifests" title="ja/Install_Manifests">Install Manifests</a> には必須のプロパティもオプションのプロパティも全て網羅されています。</p> +<p>ファイルを保存します。</p> +<h4 id="XUL_.E3.81.A7.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.92.E6.8B.A1.E5.BC.B5.E3.81.99.E3.82.8B" name="XUL_.E3.81.A7.E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.92.E6.8B.A1.E5.BC.B5.E3.81.99.E3.82.8B">XUL でブラウザを拡張する</h4> +<p>Firefox のユーザインタフェースは XUL と JavaScript で書かれます。<a href="/ja/XUL" title="ja/XUL">XUL</a> はボタン、メニュー、ツールバー、ツリーといったユーザインタフェースの部品を提供するための XML の文法です。ユーザーの行動は JavaScript を使って関数のように結び付いています。</p> +<p>ブラウザを拡張するために、我々は部品を加えるか修正することでブラウザのユーザーインタフェースの一部を修正します。我々は新しい XUL DOM 要素をブラウザウインドウに挿入することによって部品を追加し、スクリプトにイベントハンドラを付加することによって修正します。</p> +<p>ブラウザは <code>browser.xul</code> (<code>$FIREFOX_INSTALL_DIR/chrome/browser.jar</code> に含まれる <code>content/browser/browser.xul</code>)と呼ばれる XUL ファイルに実装されています。browser.xul では、ステータスバーについてこんな風に定義されているのを見つける事ができます。</p> +<pre class="eval"><statusbar id="status-bar"> + ... <statusbarpanel>s ... +</statusbar> +</pre> +<p><code><statusbar id="status-bar"></code> は、XUL オーバーレイ方式のための「マージポイント」です。</p> +<h5 id="XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.AC.E3.82.A4.E6.96.B9.E5.BC.8F" name="XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.AC.E3.82.A4.E6.96.B9.E5.BC.8F">XUL オーバレイ方式</h5> +<p><a href="/ja/XUL_Overlays" title="ja/XUL_Overlays">XUL オーバレイ方式</a>とは、動的に他の UI 部品を XUL ドキュメントに紐付ける方法です。XUL オーバーレイ方式は、拡張子「.xul」のファイルに XUL のかたまりを記述しておくと、「マスター」ドキュメントにあるマージポイントで紐付けて追加してくれます。これらのかたまりで部品を追加したり削除したり変更したりが可能になるのです。</p> +<p><strong>XUL オーバレイ方式の例</strong></p> +<pre class="eval"><?xml version="1.0"?> +<overlay id="sample" + xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"> + <statusbar id="<strong>status-bar</strong>"> + <statusbarpanel id="my-panel" label="Hello, World"/> + </statusbar> +</overlay> +</pre> +<p><code><strong>status-bar</strong></code> という名前の <code><statusbar></code> で、ブラウザウィンドウの中のくっつけたい「マージポイント」を指定しています。</p> +<p><code><statusbarpanel></code> はその子要素で、マージポイントに追加したい部品です。</p> +<p>上記のサンプルコードを <code><strong>sample.xul</strong></code> という名前のファイルに書いて、先ほど作った <code>chrome/content</code> に保存して下さい。</p> +<p>オーバーレイを使っての部品の追加やユーザーインターフェースの修正に関する詳細は、下記を参照して下さい。</p> +<h4 id="Chrome_URI.E3.81.AE.E6.9B.B8.E5.BC.8F" name="Chrome_URI.E3.81.AE.E6.9B.B8.E5.BC.8F">Chrome URIの書式</h4> +<p>XUL ファイルは、 "<a href="/ja/Chrome_Registration" title="ja/Chrome_Registration">Chrome パッケージ</a>" と呼ばれる ユーザーインターフェースコンポーネントのかたまりの一部です。これらは「<code>file://</code>」といったURIではなく、「<code>chrome://</code>」といった URI で呼び出されます(これはプラットフォームの依存度を下げるためです)。XUL ファイルの URI を インストールされたアプリケーションに引き継ぐために、Mozillaの開発者がこの解決策を考えつきました。</p> +<p>ブラウザのウィンドウは <code><a class="external" rel="freelink">chrome://browser/content/browser.xul</a></code> です。試しにこの URL を Firefox のロケーションバーに打ち込んでみてください!</p> +<p>Chrome URI はいくつかの要素から成り立っています。</p> +<ul> + <li>第1に <strong>URI スキーマ</strong> (<code>chrome</code>の部分) 、これでFirefox のネットワーキングライブラリに「これは Chrome URIである」と伝えることでその内容がロードされますので、特別に処理される必要があります。</li> + <li>第2に、ユーザインタフェースコンポーネントの包みを識別するパッケージ名(上記の例では <code><strong>browser</strong></code>の部分)。これは拡張同士の競合を避けるために、可能な限りあなたのアプリケーションに特有であるべきです。</li> + <li>第3に、リクエストするデータの種類。これには3種類あります。 + <ul> + <li><code>content</code> (XUL, JavaScript, XBL バインディングといったアプリケーション UI の構造と振舞いを構成しています。)</li> + <li><code>locale</code> (DTD, .properties ファイルといった UI の<a href="/ja/Localization" title="ja/Localization">地域化</a>のための文言を含んでいます。)</li> + <li><code>skin</code> (CSS や画像といった、UI の <a href="/ja/Themes" title="ja/Themes">見た目</a> の部分を構成します。)</li> + </ul> + </li> + <li>最後に、ロードするファイルへのパスです。</li> +</ul> +<p>つまり、<code><a class="external" rel="freelink">chrome://foo/skin/bar.png</a></code> だと、<code>foo</code> テーマの <code>skin</code> セクションの <code>bar.png</code> というファイルを呼び出すのです。</p> +<p>あなたが Chrome URI を使って内容をロードするとき、 Firefox はこれらのURIを実際のディスク上のソースファイル(もしくはJARパッケージ)に変換するのに、Chromeレジストリを使用します。</p> +<h4 id="Chrome_Manifest.E3.81.AE.E4.BD.9C.E6.88.90" name="Chrome_Manifest.E3.81.AE.E4.BD.9C.E6.88.90">Chrome Manifestの作成</h4> +<p>Chrome Manifest に関するさらに詳細な情報と、それがサポートするプロパティについては、<a href="/ja/Chrome_Manifest" title="ja/Chrome_Manifest">Chrome Manifest</a> を参照して下さい。</p> +<p>先ほど root フォルダに <code>chrome</code> というディレクトリと並べて作成した <code><strong>chrome.manifest</strong></code> を開いて下さい。</p> +<p>下記の一文を追加します。</p> +<pre class="eval">content sample chrome/content/ +</pre> +<p>(<strong>最後のスラッシュ "<code>/</code>" を忘れない事!</strong> さもないと、拡張機能はロードされません。)</p> +<p>注意: Firefox/Thunderbird 2 とそれ以前のバージョンでは混合/大文字をサポートしていないので、必ず小文字のパッケージ名 ("sample") を使ってください。 - {{ Bug(132183) }}</p> +<p>ここで指定しているのは、</p> +<ol> + <li>chrome パッケージの物の種類</li> + <li>chrome パッケージの名前</li> + <li>chrome パッケージファイルの場所</li> +</ol> +<p>つまりこの行は、「chrome パッケージ名が <strong>sample</strong>」で「<strong>content</strong> ファイルが <code>chrome/content</code> (<code>chrome.manifest</code>の相対パス) にある」という事を表しているのです。</p> +<p>「content」「locale」「skin」に相当するファイルは、それぞれ<code>chrome</code> のサブディレクトリである「content」「locale」「skin」のディレクトリ下に配置しなくてはならない事を注意してください。</p> +<p>ファイルを保存して下さい。あなたが拡張機能を入れて Firefox を起動した時に(このチュートリアルの後で)、chrome パッケージが登録されます。</p> +<h4 id=".E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E3.81.AE.E7.99.BB.E9.8C.B2" name=".E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E3.81.AE.E7.99.BB.E9.8C.B2">オーバーレイの登録</h4> +<p>Firefoxでオーバーレイを表示する時はいつでも、そのオーバーレイをブラウザウィンドウにマージする必要があります。ですから、 <code>chrome.manifest</code> ファイルに次の一文を追加して下さい。</p> +<pre class="eval">overlay <a class="external" rel="freelink">chrome://browser/content/browser.xul</a> <a class="external" rel="freelink">chrome://sample/content/sample.xul</a> +</pre> +<p>これはFirefox に、「 browser.xul をロードする時に sample.xul を browser.xul にマージする」という意味です。</p> +<h4 id=".E3.83.86.E3.82.B9.E3.83.88" name=".E3.83.86.E3.82.B9.E3.83.88">テスト</h4> +<p>最初に、我々はあなたの拡張機能の存在を Firefox に伝えなくてはなりません。昔、Firefox 1.0 の頃にはこれは、あなたの拡張機能を XPI としてパッケージ化して、ユーザインタフェースを通じてそれをインストールする事を意味していました。これが実に辛い。でも、今はもっとずっと簡単です。</p> +<ol> + <li>あなたの環境の <a class="external" href="http://kb.mozillazine.org/Profile_folder">プロファイルフォルダ</a>を開いてください。</li> + <li>そこにある <strong>extensions</strong> という名前のフォルダを開いて下さい。(なければ作成して下さい。)</li> + <li>新しいテキストファイルを作成して、その中にあなたの機能拡張フォルダのパス(例:「<code>C:\extensions\myExtension\</code>」とか「<code>~/extensions/myExtension</code>」とか。)を書いて、そのファイルをあなたの拡張機能のIDと同じ名前(例:「<code><a class="link-mailto" href="mailto:sample@foo.net" rel="freelink">sample@foo.net</a></code>」)で保存して下さい。</li> +</ol> +<p>これで拡張機能のテストの準備ができました!</p> +<p>Firefoxを起動します。Firefox はあなたの拡張機能のディレクトリへのテキストリンクを検出して、そして拡張機能をインストールしてくれます。ブラウザウインドウが表示されると、ステータスバーパネルの右側でテキスト「Hello, World!」と表示されているのが見えるでしょう。</p> +<p>戻って「.xul」ファイルを修正した場合も、ファイルを閉じて Firefox を再起動すれば、その結果が反映されます。</p> +<p><span class="comment">These don't actually match the described extension and confuse people. -Nickolay CENTER> Image:Helloworld_tools_menu.PNG Image:Helloworld_extensions_wnd.PNG </CENTER</span></p> +<h4 id=".E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E5.8C.96" name=".E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E5.8C.96">パッケージ化</h4> +<p>あなたの拡張機能が動作する今、あなたは配備とインストールのためにそれを<a href="/ja/Extension_Packaging" title="ja/Extension_Packaging">パッケージ</a>することができます。</p> +<p>あなたの拡張機能のフォルダのコンテンツ(rootフォルダ自体を圧縮するのではなく、中身だけ)をZipで圧縮し、そのZipファイルの拡張子を「.xpi」に変更します。Windows XP ではもっと簡単で、root フォルダの下の全てのファイル・ディレクトリを選択して右クリックして、「送る」->「圧縮(zip形式)フォルダ」を選択します。これで拡張子「.zip」のファイルができます。あとはファイル名を変更すればおしまい!</p> +<p>次に「.xpi」ファイルをあなたのサーバーにアップロードして、MIMEタイプが「<code>application/x-xpinstall</code>」になっている事を確認して下さい。これであなたはリンクを張って、みんながダウンロードしてFirefoxにインストールする事を可能にできます。</p> +<h5 id="addons.mozilla.org_.E3.81.AE.E5.88.A9.E7.94.A8" name="addons.mozilla.org_.E3.81.AE.E5.88.A9.E7.94.A8">addons.mozilla.org の利用</h5> +<p>Mozilla Update は、あなたが無料であなたの拡張機能を配布する事ができるサイトです。あなたの拡張機能は、非常に人気が高くなっても安定的にダウンロードできるように、Mozillaのミラーサーバー上にも格納されます。Mozillaのサイトはまた、ユーザーにより容易なインストレーションを提供し、さらにあなたが新バージョンをアップロードした時には、既存のユーザーにその新バージョンを自動で提供します。さらに Mozilla Update では、ユーザーのコメントをあなたにフィードバックさせる事も可能です。あなたがあなたの拡張機能を Mozilla Update で配布する事は、強く推奨されているのです!</p> +<p><a class="external" href="/http://addons.mozilla.org/developers/%7Chttp://addons.mozilla.org/developers" title="http://addons.mozilla.org/developers/|http://addons.mozilla.org/developers">http://addons.mozilla.org/developers/|http://addons.mozilla.org/developers</a>を訪ねて、アカウントを作って機能拡張を配布してみて下さい。</p> +<p><em>注意:</em> あなたの拡張機能は、もし丁寧な説明文と動作のスクリーンショットがあれば、より早く知られて、もっとダウンロードされるでしょう。</p> +<h5 id=".E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AEWindows.E3.83.AC.E3.82.B8.E3.82.B9.E3.83.88.E3.83.AA.E3.81.B8.E3.81.AE.E7.99.BB.E9.8C.B2" name=".E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AEWindows.E3.83.AC.E3.82.B8.E3.82.B9.E3.83.88.E3.83.AA.E3.81.B8.E3.81.AE.E7.99.BB.E9.8C.B2">拡張機能のWindowsレジストリへの登録</h5> +<p>Windows では、拡張機能の情報をレジストリに登録する事ができます。これによって拡張機能は次回自動的に呼び出されてアプリケーションが起動されます。これはアプリケーションインストーラに拡張機能として容易にインテグレーションフックを加えることを許すものです。詳細は<a href="/ja/Adding_Extensions_using_the_Windows_Registry" title="ja/Adding_Extensions_using_the_Windows_Registry">Windowsレジストリへの拡張機能の登録</a>を参照の事。</p> +<h4 id="XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E6.96.B9.E5.BC.8F.E3.81.AE.E8.BF.BD.E5.8A.A0.E6.83.85.E5.A0.B1" name="XUL_.E3.82.AA.E3.83.BC.E3.83.90.E3.83.BC.E3.83.AC.E3.82.A4.E6.96.B9.E5.BC.8F.E3.81.AE.E8.BF.BD.E5.8A.A0.E6.83.85.E5.A0.B1">XUL オーバーレイ方式の追加情報</h4> +<p>UI部品をマージポイントに追加するだけでなく、XUL のかたまりをオーバーレイの中で使う事もできます。</p> +<ul> + <li>マージポイントの属性の変更</li> +</ul> +<dl> + <dd> + <dl> + <dd> + (例:「<code><statusbar id="status-bar" hidden="true"/></code>」(ステータスバーを隠す))</dd> + </dl> + </dd> +</dl> +<ul> + <li>マスタードキュメントからマージポイントの削除</li> +</ul> +<dl> + <dd> + <dl> + <dd> + (例:「<code><statusbar id="status-bar" removeelement="true"/></code>」)</dd> + </dl> + </dd> +</dl> +<ul> + <li>追加した部品の位置の操作</li> +</ul> +<pre class="eval"><statusbarpanel position="1" .../> + +<statusbarpanel insertbefore="other-id" .../> + +<statusbarpanel insertafter="other-id" .../> +</pre> +<h4 id=".E6.96.B0.E3.81.97.E3.81.84.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9.E3.82.B3.E3.83.B3.E3.83.9D.E3.83.BC.E3.83.8D.E3.83.B3.E3.83.88.E3.81.AE.E4.BD.9C.E6.88.90" name=".E6.96.B0.E3.81.97.E3.81.84.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BC.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.BC.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9.E3.82.B3.E3.83.B3.E3.83.9D.E3.83.BC.E3.83.8D.E3.83.B3.E3.83.88.E3.81.AE.E4.BD.9C.E6.88.90">新しいユーザーインターフェースコンポーネントの作成</h4> +<p>自分で作ったウィンドウとダイアログボックスを「.xul」ファイルを分けて作ったり、UI部品を操作するためのDOMメソッドを「.js」ファイルに実装する事で、機能として提供できます。また、「.css」ファイルにスタイルを定義しておけば、色の設定など、見た目を触る事もできます。</p> +<p>XUL開発のためのもっと詳しい情報は、<a href="/ja/XUL" title="ja/XUL">XUL</a>の文章を参照して下さい。</p> +<h4 id="Defaults_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB" name="Defaults_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB">Defaults ファイル</h4> +<p>Defaults ファイルは、拡張機能の root フォルダの下の <code>defaults/</code> というフォルダにあって、ユーザーのプロファイルを後押しするのに使います。デフォルトの情報は<code>defaults/preferences/</code> の下の「.js」ファイルに格納されます。ファイルをここに置いておけば Firefoxのプリファレンスシステムが起動時に自動的に読み込んでくれますので、あなたのプログラムは<a href="/ja/Preferences_API" title="ja/Preferences_API">プリファレンスAPI</a>を通じてデフォルトの情報を参照する事が可能です。</p> +<h4 id="XPCOM_.E3.82.B3.E3.83.B3.E3.83.9D.E3.83.BC.E3.83.8D.E3.83.B3.E3.83.88" name="XPCOM_.E3.82.B3.E3.83.B3.E3.83.9D.E3.83.BC.E3.83.8D.E3.83.B3.E3.83.88">XPCOM コンポーネント</h4> +<p>Firefox は拡張機能で <a href="/ja/XPCOM" title="ja/XPCOM">XPCOM</a> コンポーネントの利用をサポートしています。ですからあなたは JavaScript や C++ で(<a href="/ja/Gecko_SDK" title="ja/Gecko_SDK">Gecko SDK</a>を使って) 簡単にあなたのコンポーネントを作る事ができます。</p> +<p>自作の「.js」「.dll」ファイルは<code>components/</code> ディレクトリに置いて下さい。そうすれば拡張機能をインストールした最初のFirefox起動時に、自動的に登録されます。</p> +<p>詳細については <a href="/ja/How_to_Build_an_XPCOM_Component_in_Javascript" title="ja/How_to_Build_an_XPCOM_Component_in_Javascript">How to Build an XPCOM Component in Javascript</a> および <a href="/ja/Creating_XPCOM_Components" title="ja/Creating_XPCOM_Components">Creating XPCOM Components</a> bookを参照してください。</p> +<h5 id=".E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89.E3.83.A9.E3.82.A4.E3.83.B3.E3.81.AE.E6.93.8D.E4.BD.9C" name=".E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89.E3.83.A9.E3.82.A4.E3.83.B3.E3.81.AE.E6.93.8D.E4.BD.9C">アプリケーションコマンドラインの操作</h5> +<p>カスタム XPCOMコンポーネントの可能な用途のひとつは、Firefox または Thunderbird にコマンドラインハンドラを追加することです。このテクニックを使えば、あなたの拡張機能をアプリケーションとして実行できます:</p> +<pre class="eval"> firefox.exe -myapp +</pre> +<p><span class="comment">I should move the useful parts of this to the Command Line page. -Nickolay ファンクションを含んだコンポーネントを追加する事によって、これは実行されます。 function NSGetModule(comMgr, fileSpec) { return myAppHandlerModule; } このファンクションはFirefox 起動を起動するたびに、Firefox から呼び出されます。 #Firefox はmyAppHandlerModuleの「registerSelf()」を呼ぶことによって、 myAppHandlerModule を登録します。 #それから「getClassObject()」によって myAppHandlerModule のハンドラファクトリを入手します。 #ハンドラファクトリはその「createInstance()」を使ってハンドルを作るために使われます。 #最終的にハンドルの「handle(cmdline)」で、コマンドライン(cmdline)の 「handleFlagWithParam()」と「handleFlag()」を処理します。</span> 詳細については、<a href="/ja/Chrome/Command_Line" title="ja/Chrome/Command_Line">Chrome: Command Line</a>と <a class="external" href="http://forums.mozillazine.org/viewtopic.php?t=365297">forum Discussion</a> を参照して下さい。</p> +<h4 id="Localization_.28.E5.9C.B0.E5.9F.9F.E5.8C.96.29" name="Localization_.28.E5.9C.B0.E5.9F.9F.E5.8C.96.29">Localization (地域化)</h4> +<p>複数言語をサポートするために、あなたは <a href="/ja/XUL_Tutorial/Localization" title="ja/XUL_Tutorial/Localization">エンティティ</a>や<a href="/ja/XUL_Tutorial/Property_Files" title="ja/XUL_Tutorial/Property_Files">文字列のバンドル</a> を使ってコンテンツから文字列を分離するべきです。開発時にやっておけば、後から戻ってきてやるよりもずっと楽ですよ!</p> +<p>拡張機能の地域化の情報は、「locale」ディレクトリの中に格納します。例えば、サンプル機能拡張に国依存の情報を追加したい場合、ディレクトリ「chrome」(「content」ディレクトリがあるのと同じ場所です)の中に「locale」ディレクトリを作り、そこにファイル「chrome.manifest」を作成して下記の一文を記述します。</p> +<pre class="eval">locale sample sampleLocale chrome/locale/ +</pre> +<p>XULで地域化した属性値を与えるためには、その値を「<code>.ent</code>」ファイル(または「<code>.dtd</code>」ファイル)に記述します。これは「locale」ディレクトリに、こんな感じで書いておきます。</p> +<pre class="eval"><!ENTITY button.label "Click Me!"> +<!ENTITY button.accesskey "C"> +</pre> +<p>そうしたら、今度はあなたが書いた XUL ドキュメントの先頭(但し "<?xml version"1.0"?>" よりは下)に下記のように書きます。</p> +<pre class="eval"><!DOCTYPE <strong>window</strong> SYSTEM "<a class="external" rel="freelink">chrome://packagename/locale/filename.ent</a>"> +</pre> +<p>ここで <code><strong>window</strong></code> というのは<code><a href="/ja/DOM/element.localName" title="ja/DOM/element.localName">地域名</a></code> であり、XUL文書のルート要素となります。<code>SYSTEM</code> プロパティは、エンティティファイルへの chrome URI です。例えばサンプルの拡張機能で言うと、ルート要素は<code><strong>overlay</strong></code>です。</p> +<p>エンティティを使うために、XUL を下記のように修正して下さい。</p> +<pre class="eval"><button label="&button.label;" accesskey="&button.accesskey;"/> +</pre> +<p>Chrome レジストリは確かに指定された地域名に対応するローカリゼーションバンドルからエンティティをロードしている事が確認できましたね。</p> +<p>スクリプトの中で文字列を使う時には、「.properties」ファイルを作成して、下記の書式で1つ1行で指定します。</p> +<pre class="eval">key=value +</pre> +<p>スクリプト中で値を取得するには、<code><a href="/ja/NsIStringBundleService" title="ja/NsIStringBundleService">nsIStringBundleService</a></code>/<code><a href="/ja/NsIStringBundle" title="ja/NsIStringBundle">nsIStringBundle</a></code>や、<code><a class="external" href="http://xulplanet.com/references/elemref/ref_stringbundle.html"><stringbundle></a></code> タグを使用します。</p> +<h4 id=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.92.E7.90.86.E8.A7.A3.E3.81.99.E3.82.8B" name=".E3.83.96.E3.83.A9.E3.82.A6.E3.82.B6.E3.82.92.E7.90.86.E8.A7.A3.E3.81.99.E3.82.8B">ブラウザを理解する</h4> +<p>ブラウザウィンドウや他のXULウィンドウの検査をするのには、<a href="/ja/DOM_Inspector" title="ja/DOM_Inspector">DOMインスペクタ</a>を使用します。 (これはFirefoxの「標準」インストールには含まれませんので、「カスタムインストール」で再インストールして「開発者ツール」を選択すれば、ブラウザのツールメニューに「DOM Inspector」が表示されます)</p> +<p>DOMインスペクタのツールバーの左上の「ノードファインダボタン」を押してから、検査したいウィンドウのオブジェクトをクリックすると、視覚的に選択したものの情報が表示されます。この時、DOMインスペクタのDOMツリービューは、あなたがクリックしたものの所にジャンプルするでしょう。</p> +<p>DOMインスペクタの右側のパネルでマージポイントとあなたがオーバーレイから追加した要素を見つけるのにも使います。もしあなたがマージした要素が見つけられないのであれば、マスターのXULウィンドウが呼び出された(<code>load</code>イベントが発行された)タイミングで、あなたのオーバーレイでスクリプト割り付けて要素を追加する必要があるかもしれません。</p> +<h4 id=".E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AE.E3.83.87.E3.83.90.E3.83.83.E3.82.B0" name=".E6.8B.A1.E5.BC.B5.E6.A9.9F.E8.83.BD.E3.81.AE.E3.83.87.E3.83.90.E3.83.83.E3.82.B0">拡張機能のデバッグ</h4> +<p><strong>デバッグ用の分析ツール</strong></p> +<ul> + <li><a href="/ja/DOM_Inspector" title="ja/DOM_Inspector">DOMインスペクタ</a> - 属性・DOM構造・CSSスタイルルールの検査が実施されます。(例えば、あなたのスタイルルールが特定の要素では効いてなさそうな場合に調査する、非常に便利なツールです!)</li> + <li><a href="/ja/Venkman" title="ja/Venkman">Venkman</a> - ブレークポイントを JavaScript にセットして、スタック呼び出しを検証します。</li> + <li><code><a href="/ja/Core_JavaScript_1.5_Reference/Objects/Function/arguments/callee" title="ja/Core_JavaScript_1.5_Reference/Objects/Function/arguments/callee">arguments.callee</a>.<a href="/ja/Core_JavaScript_1.5_Reference/Objects/Function/caller" title="ja/Core_JavaScript_1.5_Reference/Objects/Function/caller">caller</a></code> in JavaScript - ファンクションのスタックにアクセスします。</li> +</ul> +<p><strong>printf デバッグ</strong></p> +<ul> + <li>Firefox をコマンドラインから <code>-console</code> オプションをつけて起動します。使う時には <code><a href="/ja/DOM/window.dump" title="ja/DOM/window.dump">dump</a>("string")</code> で文字列を出力できます。(詳細はリンク先を見てください)</li> + <li>JavaScript コンソールにログ出力するのには、<code><a href="/ja/nsIConsoleService" title="ja/nsIConsoleService">nsIConsoleService</a></code> を使用します。</li> +</ul> +<p><strong>さらに上のデバッグ</strong></p> +<ul> + <li>デバッグビルド版のFirefoxを動かして、Firefoxなり あなたのC++のモジュールなりにブレークポイントをセットします。経験豊かな開発者にとっては、このやり方がしばしば問題を診断する最速の方法です。詳細は <a href="/ja/Developer_Guide/Build_Instructions" title="ja/Developer_Guide/Build_Instructions">Build Documentation</a> および <a href="/ja/Developing_Mozilla" title="ja/Developing_Mozilla">Developing Mozilla</a> を参照してください。</li> + <li><a href="/ja/Debugging_a_XULRunner_Application" title="ja/Debugging_a_XULRunner_Application">Debugging a XULRunner Application</a>にもっと詳しい情報があります。</li> +</ul> +<h3 id=".E3.82.AF.E3.82.A4.E3.83.83.E3.82.AF.E3.83.BB.E3.82.B9.E3.82.BF.E3.83.BC.E3.83.88" name=".E3.82.AF.E3.82.A4.E3.83.83.E3.82.AF.E3.83.BB.E3.82.B9.E3.82.BF.E3.83.BC.E3.83.88">クイック・スタート</h3> +<p>機能する簡単な拡張機能を作るために <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensionwiz/">Extension Wizard</a> オンラインツールを使えます。</p> +<p>Extension Wizard を使って作ったのと同じような <a class="external" href="http://mozilla.doslash.org/stuff/helloworld.zip">Hello World 拡張機能</a> の一行一行の説明が <a class="external" href="http://kb.mozillazine.org/Getting_started_with_extension_development">another tutorial from MozillaZine Knowledge Base</a> にあります。</p> diff --git a/files/ja/conflicting/mozilla/developer_guide/how_to_submit_a_patch/index.html b/files/ja/conflicting/mozilla/developer_guide/how_to_submit_a_patch/index.html new file mode 100644 index 0000000000..c4163517cb --- /dev/null +++ b/files/ja/conflicting/mozilla/developer_guide/how_to_submit_a_patch/index.html @@ -0,0 +1,55 @@ +--- +title: Hacking Mozilla +slug: Hacking_Mozilla +tags: + - Developing Mozilla +--- +<p>このページは、Mozilla の CVS リポジトリにプログラムコードをチェックインする方法を知りたい方のために設けられました。もしあなたが、今まで一度も Mozilla をビルドしたことがなければ、<a href="ja/Mozilla_Source_Code_(HTTP%2f%2fFTP)">ソースコード</a> のページを参照して、ビルドすることから始めた方がよいでしょう。そして <a href="ja/Mozilla_Hacker's_Getting_Started_Guide">Mozilla のハックを始めるためのガイド</a> を調べてみてください。 +</p> +<h3 id=".E3.83.91.E3.83.83.E3.83.81.E3.81.AE.E3.83.A9.E3.82.A4.E3.83.95.E3.82.B5.E3.82.A4.E3.82.AF.E3.83.AB"> パッチのライフサイクル </h3> +<p>もし、パッチ作成に関心があれば、以下のガイドラインが役に立つでしょう +</p> +<ul><li> 私達の基本的な設計思想の一つは、私達のプログラムコードが様々なプラットフォーム上で動作するようにするということです。必ずしも最新の標準の全てをサポートしていないようなコンパイラを使って、小さなプラットフォームに Mozilla を移植している人々もいます。もしあなたがコンパイルされたコード (C, C++) を書いているのであれば、私達の <a href="index.php?title=ja/C%2b%2b_Portability_Guide">C++ 移植ガイド</a> に従い、できる限りの警告出力を有効にしてコンパイルを行うことで、それらのプラットフォームを助けてください。いつの日かあなたは、あなたが書いたプログラムコードが、ケーブルテレビの受信機や携帯電話のような本当に小さなプラットフォーム上で動作しているのを見つけることでしょう。 +</li><li> あなたのコードは <a class="external" href="http://www.mozilla.org/projects/l10n/customizable-code.html">ローカリゼイション</a> にも気を付けてください。62の <a class="external" href="http://www.mozilla.org/projects/l10n/mlp_status.html#projects">登録されたプロジェクト</a> があり、そのうち 7 〜 10 個は現在もアクティブです。 +</li><li> <a href="ja/Mozilla_Coding_Style_Guide">Mozilla コーディングスタイルガイド</a> にも注意してください。 +</li><li> カスタマイズ性を考慮してください。Mozilla テクノロジの最大の利点の一つは、カスタマイズ性です。Mozilla のベンダやディストリビュータは彼らのニーズに向かって Mozilla を仕立てる特別な要件があるでしょう。Mozilla のディストリビュートを円滑にするために、機能を追加、削除、修正を容易に出来るように、是非カスタマイズ性を考慮してください。 +</li><li> 私達の <a class="external" href="http://www.mozilla.org/roadmap.html">開発ロードマップ</a> を読んでください。それは、Mozilla が目標としているアーキテクチャの概説であり、Mozilla をハックする全ての人にとって良い読みものです。 +</li><li> 新しいソースファイルを作るときには、適切な <a class="external" href="http://www.mozilla.org/MPL/boilerplate-1.1/">boilerplate (テンプレート)</a> のライセンスヘッダを加え、空欄を埋めてください。また、修正したファイルのライセンスヘッダの contributors (貢献者) 欄にあなた自身を加えるべきならばそうしてください。 +</li><li> パッチは現在の CVS に対して書くべきです。また、ソースファイルを開くことなくパッチを理解してもらうために、なるべく前後に十分な行を加えるべきです。標準のガイドラインとしては、最低限 <code>cvs diff -u8pN</code> を使用することが推奨されます。理解しやすいパッチを作るためにもっと前後の行を増やしたいなら、数字の 8 をもっと大きい数字に変えてください。 +</li></ul> +<p>もし、あなたがパッチを持っていたら、それを <a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a> へのバグ報告に添付してください。私たちはコードレビューに大きな信頼を置いています。なので、CVS リポジトリにコードをチェックインする前に、適切な <a class="external" href="http://www.mozilla.org/owners.html">モジュールオーナー</a> か、その同僚によるレビューを受ける必要があります。モジュールは完全には直接 Bugzilla コンポーネントに対応しません。しかし、強い相関があります。レビューを受けるには: +</p> +<ul><li> <a class="external" href="http://www.mozilla.org/owners.html">該当モジュールのモジュールオーナーか peer (代行者)</a> に、パッチに <code>?</code> というレビューフラグを立て (このフラグはレビューが求められていることを示します)、レビューをお願いしたい人のメールアドレスを記入して、レビューを明示的に依頼してください (あなたが指名されたのでなければ)。 +</li><li> バグナンバと、パッチを添付している事実と、レビューしてほしいことに言及して、モジュールオーナーか代行者に直接メールを送ることも出来ます。しかし、Bugzilla の依頼機能を使った方が見落とされる可能性は低いです。 +</li></ul> +<p>いくつかのケースで、次の数日以内に返答を受け取ることが出来るでしょう。不幸にして、忙しすぎるので彼らのバグ情報すべてに追いつけていない人々もいます。なので、あなたが 1 週間以内に返事を受け取れなくて、あなたがそのパッチに (言うならば、1 年やそこらでなく) すぐに対応する価値があると考えるなら、このようなことが出来ます。 +</p> +<ul><li> そのコンポーネントのバグに対するパッチをレビューしたことのある誰か他の人を Bugzilla で探し、かわりにその人にレビューを依頼してください。 +</li><li> IRC の <a class="link-irc" href="irc://irc.mozilla.org/#developers">#developers</a> で適切なレビューワが誰かを聞いてください。注意:レビュー依頼は IRC ではなく、E-Mail で +</li></ul> +<p>レビューワはあなたが取り組んでほしいあなたのパッチに対してコメントするでしょう。彼らが満足したとき、かれらはパッチをレビュー済みと印付けし、バグ (訳注:Bugzilla) で "r=<user>"と言うでしょう。 +</p><p>たいていの場合、"スーパーレビュー"として知られる追加のレベルのレビューが必要です。<a class="external" href="http://www.mozilla.org/hacking/reviewers.html">スーパーレビュー</a> ドキュメントはスーパーレビューを受けるために何をすべきかについて詳しく述べています。また、スーパーレビューはパッチに変更を求めるかもしれません。彼らが満足すると、バグ (Bugzilla) の中でそう言うでしょう。 +</p><p>レビューとスーパーレビューを受けて、パッチが十分な水準に達していたら、ツリーにチェックインできます。あなたが CVS アカウントを持っていない場合、代わりにチェックインしてくれる人を探さなければなりません。これは実に簡単です。<code>checkin-needed</code> キーワードをバグに追加するだけです。数少ないコミッターがこのキーワードの検索を設定しており、ちょくちょく調べてはコミットされていないパッチをコミットします。通常はキーワードが追加されてから 1 ~ 2 週間のうちにはコミットされるでしょう。2 週間以上たってもコミットされない場合、IRC に行って誰かにあなたのパッチをコミットするように (そして <code>checkin-needed</code> が付いたバグを調べるように、それらのバグにパッチを提供した人たちも同じように待たされているでしょうから) 言ってみる価値はあるでしょう。 +</p><p>時折、ツリーはリリースを試みるために少しより厳重にロックされ、"approval" (承認) と呼ばれる第三段階がチェックインのために必要になります。それらの時期には、<a class="external" href="http://tinderbox.mozilla.org/">Tinderbox</a> は approval が必要であると先頭でうたって注意を促します。approval を依頼するには、パッチ添付ファイルを変更して approval フラグに <code>?</code> をセットしてください。もし、approval が断られた場合、リリースが行われるか、リリースへ向けての開発がブランチとなるまで、1 週間程度パッチのチェックインを待たなければなりません。 +</p><p>これらのプロセスの中で、他に問題を抱えているか、ガイドが必要なら、<a class="link-mailto" href="mailto:gerv@mozilla.org">Gerv</a> にメールすることです。 +</p> +<h3 id="CVS_Commit_Access_.E3.83.AB.E3.83.BC.E3.83.AB"> CVS Commit Access ルール </h3> +<p>あなたがパッチでの貢献を頻繁に行って、品質の良いコードについて定評のある業績を残したとき、<a class="external" href="http://www.mozilla.org/hacking/getting-cvs-write-access.html">CVS コミット権限を得る</a> のプロセスを始めることが出来ます。CVS コミット権限は、以下のルールが伴います。 +</p><p>もっとも重要なルールは、ビルドのプロセスに関してです。それを無視することは、多くの人々の時間を浪費することになります。図々しい違反者は、ルールに従う事に悩まされるでしょう。抵抗は無駄です。 +</p> +<ul><li> <a class="external" href="http://www.mozilla.org/hacking/rules.html">follow the tree rules</a> を学びましょう。私達のビルドの手順は、柔軟で、人の手の介入を最小限しか必要とせず、数百人の技術者に対しても調整可能です。人々がこの単純なルールに従う限り、この手順は動作し続けるでしょう。 +</li><li> リポジトリにチェックインする人は全て、ツリーの担当する部分がきれいに保たれているようにしなくてはいけません。あなたのプログラムコードをチェックイン<b>する前に</b>、他のプラットフォームでビルドできることを確かめてください。チェックイン後は、Tinderbox があなたのプログラムコードを正常にビルドできるようにすることと、ビルド時や実行時の予期しない問題に対応できるようにすることは、あなたの責任です。多くの人にとって、<a class="external" href="http://groups.google.com/groups?oi=djq&as_umsgid=mcmullen-2404991952090001%40h-208-12-40-136.mcom.com">ツリーの破損は時間の損失</a> となります。決してしないでください。 +</li><li> <a class="external" href="http://tinderbox.mozilla.org/">Tinderbox</a> の活用について学んでください。Tinderbox を使って、ツリーについての全ての情報を入手することができます。誰かがプログラムコードをツリーにチェックインしている場合、あなたは Bonsai を使って、ツリーがオープンされているかどうかや、計画されているクローズがあるかどうかなど、そのツリーについての情報を調べなくてはいけません。 +</li><li> 新しいディレクトリを作成する際には、そのディレクトリの親ディレクトリの所有者の許可を得てください。"mozilla" のトップディレクトリに新しいディレクトリを追加する際には、mozilla.org の <a class="link-mailto" href="mailto:staff@mozilla.org">スタッフ</a> に連絡してください。私達は、相当な理由がない限りは、新しいトップレベルディレクトリの追加を望みません。ほとんどの新しいプロジェクトは、ツリーにすでにあるどこかのフォルダ、例えば components におさまるでしょう。 +</li></ul> +<p>Happy hacking! +</p> +<div class="originaldocinfo"> +<h2 id=".E5.8E.9F.E6.96.87.E6.9B.B8.E3.81.AE.E6.83.85.E5.A0.B1"> 原文書の情報 </h2> +<ul><li> 最終更新日: October 1, 2007 +</li><li> 著作権: Portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a Creative Commons license | <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">詳細</a> +</li></ul> +</div> +<div class="noinclude"> +</div> +{{ languages( { "en": "en/Hacking_Mozilla" } ) }} diff --git a/files/ja/conflicting/mozilla/developer_guide/index.html b/files/ja/conflicting/mozilla/developer_guide/index.html new file mode 100644 index 0000000000..80eb0d79bc --- /dev/null +++ b/files/ja/conflicting/mozilla/developer_guide/index.html @@ -0,0 +1,143 @@ +--- +title: Mozilla Hacker's Getting Started Guide +slug: Mozilla_Hacker's_Getting_Started_Guide +tags: + - Developing Mozilla +--- +<p>もし、このドキュメントについて、誤りを見つけたとか、更新に貢献したいとか、セクションを追加したいとか、そういうときには <a class="link-mailto" href="mailto:kaie@kuix.de">Kai Engert</a> までコンタクトを。</p> +<h3 id="Mozilla_.E3.81.A8.E3.81.AF.EF.BC.9F" name="Mozilla_.E3.81.A8.E3.81.AF.EF.BC.9F">Mozilla とは?</h3> +<p>Mozillaは オープンソースプロジェクトであり、クロスプラットフォームのインターネットクライアントソフトウェアを開発する組織です。ソースコードごとに定められた (MPL、NPL、GPL、LGPLが混在している) <a class="external" href="http://www.mozilla.org/MPL/">ライセンス</a> に従う必要があるとはいえ、Mozilla がオープンソースであるために、ソースコードは誰にでも利用可能です。</p> +<p>Mozilla.org は、このプロジェクトの開発者を助けるための基盤を提供する組織の名前です。<a class="external" href="http://www.mozilla.org/">mozilla.org</a> は Mozilla プロジェクトのための中心となる Web サイトのアドレスでもあります。</p> +<h3 id=".E5.8B.95.E6.A9.9F" name=".E5.8B.95.E6.A9.9F">動機</h3> +<p>Mozilla は最大規模のオープンソースプロジェクトの一つです。Mozilla は 何百万行のコードで作られています。そのため、この巨大プロジェクトに参加するのは簡単ではありません。このドキュメントの意図は、Mozilla をハックするために何に気を付けなくてはならないかについての概要を示すことにあります。このドキュメントで Mozilla プロジェクトで使われている多くの異なったテクノロジーの間の橋渡しをしようとしています。</p> +<p>私が Mozilla の内部に目を向け始めたとき、私はこのようなドキュメントがあればと願いました (^^)</p> +<h3 id=".E5.AF.BE.E8.B1.A1.E8.80.85" name=".E5.AF.BE.E8.B1.A1.E8.80.85">対象者</h3> +<p>このドキュメントは第一に Mozilla のどの部分かで作業できることを望む開発者のために書かれました。参加希望者は、オブジェクト指向プログラミングについて十分な理解が求められます。そして、特に、このプロジェクトで主にプログラム言語で用いられている C言語と C++ についての経験が求められます。</p> +<p>しかし、もしあなたが、例えば JavaScript と XUL UI (XUL ユーザインタフェース) だけのように、コードの一部でだけ作業することを望んでいるとしても、この文書は参考になるでしょう。</p> +<h3 id=".E3.81.93.E3.81.AE.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88.E3.81.AE.E7.AF.84.E5.9B.B2" name=".E3.81.93.E3.81.AE.E3.83.89.E3.82.AD.E3.83.A5.E3.83.A1.E3.83.B3.E3.83.88.E3.81.AE.E7.AF.84.E5.9B.B2">このドキュメントの範囲</h3> +<p>このドキュメントは以下の疑問に答えようとしています。</p> +<ul> + <li>どのようにソースコードは組織化されているか?</li> + <li>どんなテクノロジーが使われているか?</li> + <li>参加するにはどこから手をつければ良いか?</li> + <li>コンポーネントは相互にどのように働いているか?</li> + <li>どんなツールがあり、どのように便利なのか?</li> + <li>参加するために従う必要のあるどんなルールがあるのか?</li> +</ul> +<h3 id="Netscape_.E7.A4.BE.E3.81.AF.E3.81.93.E3.81.AE.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E3.81.AB.E4.BD.95.E3.82.92.E3.81.99.E3.81.B9.E3.81.8D.E3.81.AA.E3.81.AE.E3.81.8B.EF.BC.9F" name="Netscape_.E7.A4.BE.E3.81.AF.E3.81.93.E3.81.AE.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E3.81.AB.E4.BD.95.E3.82.92.E3.81.99.E3.81.B9.E3.81.8D.E3.81.AA.E3.81.AE.E3.81.8B.EF.BC.9F">Netscape 社はこのプロジェクトに何をすべきなのか?</h3> +<p>Mozilla が創造された時、それは Netscape のものでした。ある時期に、会社としての Netscape は、会社が所有していて、他者の著作権に抵触しないソースコードの部分を公開することにしました。</p> +<p>Mozilla は完成された製品ではありませんでした。なので、Mozilla プロジェクトはたくさんのコードを新たに書かなくてはなりませんでした。それに加えて、多くの部分を書き直しました。他のコンポーネントのいくつかは維持され、拡張されました。これが、このドキュメントや、Mozilla プロジェクトについて議論するときに Netscape という単語を目にする、耳にする機会があるの理由の一つです。</p> +<h3 id="C.2B.2B_.E3.81.A8_JavaScript" name="C.2B.2B_.E3.81.A8_JavaScript">C++ と JavaScript</h3> +<p>Mozilla では幅広く使われているため、Mozilla のソースコードで JavaScript と C++ が互いにどう関係しているかを説明するのは意味のあることです。C++ はコンパイル型の言語で、JacaScript はインタプリタ型の言語です。JavaScript は Web サイトをインプリメントするのに使われるテクノロジーとして最も共通のものとして知られています。しかし、Mozilla 開発者は、Mozilla ソースコード自身を両方の言語の混合で成り立たせることを選びました。</p> +<p>Mozilla ブラウザを起動したとき、C言語 と C++ のコンポーネントがまず開始します。しかし、起動処理の速い時点で XPConnect と呼ばれるテクノロジーが実行時にインタプリタ解釈された JavaScript を使用可能に初期化します。実際、Mozilla ブラウザは、コンパイルされた C++ と、コンパイルされない JavaScriptの両方で構成されています。</p> +<p>JavaScript は、OS によって直接に実行できるようにコンパイルすることが出来ないことに注意してください。そのために、われわれは C言語と C++ をプログラムのバックエンドで使用し、JavaScript は Mozilla の内部で動作します。</p> +<p>そして、JavaScript を使用した Web ページをネットサーフするとき、その JavaScript はサンドボックス (隔離された安全地帯) の範囲内で動作し、Mozilla の内部オブジェクトにアクセスすることは出来ないことも覚えておいてください。DOM (ドキュメント・オブジェクト・モデル Document Object Model) によって露出したオブジェクトだけが アクセス可能です。</p> +<p>このドキュメントで JavaScript に言及がある時はいつでも、Mozilla 内部の機能性に寄与するテクノロジーを意味します。JavaScript は、ユーザインタフェースイベント (ユーザの操作によるブラウザの動作) の処理を行うソースコードの部分に最もよく使われています。以下のドキュメントのほとんどは、アプリケーションの C++ 部分の概観について説明します。</p> +<h3 id="NSPR_-_Netscape_.E3.83.9D.E3.83.BC.E3.82.BF.E3.83.96.E3.83.AB.E3.83.BB.E3.83.A9.E3.83.B3.E3.82.BF.E3.82.A4.E3.83.A0" name="NSPR_-_Netscape_.E3.83.9D.E3.83.BC.E3.82.BF.E3.83.96.E3.83.AB.E3.83.BB.E3.83.A9.E3.83.B3.E3.82.BF.E3.82.A4.E3.83.A0">NSPR - Netscape ポータブル・ランタイム</h3> +<p>Mozilla プロジェクトでのソフトウェア開発のために第一に必要なのは、例えば、特定の OS に制限されてはいけないなどのように、クロスプラットフォームであることです。</p> +<p>C++ がポータブルな言語を意図している一方、そのポータブル性の概観は、一般的なプログラミングロジックとデータ構造に限られます。もし、特定の OS のためのソフトウェアを書きたいならば、その OS の特有の機能を使う必要があります。しばしば、すべての OS 上で同じ機能を使いたくなりますが、それをするためにはプラットフォーム毎に特有のコードを書かなくてはなりません。</p> +<p><a href="ja/NSPR">NSPR</a> の意図するところは、OS と Mozilla ソースコードの間に、Mozilla ソースコードの他のエリアのコードをシンプルにしやすくするためのレイヤー (層) を提供することです。C言語のライブラリ関数を利用しようとするとき、まずはクロスプラットフォームなインプリメントのものが NSPR により提供されていないかチェックすることが必要です。</p> +<h3 id=".E3.82.B9.E3.83.AC.E3.83.83.E3.83.89" name=".E3.82.B9.E3.83.AC.E3.83.83.E3.83.89">スレッド</h3> +<p>Mozilla はマルチスレッドアプリケーションです。Mozilla のコードにトライするまえに、それが何を意味するかを知る必要があります。</p> +<p>NSPR はマルチスレッドプログラムのための OS 非依存の機能を提供しています。例えば、すべてのネットワークデータ転送はデータ転送をしている間にも、ユーザインタフェースが応答可能なままとするために、スレッドごとに行われます。</p> +<p>C++ コードのために必要なことの一つは、マルチスレッド対応 (スレッドセーフ) であることです。</p> +<h3 id=".E3.82.AA.E3.83.96.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E6.8C.87.E5.90.91.E3.83.97.E3.83.AD.E3.82.B0.E3.83.A9.E3.83.9F.E3.83.B3.E3.82.B0_&_.E3.83.A2.E3.82.B8.E3.83.A5.E3.83.BC.E3.83.AB.E5.8C.96" name=".E3.82.AA.E3.83.96.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E6.8C.87.E5.90.91.E3.83.97.E3.83.AD.E3.82.B0.E3.83.A9.E3.83.9F.E3.83.B3.E3.82.B0_&_.E3.83.A2.E3.82.B8.E3.83.A5.E3.83.BC.E3.83.AB.E5.8C.96">オブジェクト指向プログラミング & モジュール化</h3> +<p>Mozilla の C++ ソースコードは、OOP (オブジェクト指向プログラミング) のルールに従うことを意図しています。そのルールには、モジュール化コンポーネント設計も含まれており、そこでは、あなたのクラスの public なインターフェースを使用した場合のみ、内部データ (変数) に対するアクセスが許可される、あるいは可能になります。</p> +<p>たいていのシンプルな C++ プロジェクトにおいて、これはそれだけの意味です。クラスを適切に public/protected/private を使い分けるのには注意深くデザインするというだけの意味です。しかし、すべてのソースコードはどこでも利用可能な状態のままです。例えば、いつでも、クラスのコンポーネントを private から public へ変更することが出来ます。そうすると、それはプロジェクトの中の他の箇所から利用可能となります。これは、Mozilla には当てはまりません。Mozilla では、よりモジュール化することが望まれます。</p> +<p>Mozilla のソースコードは分離されたコンポーネントで組織されています。一つのコンポーネントの中に限れば、前段落に記した単純なプロジェクトのように、すべてが自由ですが、複数のコンポーネント間においては、同じレベルの柔軟性はありません。</p> +<p>コンポーネント同士が通信するとき、コンポーネント・オブジェクト・モデル (COM component object model) を使ったうまく定義されたインタフェースだけを使って行います。</p> +<h3 id=".E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9" name=".E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9">インタフェース</h3> +<p>インタフェースのコンセプトは、CORBA テクノロジーで使われているもののようなものです。例えば、CORBA も Mozilla もインタフェースを記述するのに XPIDL (IDL とはインタフェース定義言語を意味します Interface Definition Language) という同様の言語を用いています。</p> +<p>CORBA 環境を使用する事は、制限が多く難しいものです。なぜならば、Mozilla では頻繁には用いないようなプロセス間、ネットワーク間通信を伴うためです。正式に流通している CORBA 環境ではインタフェースのコンポーネントを変更するのは同時にしばしば実行しているシステムすべてを入れ替えることが出来ないために困難です。何か変更を加えたいとき、新しいバージョンのインタフェースを定義しなくてはなりません。しかし、前のバージョンのサポートも続けることが求められます。</p> +<p>Mozilla は本稿執筆時点において正式に流通しているアプリケーションではないので、現在のところ多くのインタフェースは開発プロセスの必要に応じて変更することが可能です。しかし、Mozilla ブラウザはいくつかの環境に埋め込まれて実行されるので、それらの環境は確定したインタフェースを信頼できなくてはなりません。したがって、インタフェースは凍結されることができます。この状況は、しばしば、インターフェースが定義されている状態で表されます。時間の経過とともに Mozilla が安定化する、または、魔法のパージョン番号 1.0 に近づくにつれ、凍結されていないインタフェースに対する凍結されているものの割合は増えるでしょう。</p> +<p>Mozilla ビルドする一つのステップは、インタフェース定義ファイルを自動的に C言語 /C++ ヘッダファイルに翻訳することです。これは Mozilla の持つ IDL コンパイラである xipdl の仕事です。</p> +<p>メソッドとメンバデータに加えて、インタフェースは追加の属性を持っています。インタフェースは UUID というインタフェースごとに唯一に識別可能な番号を持っています。インタフェースはスクリプト記述可能な属性を持つことが出来ます。これは、インタフェースに JavaScript のコードからもアクセス可能であるということです。スクリプト記述可能なインタフェースは JavaScript ランタイムの範囲内で有効なパラメータのためのデータタイプを使うためだけに限定されています。</p> +<h3 id="XPCOM_.2F_nsISupports_.2F_nsCOMPtr" name="XPCOM_.2F_nsISupports_.2F_nsCOMPtr">XPCOM / nsISupports / nsCOMPtr</h3> +<p>XPCOM は Mozilla 自身の COM (コンポーネント・オブジェクト・モデル component object model) のインプリメンテーションです。名前の頭につく XP は、それがクロスプラットフォームであることを意味します (この XP がつくということを、特定の OS 製品のためのように見えるので、XP のつくこの名前で混乱しないこと)。実際のところ、クロスプラットフォームであるので、XPCOM は、他の形の COM より、用途は広いです。</p> +<p>最終的には、mozilla.org にある紹介ドキュメント <a href="ja/XPCOM">XPCOM</a> を読むべきでしょう。ハックを始めるためには、XPCOM は COM のコンセプトを働かすエンジンだということができます。これは、オブジェクト仲介人の役割を演じることも含まれています。</p> +<p>一般に、インタフェースはジョブを行うために使われることのできるオブジェクトを記述します。もし、しなければならないジョブがあるなら、インタフェースで提供される インプリメントをリクエストする必要があります。そのインプリメントは他のコンポーネントの範囲内に属することが出来ます。あなたの望む特定のインプリメントに決定するために、テキストベースの識別子である規約 ID を利用しています。規約 ID は、細部まで定義されたインターフェースを使用することで利用しやすくなる、インプリメントの動作上の契約です。XPCOM ランタイムシステムは、どのクラスが規約 ID でインプリメントされているか、どのコンポーネントがそれを提供しているかを知っています。</p> +<p>たとえ、あなたのコードが単独のコンポーネント内だけのものであり、COM の使用が必要条件ではないとしても、COM はいずれにせよとてもしばしば使われます。一つの理由は柔軟さにあります。他の理由として、JavaScript を利用してインプリメントされた Mozilla のロジックのある部分と機能を共有することを許すためです。Mozilla は実行時にインタプリタ言語の JavaScript と コンパイル言語の C++ の間でコミュニケーション可能とする XPConnect と呼ばれる技術を提供しています。</p> +<p>実行時に COM オブジェクトのインスタンスが必要なときにはいつでも、クラスオブジェクトは作成され、インタフェースのポインタが与えられます。いくつかの理由でこれらのインスタンスが参照をカウントされることが決められました。一つの理由は効率です。そのために、オブジェクトの不要なコピーは省かれるべきです。他の理由は、データオブジェクトはスレッド間で渡されるべきですが、すべてがメモリ上の同じデータオブジェクトに対するポインタを維持するためです。だからです。最後に、同じデータオブジェクトは多数のコンポーネントに参照されたり、多数のリストに貯えられたりすべきだからです。</p> +<p>参照の生存期間は異なるため、どのくらいしばしば現在何かに参照されているという状態であるか覚えておくためには、それぞれのオブジェクトが参照のカウントを保持するのが最も簡単な方法です。オブジェクトから参照されたとき (XPCOM エンジンによる直接参照もしくは、関数呼び出しによって)、リファレンスのカウントのケアを確実にする必要があります。オブジェクトへの参照を維持するかどうかや、参照を終えられるかどうかを教え、参照を削除しなくてはなりません。そのように、オブジェクトはそれがまだ必要とされているかどうかを自分自身で判断することが出来ます。オブジェクトがもう不要なら、自分自身でメモリから削除します。</p> +<p>この一般的な機能を満たすために、インタフェースをインプリメントする Mozilla のすべてのクラスは参照カウント機能と自動破棄機能を備えた nsISupports という共通基礎クラスを共有しています。このような共通基礎クラスは、どんな COM のインプリメントにも存在します。</p> +<p>あなたが割り当てたものは、あなたが掃除 (削除) しなければならない、という一般的なルールがあります。例えば、参照を追加したいとき、もう不要となったときすぐさま参照を解放することを強く促します。そうしなければメモリリークといった問題を引き起こすことになるでしょう。</p> +<p>C++ では、nsISupports 基本クラスのメソッドの明白なメソッド呼び出しによって行われます。しかし、それらのメソッド呼び出しは、忘れやすいだけでなく、コードの可読性も低下させます。特に多くの関数やメソッドは複数の出口を持っているからです (例:return 文など)。</p> +<p>関数やメソッドの出口毎にすべてのオブジェクトへの参照を解放することを確実にしなければなりません。これを楽にするために、解放の呼び出しを繰り返さなくて良いために、一般的な補助クラスは <a href="ja/NsCOMPtr">nsCOMPtr</a> という名前の COM オブジェクトへのポインタを扱うために提供されています。これは XPCOM の特徴の一つで、COM コーディングをより楽にします。これは、特定のオペレータのオーバーライドを通してポインタをシミュレートします。いくつかの例外的ケースがありうるにも関わらず、このような一般的なルールはほとんどすべてのコードで守られています。:ポインタ変数 "interface*" をインタフェースをインプリメントしたオブジェクトとして使うつもりがあるときにはいつでもローカル "nsCOMPtr<interface>" 変数をかわりに使う。このポインタが "スコープ範囲外" となったらすぐに、可能ならデストラクタが自動的に参照カウントを減らします。</p> +<p>インタプリタ言語の JavaScript では、これはコード上で簡単に行えます。それは、ガベージコレクションのためです。可能なときに参照を自動的に減少させる魔法があるのです。しかし、この魔法は循環参照しないことを必要とします。例えば、もし、二つのオブジェクトがあり、お互いへの参照を含んでいても、他のオブジェクトがそれらを参照していないとき、それらのオブジェクトは検出されません。それらのオブジェクトはプログラム実行の残りの間メモリに存在しつづけます。</p> +<h3 id=".E4.BE.8B.E5.A4.96_.2F_nsresult" name=".E4.BE.8B.E5.A4.96_.2F_nsresult">例外 / nsresult</h3> +<p>コード実行が実行時に失敗することもあります。失敗を扱うプログラミングメカニズムが例外 (エクセプション) を用いることです。Mozilla では JavaScript 部分で例外を使っており、C++ 部分では使っていません。以前やったことがスタックの中にあるため、例外はいつでもポータブルというわけではないというのが、そのいくつかの理由のうちの一つです。Mozilla の C++ のコードは戻り値で例外を真似ています。つまり、JavaScript の中では、tyr-catch のブロックを使うことが出来、C++ の中では、インタフェースのメソッドを使う場合はいつでも戻り値を見なくてはなりません。その戻り値は nsresult 型です。このため、IDL ファイルで定義されている論理的な戻り値型は、C++ コードの中の追加のメソッドのパラメータにマッピングされています。</p> +<p>nsresult 型は、失敗理由の付加情報も運ぶことを意図しています。成功か失敗かという単純なレポートの代わりに、整数型を使い、多くの異なったエラーコードを定義することを許しています。</p> +<p>いくつかの戻り値があります。例えば、NS_OK は、何事もうまくいっていて、そのままプログラムを続けることが出来るという場合に使われ、NS_ERROR_FAILURE は、何か異常が発生しているけれども、今のところそれ以上の詳細は必要ないといった場合に使われます。</p> +<p>それに加え、互いのコンポーネントはアプリケーションの他のエリアで使用していない失敗コードを上書きしないエラーコードの定義をするために、独自の範囲の整数をリクエストすることが出来ます。詳細な情報は mozilla/xpcom/base/nsError.h を参照のこと。</p> +<h3 id="C.2B.2B_.E3.81.AB.E3.81.8A.E3.81.91.E3.82.8B.E6.96.87.E5.AD.97.E5.88.97" name="C.2B.2B_.E3.81.AB.E3.81.8A.E3.81.91.E3.82.8B.E6.96.87.E5.AD.97.E5.88.97">C++ における文字列</h3> +<p>多くのアプリケーションやクラスライブラリでは、単なる簡単な string (文字列) クラスを使用することを決めている中で、Mozilla 開発者は、文字列により強力な機能を求めました。実行時の動的な振る舞いを異なったシチュエーションのために最適化することを許すために、いくつかの文字列クラス階層をインプリメントしました。時には文字列のサイズを変更するだけでしょうし、時には、自動的にサイズが大きくなる文字列が必要でしょう。そのため、たとえば、ただの平坦な文字列ではなく、断片化された文字列型も使用可能です。</p> +<p>さらなる要求としては、Mozilla は完全な多言語対応をしなくてはならないということです。ユーザにみせる情報を扱う文字列は、そのためにマルチバイトな Unicode 文字列を使っています。</p> +<p>文字列型はテンプレートに基づき、可変型のような文字列型を伴い、通常文字列と Unicode 文字列を使うのを同じロジックで扱えるようにしています。</p> +<p>多くの文字列クラスを持つというアプローチは多くの柔軟性を意味する一方、欠点としてMozilla の文字列クラスを学ぶのが易しい作業ではなくなる、ということがあります</p> +<h3 id="GUI_.28.E3.82.B0.E3.83.A9.E3.83.95.E3.82.A3.E3.82.AB.E3.83.AB.E3.83.BB.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BB.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9.29_.2F_XUL" name="GUI_.28.E3.82.B0.E3.83.A9.E3.83.95.E3.82.A3.E3.82.AB.E3.83.AB.E3.83.BB.E3.83.A6.E3.83.BC.E3.82.B6.E3.83.BB.E3.82.A4.E3.83.B3.E3.82.BF.E3.83.95.E3.82.A7.E3.83.BC.E3.82.B9.29_.2F_XUL">GUI (グラフィカル・ユーザ・インタフェース) / XUL</h3> +<p>たいていの OS では、GUI を開発するための独自の方法を定義していて、それぞれたいてい異なっています。</p> +<p>Mozilla のようなクロスプラットフォームアプリケーションにとっては、アプリケーションのロジックから OS 依存のロジックを隠すテクノロジーをもつということは、重大なことです。</p> +<p>今までに、多くの C 言語と C++ のライブラリはクロスプラットフォームに書かれてきました。私の知るところによると、それらは Mozilla には使われていません。またしても、独自のグラフィックシステムを作りました。</p> +<p>GUI のレイアウトを定義するとき、二つの可能性のいずれかを共にするかを選ぶことが出来ます。まず、表示させたいそれぞれの UI (ユーザ・インタフェース: user interface) 要素の絶対位置を定義する方法があります。この方法は、実際に多くの GUI ライブラリで選ばれています。しかし、これには欠点があります。エレメントが加わってレイアウトが変わったとき、十分な柔軟性がないことです。それは、すべての要素を新しい位置に計算し直す必要があるからです。それは、どのエレメントが重なっているかなどのフィードバックをいちはやく得るために、よりグラフィカルにしなくてはなりません。しかし、いまだ、UI は異なるメトリクスをもつフォントが使われなくてはならないとき、意図したように見えないかもしれません。このことは、UI が使い物にならないと判断させます。</p> +<p>Mozilla の開発者は、より柔軟性のあるものを求めました。Mozilla はクロスプラットフォームなので、フォントにより注意を払う柔軟性を備えることが必要です。</p> +<p>Mozilla 開発者は、論理的なもので UI のコンテンツがデザインされたところというアプローチを使うことを選びました。現在は UI エディタを使っていません。UI がどうみえるべきかを指示するファイルを書きました。実行時にレイアウトエンジンはどのフォントが利用可能か決定し、UI 詳細に定義されたすべての要求を考慮し、実際の UI を動的に生成します。これは、Web ブラウザが Web ページをどのように表示するかと似ています。</p> +<p>Web は大部分がテキストベースのシステムから多くのプログラムのようなユーザインタフェースをもつとてもグラフィカルで裕福な環境へ移り変わってきました。そのため、Web ブラウザにとって、独自のユーザインタフェースを定義するために Web 言語を使うことはもっとも自然なことです。XUL(extensible user-interface language 拡張ユーザインタフェース言語) と呼ばれる UI 内容の記述のための XML ベースの文法を選びました (XUL についての良いリファレンスとして <a class="external" href="http://www.xulplanet.com/">XULPlanet</a> が利用できます)。</p> +<p>XUL ファイルは、どの要素が UI を構成しているか、どこに要素が現れているかを記述します。XUL 言語は制御に反応してどういう働きがあるかをプログラマが定義することを許す属性を定義します。動的なアプリケーションのふるまいを定義するために、ある場合には特定のユーザインタフェースイベントが発生したときに呼ばれる JavaScript 関数を定義することが出来ます。それらの JavaScript 関数の中では、直接アプリケーションのふるまいを記述するか C++ で定義されたロジックを含む COM オブジェクトの利用可能な他のアプリケーションロジックを呼び出すかすることが出来ます。</p> +<p>UI の論理的表現に加え、人々は UI のかわいらしい見た目を望んだりもします。UI の詳細な特徴を定義するために、例えば特定の UI 要素を表示するのに使われる画像を定義する CSS を使うこともあります。これは、"テーマ"や"スキン"を参照するアプリケーションのための追加の"ルックス"の定義を柔軟にします。Mozilla には、現在 Mozilla 開発者によって活発にメンテナンスされている「クラシック」と「モダン」という2つの「テーマ」が定義されています。Mozilla のための追加のテーマが存在するということは、それだけのバージョンの Mozilla が存在するということです。UI に毎日起こるすべての変化に同期をとりつづけることは、「テーマ」のデザイナにとって大きな仕事です。</p> +<h3 id=".E3.83.93.E3.83.AB.E3.83.89.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.A8.E3.83.84.E3.83.AA.E3.83.BC" name=".E3.83.93.E3.83.AB.E3.83.89.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.A8.E3.83.84.E3.83.AA.E3.83.BC">ビルドシステムとツリー</h3> +<p>現在、Mozilla は主に実行時に必要に応じて動的にロードされた多くの共有ライブラリの集まりのように使われています。COM システムによって、ソースコードの複数の場所を変更した場合でも、再コンパイルする必要があるのはアプリケーションの一部だけで良い場合が多い、という開発環境が可能となっています。これは、とても便利な開発環境です。しかし、これは実行の速度低下を意味します。一方、内部コンポーネントの大部分を静的にリンクした Mozilla バイナリを作ることも可能です。アプリケーションのサイズのため、このリンクステップには多くの時間がかかります。ディストリビューション向けのパッケージを準備するときに、この意味が良くわかるでしょう。</p> +<p>それぞれのコンポーネントはその独自のディレクトリを Mozilla のルートディレクトリの中に持ちます。それはまた、呼び出したモジュールの範囲内でサブのコンポーネントを持つということです。Mozilla をどのようにビルドするか教えるツリーの全体にわたるメイクファイル (Make File) があります。</p> +<p>プラットフォーム依存のコードのほとんどは、ツリーの少しの場所にだけ含まれます。OS と Mozilla の他のコードの間にあるレイヤーはこのコードによってインプリメントされたインタフェースです。ビルドが発生するものの中のプラットフォームを準備するプラットフォーム依存のコードだけがビルドされます。</p> +<p>OS からのメッセージはプラットフォーム依存のコードによって集められています。そして、同じ方法でプラットフォームに独立したコードへ送られます。</p> +<p>Mozilla プロジェクトに関する部品はプラットフォーム依存のレンダリング技術を使って書かれた OS 独立の部品です。</p> +<p>ツリーの範囲内で、public と名づけられたディレクトリはたいていインタフェースのヘッダを含み、src と名づけられたディレクトリはたいていインタフェースのインプリメントやインタフェースのヘッダでないものを含みます。</p> +<p>このプログラムのビルドはこのように大きなプロジェクトに慣れない人をひるませるかもしれません。ビルドには、パワフルなワークステーションで 20 分、古い PC なら 2 時間はかかるでしょう。まず、ソースを入手しなくてはなりません。そして、<a href="ja/Build_Documentation">ビルド資料</a> に含まれるルールを使ってそれをビルドします。ビルドしている間、ヘッダファイルのディレクトリを特に指定する必要がないように、すべてのヘッダファイルは dist/include ディレクトリに移動するでしょう。(集合としては chrome と呼ばれる) XUL 、画像、JavaScript ファイルもすべて chrome ディレクトリ (Mozilla のバイナリを含むディレクトリの子ディレクトリ) にコピーされるでしょう。これらは jar.mn と呼ばれるファイルの中で定義される <a class="external" rel="freelink">chrome://</a> という URL にマッピングされます。Mozilla のリリースバージョンでは、chrome ディレクトリは、.jar ファイルだけが含まれるでしょう。</p> +<p>Mozilla をビルドするというのは、プロセスの一部に過ぎません。もし、開発したければ、<a class="external" href="http://www.cvshome.org/">CVS</a> と呼ばれるプログラムを使ったツリーのメンテナンスをしなくてはなりません。ビルドに失敗した時には、あなたのツリーの中のファイルとレポジトリの中のファイルとの結合が失敗した際に生じた競合を解消しなくてはなりません。また、ツリーをハックするとき、修正したツリーの部分をビルドしなくてはなりません。時折、depending と呼ばれるプロセスを使ってツリー全体を再ビルドしなくてはならないでしょう。ソースファイル間の依存を決定しなくてはならないからです。また、時折、ツリーを再ビルドするでしょう。たいていは、これをしている間、ツリーへの自身の行った変更をメンテナンスしていて、他人の変更と同期をとろうとしているでしょう。</p> +<h3 id=".E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.81.AE.E9.96.8B.E5.A7.8B" name=".E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3.E3.81.AE.E9.96.8B.E5.A7.8B">アプリケーションの開始</h3> +<p>Mozilla の COM システムは、タイプライブラリと、実行可能なコンポーネントの内部レジストリと、インタフェースに頼っています。アプリケーションを開始している間、レジストリが今も最新のものかのチェックが行われます。もし、変更されたライブラリを検知したとき、レジストリは更新されます。それぞれのコンポーネントはそのレジストレーションフェーズの間に初期化を行うことが許されます。もし、変更されたライブラリを検知したとき、それらはロードされ、初期化ロジックが実行されます。変更ライブラリに加え、それらのアプリケーションコンポーネントだけが必要とされたようにロードされます。</p> +<h3 id=".E5.86.85.E9.83.A8.E9.80.9A.E7.9F.A5.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0" name=".E5.86.85.E9.83.A8.E9.80.9A.E7.9F.A5.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0">内部通知システム</h3> +<p>このセクションでは Mozilla 内部で利用可能な機構について記述します。めったにこれは必要になりません。しかし、特定のイベントに対処する必要のある時には、このシステムを知ることが助けとなるでしょう。OOP (オブジェクト指向プログラミング) の考え方は、各々が各々自身の役割を果たすことというものです。しかし、それはしばしば他のコンポーネントがコンポーネント B で起きたあるアクションの引き金を引くとき、コンポーネント A がそれに対応しなくてはなりません。しかし、コードは部分で分離されているほうが好ましいため、B はそれを起こすのに何が必要かの詳細を知るべきではないのです。ここで必要なのは、次のような事です。もし、他のコンポーネントが B のアクションに反応する必要があるのであれば、B はそのアクションに対する引き金が引かれたら通知を送信するように拡張されるべきです。それに加え、B は誰が通知されるのを待っているか覚えているリストを実行時に動的に保持します。実行時に、A が初期化されたとき、A は B に通知リストの対象に加えてほしいと告知します。</p> +<p>これをより一般化するため、中央観察サービス (central observer service) を使うことを決めました。コンポーネント B がアクションの引き金を引いたとき、観察サービスにすぐに通知し、記述的にイベントの名前を明確にします。A のようなコンポーネントは観察サービスに観察したいイベントの名前をもらえるよう申請します。その原則を使用し、観察サービスだけがイベントを見るコンポーネントのリストを扱わなくてはなりません。観察サービスはイベントの通知を受けると、その通知を、そのイベントへのすべてのコンポーネントリストに引き渡します。詳細は nsIObserver を参照のこと。</p> +<h3 id=".E3.83.AD.E3.83.BC.E3.82.AB.E3.83.A9.E3.82.A4.E3.82.BC.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3" name=".E3.83.AD.E3.83.BC.E3.82.AB.E3.83.A9.E3.82.A4.E3.82.BC.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3">ローカライゼーション</h3> +<p>Mozilla は人間の言語からコードを分離するデザインがされています。ユーザに見せる必要があるためにテキスト文字列が必要なときはいつでも JavaScript や C++ ファイルの中に直接文字列を保存することは許されません。かわりに、C++ や JavaScript のコードで使われるテキストのために記述的識別子を定義します。その識別子をキーとして使い、実際のテキストを取り出すための文字列集合インタフェースのメンバーを呼び出します。テキスト自身はテキストだけ格納された分離されたファイルに格納されます。Mozilla はモジュールの集合であるため、多くのファイルがあり、分離されたモジュールにそれぞれ所属します。その分離にともなって、翻訳者がテキストファイルの言語別バージョンを作るのが簡単なのです。</p> +<p>UI を定義するとき、2 種類の文字列があります。ある文字列は、入力フィールドのテキストやヘルプの中にだけ出てくるテキストのようにアプリケーションがコンパイルされ、パッケージ化されたその時に知られるもので、またある文字列は、実行時に動的に組み立てられます。</p> +<p>実行時にアクセスされる必要のないテキストを定義するときはいつでも、DTD ファイルの中に定義してください。XUL ファイルの中でそのテキストを直接参照することが出来ます。</p> +<p>実行時にテキストを伴った動作が必要なとき、例えばテキストが実行時に入力される必要のあるユーザ名のための代替文字列を含むとき、properties ファイルにテキストを定義してください。</p> +<h3 id=".E3.82.B3.E3.83.BC.E3.83.87.E3.82.A3.E3.83.B3.E3.82.B0.E3.81.A8.E3.83.AC.E3.83.93.E3.83.A5.E3.83.BC.E3.81.AE.E3.83.AB.E3.83.BC.E3.83.AB" name=".E3.82.B3.E3.83.BC.E3.83.87.E3.82.A3.E3.83.B3.E3.82.B0.E3.81.A8.E3.83.AC.E3.83.93.E3.83.A5.E3.83.BC.E3.81.AE.E3.83.AB.E3.83.BC.E3.83.AB">コーディングとレビューのルール</h3> +<p>Mozilla ダウンロード、コードの変更、独自の変更を含むバージョンでの作業などがフリーで行えます。</p> +<p>しかし、Mozilla で使われているオープンソースの背後にある一つの考え方に次のようなものがあります。ソースをフリーで入手できるかわりに、ソースに変更を加えたら、コミュニティに何がしかの還元を考えるべきです。そうすることにより、貢献者となるのです。</p> +<p>しかし、Mozilla コミュニティは公開の中央 Mozilla コードに組み込まれるという変更をただ受け入れることは出来ないと決定しました。自分のコードをその中の一部にしたければ、次のようなルールに従わなければなりません。それは法律のようなものではありません。しかし、基本的に、あなたは、あなたの変更が良いものであると他の人々が認めるよう説得しなければなりません。</p> +<p>この考え方は、Mozilla のコードをより正しい状態にするために作られた多くの効果があります。Mozilla のコードはどのソフトウェアの一部と同様に、完璧からはほど遠く、人々は保守性を低下させるものは何でも取り除こうとし、正しいと思われるコードだけを受け入れます。</p> +<p>これを達成するために、Mozilla コミュニティはすべてのコードは他のすでによく知られた Mozilla ハッカーたちに受け入れられる必要があると決めました。ここに2つの段階のレビューがあります。まず、コード変更希望者は、変更したいコードの部分の所有者から最初のレビュー (r=) を受ける必要があります。要求された修正を行うことが期待されます。そうでなければここで終わりです。もし、最初のレビューが終われば、たいていの場合スーパーレビュー (sr=) と呼ばれるレビューを受ける必要があります。限られたメンバーである " Mozilla 導師 " という、どのコードがよく、どこを変更するべきかについての判断が優れていると認められている人々がいます。一度、両方のレビューを受ければ、ほとんどの場合、コードはチェックインされます。ある特定の事例では、他のレベルのレビューがあり、それは別の場所に記述されます。</p> +<p>多くの人々が Mozilla を変えています。みんなが Mozilla をよりよくしようとする一方、どの変更も思いがけない面への影響というリスクがあります。これは、変更の結果、アプリケーションの機能が動かなくなるといったものから、Mozilla ソースコードがコンパイルできなくなるといった単純な問題にまで及びます。後者は、"ツリーが壊れている、燃え上がっている、赤い"と表現され、ここでツリーとは CVS リポジトリの事です。</p> +<p>ある OS とコンパイラの組み合わせの上でだけ開発をしていて、移植性について (Mozilla.org のドキュメント参照のこと) 注意を払っていないとき、ツリーは簡単に壊れてしまいます。ツリーを壊さないためにベストを尽くす必要があり、レビューを受けることで、願わくば、変更点をチェックインするより早く潜在的な問題を発見したいのです。</p> +<p>ツリーが壊れてしまったとき、Mozilla コミュニティは、ツリーが壊れている間ほかのチェックインを許さないというルールを決定します。これは、この問題を修正する人を助けます。ほかの変更を許すことは、新しいチェックインがあたらしい問題を含んでいるかもしれないために、問題のほんとうの原因を見つけることを難しくします。</p> +<h3 id=".E3.83.9E.E3.82.A4.E3.83.AB.E3.82.B9.E3.83.88.E3.83.BC.E3.83.B3" name=".E3.83.9E.E3.82.A4.E3.83.AB.E3.82.B9.E3.83.88.E3.83.BC.E3.83.B3">マイルストーン</h3> +<p>数週間ごとに、Mozilla.org はソースレポジトリの新しいスナップショットを出します。この考え方は、世界の人々が現在のスナップショットを試してみて、彼らの見つけた問題 (バグ) を報告すべきだというものです。しかし、Mozilla.org はそれらのマイルストーンはテスト目的だけのために出されたということを強調したいのです。</p> +<p>より安定したマイルストーンを準備するために、ソースコードレポジトリを変更するためのルールは、新しいマイルストーンを準備する前にはより厳格なものになります。Mozilla.org は、スケジュールを引き、マイルストーン目標日の前の2日間、Mozilla.org の"ドライバ"と呼ばれる人たちに認可されたチェックインだけが許されます。ドライバは、Mozilla レポジトリに関して、最高の権限をもっている人の集団です。ドライバはまた、マイルストーンが準備できているのか、よりマイルストーンを安定させるためにマイルストーンを出すためより多くの修正を許すために日程を遅らせるかどうかも決定します。</p> +<h3 id="Bugzilla" name="Bugzilla">Bugzilla</h3> +<p><a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a> は Mozilla.org の Web ベースのバグ追跡システムです。問題に遭遇したときはいつでも、ユーザは新しいバグ (時には問題に切符を切ることとして知られてもいます) を、よく詳細に何が起こったかとともに申し立てるよう依頼されます。バグが公表されるなり、番号を発給するなりします。この番号は問題について話されるときに使われます。開発者は"バグ"について署名し、コメントします。そして、修正方法を知っていればどのように問題の修正方法を提案するかを見せるために、パッチを添付するでしょう。レビューも、このシステムの内部で進みます。</p> +<p>バグという単語はしばしばソフトウェアのエラーという意味にみなされます。しかし、Bugzilla の内部では、バグは追跡されるべきものとなります。これはソフトウェアのエラーから、機能拡張のリクエストに及びます。例えば、このドキュメントの発展は {{ Bug(123230) }} で追跡されています。</p> +<p>もし、C++ の開発者でないなら、Bugzilla で貢献できます。これは、簡単なバグ報告ツールとして出発し、ほかのプロジェクト (例えば <a class="external" href="http://www.redhat.com/">Redhat</a> のような) まで多くのユーザに使われる機能的な複雑なシステムにすっかり変わりました。</p> +<h3 id="Webtools_.2F_LXR_.2F_Bonsai" name="Webtools_.2F_LXR_.2F_Bonsai">Webtools / LXR / Bonsai</h3> +<p>Webtools は情報を貯えるツールをベースとしたサーバで、その情報を表示されることやときに操作することまで許します。そのシステムには Mozilla のように Web ブラウザを使ってアクセスできます。</p> +<p>Mozilla 開発者は開発を容易にするためにいくつかのツールを作りました。すでにお話した Bugzilla もそうです。</p> +<p><a class="external" href="http://lxr.mozilla.org/">LXR</a> は Mozilla のソースコードのためのハイパーテキスト検索エンジンです。識別子やテキストを調べることが出来、Mozilla の中のどこでそれが使われているかを見られるでしょう。検索結果項目をクリックすることで、直接現在のソースコードが得られます。コードはページに表示され、識別子にはハイパーリンクがはられ、それはクリックすると、その識別子についての LXR 検索結果を得られます。LXR はソースコードを表示し、それを通してすぐにナビゲートするのに使うことが出来ます。これは、Linux プロジェクトの glimpse のエンジンに内部修正を加えたものをベースにしています。</p> +<p><a class="external" href="http://tinderbox.mozilla.org/">Tinderbox</a> はソースコードレポジトリの現在の状況を表示するツールです。Mozilla.org は、多くの異なった OS のために、繰り返し、絶え間なく中央レポジトリから新しいソースコードを手に入れ (チェックアウトし)、コンパイルを試みるマシンをホストしています。コンパイルが終わったとき、プログラムがまだ正しく動作するかをチェックするためのいくつかの自動テストが実行されます。コンパイルとテストの結果は中央の Tinderbox システムにレポートされます。Tinderbox ページにアクセスすると、ソースコードレポジトリが現在いい状態にあるかどうかこの数時間の間にどんな変化があったのかを見ることが出来ます。Tinderbox は縦軸が時間を示し、横軸が OS ごとの状態を示すグラフを表示します。それぞれのコンパイル・テストフェーズはビルドの要求された時間で定義されたバーで表されます。</p> +<p>バーは色付けられています。緑は Good を示します。黄色はコンパイル中であることを示します。オレンジはコンパイルとビルドが終わったけれども自動テストに失敗したことを示します。赤はソースコードのコンパイルが成功していないことを示します。もしツリーが赤になると、開発を停滞させます。</p> +<p>Tinderbox はとても有用なツールで、ソースコードレポジトリに変更を加える人は誰でも、例えば、自分の変更がなにか問題を起こしていないかのような"ツリーを見る" ことを期待できます。</p> +<p>より援助とするため、追加の情報が Tinderbox ページで利用できます。チェックインしたときに、その人の名前がページに現れます。行われた変更の一覧へのリンクがあります。もし、コンパイルかテストが失敗したとき、ボックスはコンパイル失敗理由を示すコンパイラからのアウトプットへのリンクも含みます。ページのいつかのテキストはパフォーマンス測定の結果も示します。</p> +<p>ほかの Web ツールとして、<a class="external" href="http://bonsai.mozilla.org/">Bonsai</a> があります。Bonsai はソースコードレポジトリのすべての変更を追跡します。誰かの行ったすべての変更の一覧を取り出すことが出来ます。Bonsai は変更一覧の問い合わせのための強力なインタフェースも提供します。</p> +<h3 id=".E6.9B.B4.E3.81.AA.E3.82.8B.E6.83.85.E5.A0.B1.E3.82.92.E6.8E.A2.E3.81.99" name=".E6.9B.B4.E3.81.AA.E3.82.8B.E6.83.85.E5.A0.B1.E3.82.92.E6.8E.A2.E3.81.99">更なる情報を探す</h3> +<p>一般的なプログラミング技術について述べられたものについてもっと知りたければ、Web でフリーのドキュメントを捜し求めることを勧めます。うまくいけば、そのドキュメントでの言及が導いてくれるでしょう。もし、本を読むことをより好むなら、一般的な説明を著者が試みている本であって、いくつかの特定の OS に集中していない本を選ぶことを勧めます。</p> +<p>Mozilla に関するたいていのドキュメントは www.mozilla.org の Web サイトに掲載されています。もし、探しているものがなければ、サーチエンジンを使うことを試してみてください。いくつかのポピュラーなサーチエンジンは、特定の Web サイトに限定して検索することのできる上級 (詳細) 検索オプションを提供しています。</p> +<div class="originaldocinfo"> + <h2 id=".E5.8E.9F.E6.96.87.E6.9B.B8.E3.81.AE.E6.83.85.E5.A0.B1" name=".E5.8E.9F.E6.96.87.E6.9B.B8.E3.81.AE.E6.83.85.E5.A0.B1">原文書の情報</h2> + <ul> + <li>著者: Kai Engert</li> + <li>最終更新日: September 24, 2004</li> + <li>著作権: Portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a Creative Commons license | <a class="external" href="http://www.mozilla.org/foundation/licensing/website-content.html">詳細</a></li> + </ul> +</div> +<div class="noinclude"> + </div> diff --git a/files/ja/conflicting/mozilla/firefox/releases/index.html b/files/ja/conflicting/mozilla/firefox/releases/index.html new file mode 100644 index 0000000000..8067ad603e --- /dev/null +++ b/files/ja/conflicting/mozilla/firefox/releases/index.html @@ -0,0 +1,416 @@ +--- +title: リリースノート +slug: Tools/Release_notes +translation_of: Mozilla/Firefox/Releases +translation_of_original: Tools/Release_notes +--- +<div>{{ToolsSidebar}}</div><h2 id="Firefox_52" name="Firefox_52">Firefox 52</h2> + +<ul> + <li><a href="/ja/docs/Tools/Responsive_Design_Mode">UA の選択やネットワークの調整など、レスポンシブデザインモードを全面的に改良しました。</a></li> + <li><a href="/ja/docs/Tools/Debugger">再設計した UI など、新しい JavaScript デバッガーを搭載しました。</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations">アニメーションインスペクターで、タイミング関数を表示するようになりました。</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_grid_layouts">インスペクターに CSS グリッドの強調表示機能を搭載しました。</a></li> + <li><a href="/ja/docs/Tools/about:debugging#Service_worker_state">about:debugging で Service Worker の状態を表示するようになりました。</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#element_rule">インスペクターで、選択した要素を簡単に強調表示できるようになりました。</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Whitespace-only_text_nodes">インスペクターで、ホワイトスペースのみのテキストノードを表示するようになりました。</a></li> +</ul> + +<p><a href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2016-11-14&query_format=advanced&chfield=resolution&chfieldfrom=2016-09-19&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=13333174">Firefox 51 から Firefox 52 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_51" name="Firefox_51">Firefox 51</h2> + +<ul> + <li><a href="/ja/docs/Tools/Network_Monitor#Timings">ネットワークモニターで、ネットワーク要求の "ブロック" 状態を表示するようになりました。</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263768&resolution=FIXED&classification=Client%20Software&chfieldto=2016-09-19&query_format=advanced&chfield=resolution&chfieldfrom=2016-08-01&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 50 から Firefox 51 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_50" name="Firefox_50">Firefox 50</h2> + +<ul> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#Source_maps">ウェブコンソールがソースマップを理解するようになりました。</a></li> + <li><a href="/ja/docs/Tools/Storage_Inspector#IndexedDB">ストレージインスペクターで、IndexedDB のオブジェクトストアからアイテムを削除できるようになりました。</a></li> + <li><a href="/ja/docs/Tools/Memory">メモリーツールをデフォルトで有効化しました。</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/UI_Tour#Computed_view">ボックスモデルビューを計算済みビューに移動しました。</a></li> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#Viewing_network_request_details">ウェブコンソールで、XHR や Fetch() によるネットワークリクエストのスタックトレースを表示します。</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263766&chfield=resolution&chfieldfrom=2016-06-06&chfieldvalue=FIXED&resolution=FIXED&classification=Client%20Software&chfieldto=2016-08-01&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 49 から Firefox 50 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_49" name="Firefox_49">Firefox 49</h2> + +<ul> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#JS">コンソールに記録した JavaScript エラーで、MDN のヘルプページへのリンクを提供します</a>。</li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Further_information_about_animation_compositing">アニメーションインスペクターで、パフォーマンス情報を提供します</a>。</li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_context_menu">インスペクターのコンテキストメニューを再編しました</a>。</li> + <li><a href="/ja/docs/Tools/Network_Monitor#Cause_column">ネットワークインスペクターで、ネットワーク要求の発生源を表示するようになりました</a>。</li> + <li><a href="/ja/docs/Tools/Storage_Inspector#IndexedDB">ストレージインスペクターで、IndexedDB データベースが削除可能になりました</a>。</li> + <li><a href="/ja/docs/Tools/about:debugging#Tabs">about:debugging に、開いているタブをデバッグするための "タブ" ページを追加しました</a>。</li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263762&chfield=resolution&chfieldfrom=2016-04-25&chfieldvalue=FIXED&resolution=FIXED&classification=Client%20Software&chfieldto=2016-06-06&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 48 から Firefox 49 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_48" name="Firefox_48">Firefox 48</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Storage_Inspector#Editing_storage_items">ストレージインスペクターで保存済みのアイテムを編集する</a></li> + <li><a href="/ja/docs/Tools/Memory/Tree_Map_view">メモリーツールのツリーマップビュー</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Reposition_elements_in_the_page">ページ内で要素をドラッグして再配置する</a></li> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#Viewing_network_request_details">ウェブコンソールで HTTP リクエストの詳細を表示する</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Animation_inspector">Web Animations API 向けにアニメーションインスペクターを更新</a></li> + <li><a href="/ja/docs/Tools/Settings#Choose_DevTools_theme">Firebug のテーマ</a></li> + <li><a href="/ja/docs/Tools/DOM_Property_Viewer">DOM プロパティビューワー</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263745&resolution=FIXED&classification=Client%20Software&chfieldto=2016-04-25&query_format=advanced&chfield=resolution&chfieldfrom=2016-03-07&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 47 から Firefox 48 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_47" name="Firefox_47">Firefox 47</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/about:debugging#Workers">登録済みの Service Worker をデバッグ</a></li> + <li><a href="/ja/docs/Tools/Storage_Inspector#Cache_Storage">ストレージインスペクターでキャッシュストレージを表示</a></li> + <li><a href="/ja/docs/Tools/Memory/Dominators_view#Retaining_Paths_panel">ドミネータービューで保持パスを表示</a></li> + <li><a href="/ja/docs/Tools/Browser_Toolbox#Debugging_popups">ブラウザーやアドオンのデバッグを支援するため、パネルが自動的に閉じないようにする</a></li> + <li><a href="/ja/docs/Tools/3D_View">3D ビュー (Tilt) を削除</a></li> + <li><a href="/ja/docs/Tools/Responsive_Design_Mode#Responsive_Design_Mode_controls">レスポンシブデザインモードでカスタムユーザーエージェント文字列を設定</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/UI_Tour#Fonts_view">フォントインスペクターをデフォルトで無効化</a></li> + <li><a href="/ja/docs/Tools/Web_Console/The_command_line_interpreter#Entering_expressions">コンソールが未完了の入力を検出して、複数行入力モードに切り替える</a></li> + <li><a href="/ja/docs/Tools/Contributing/Contribute_on_nightly">Firefox のリビルドなしで開発ツールのハックを可能にする Devtools Reload</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263761&chfield=resolution&chfieldfrom=2016-01-25&chfieldvalue=FIXED&resolution=FIXED&classification=Client%20Software&chfieldto=2016-03-07&query_format=advanced&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 46 から Firefox 47 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_46" name="Firefox_46">Firefox 46</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Memory/Dominators_view">メモリーツールのドミネータービュー</a></li> + <li><a href="/ja/docs/Tools/Performance/Allocations">パフォーマンスツールのメモリー割り当てビュー</a></li> + <li><a href="/ja/docs/Tools/Style_Editor#The_media_sidebar">スタイルエディターで <code>@media</code> 規則の条件をワンクリックで適用</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?list_id=13263754&resolution=FIXED&classification=Client%20Software&chfieldto=2016-01-25&query_format=advanced&chfield=resolution&chfieldfrom=2015-12-14&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20DOM&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Design%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Shared%20Components&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox">Firefox 45 から Firefox 46 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_45" name="Firefox_45">Firefox 45</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Searching">ページインスペクターの全文検索機能</a></li> + <li><a href="/ja/docs/Tools/Memory#Diffing_heap_snapshots">メモリーツールでヒープのスナップショットの差分を表示</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Timeline">ネットワークモニターで DomContentLoaded および load イベントを表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations">アニメーションインスペクターを改良</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&chfield=resolution&chfieldfrom=2015-10-29&chfieldto=2015-12-14&chfieldvalue=FIXED&classification=Client%20Software&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20about%3Adebugging&component=Developer%20Tools%3A%20Animation%20Inspector&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Computed%20Styles%20Inspector&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20CSS%20Rules%20Inspector&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Font%20Inspector&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20JSON%20Viewer&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&resolution=FIXED&list_id=12753878">Firefox 44 から Firefox 45 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_44" name="Firefox_44">Firefox 44</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Memory">メモリーツール</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations">アニメーションインスペクターを改良</a></li> + <li><a href="/ja/docs/Tools/Performance/Waterfall#Markers">タイムラインの新たなマーカー: DomContentLoaded、load、worker メッセージ</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-11-03&query_format=advanced&chfield=resolution&chfieldfrom=2015-09-19&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12582678">Firefox 43 から Firefox 44 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_43" name="Firefox_43">Firefox 43</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Firefox_43">アニメーションインスペクターの新たな UI</a></li> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#Server">ウェブコンソールでサーバー側のログを記録</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Overridden_declarations">CSS 宣言をオーバーライドしたルールをすばやく見つける</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">インスペクターのコンテキストメニュー項目 "コンソールで使う"</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Strict_search">ルールビューで "厳密に" フィルタリング</a></li> + <li><a href="/ja/docs/Tools/Web_Console/Console_messages#Network">コンソールのネットワーク項目にネットワークモニターへのリンクを追加</a></li> + <li><a href="/ja/docs/Tools/WebIDE">WebIDE の新たなサイドバー UI</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-09-19&query_format=advanced&chfield=resolution&chfieldfrom=2015-08-10&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12582678">Firefox 42 から Firefox 43 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_42" name="Firefox_42">Firefox 42</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_over_Wifi">Wi-Fi 経由で Android 版 Firefox のデバッグを行う</a></li> + <li><a href="/ja/docs/Tools/WebIDE/Setting_up_runtimes#Configuring_Simulators">WebIDE で Firefox OS シミュレーターの設定を行う</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Edit_CSS_filters#Saving_filter_presets">CSS filter のプリセット</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-08-10&query_format=advanced&chfield=resolution&chfieldfrom=2015-06-29&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12478437">Firefox 41 から Firefox 42 の間に解決した開発ツール関連のバグ一覧</a>。</p> + +<h2 id="Firefox_41" name="Firefox_41">Firefox 41</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">DOM ノードのスクリーンショットを撮影する</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#CopySave_All_As_HAR">HAR としてコピー/HAR として保存</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Add_rules">ルールビューの "新しいルールを追加" ボタン</a></li> + <li><a href="/ja/docs/Tools/View_source">タブでソースを表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Copy_rules">CSS ルールのコピー方法を追加</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/View_background_images">ルールビューで画像を data: URI としてコピー</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-06-29&query_format=advanced&chfield=resolution&chfieldfrom=2015-05-11&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12283503">Firefox 40 から Firefox 41 の間に解決した開発ツール関連のバグ一覧</a>。特にパフォーマンスツールに関係する、これらのバグ修正の多くは Firefox 40 に反映されました。</p> + +<h2 id="Firefox_40" name="Firefox_40">Firefox 40</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Firefox_40">アニメーションビューを改良</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Get_help_for_CSS_properties">CSS プロパティの構文のヘルプを MDN から取得</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Edit_CSS_filters">インスペクターでフィルターを編集</a></li> + <li><a href="/ja/docs/Tools/Web_Console#console_API_messages">Worker が発したメッセージをウェブコンソールで表示</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Filtering_by_URL">ネットワークモニターで、要求を URL でフィルタリング</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Context_menu">ネットワークモニターで、多くの新たなコンテキストメニュー項目を追加</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Network_request_fields">ネットワークリソースがブラウザーのキャッシュから取得されたことを示す</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Filtering_rules">ページインスペクターで、ルールをフィルタリング</a></li> +</ul> + +<p>さらに:</p> + +<ul> + <li><a href="/ja/docs/Tools/Debugger/How_to/Debug_eval_sources">無名の eval ソース内で、debugger; 構文でブレーク</a></li> + <li><a href="/ja/docs/Tools/Debugger/UI_Tour#Source_list_pane">デバッガーのソースリストペインで、[URL をコピー] および [新しいタブで開く] コンテキストメニュー項目を追加</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Log_messages">ウェブコンソールで console.dirxml をサポート</a></li> + <li><a href="/ja/docs/Tools/Style_Editor#The_style_sheet_pane">スタイルエディターで、スタイルシートリストのコンテキストメニューに "リンクを新しいタブで開く" を追加</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Searching">インスペクターのセレクター検索で、CSS 接頭辞をつけなくても class や id を検索結果に表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_the_box_model#The_Box_Model_view">ボックスモデルビューのツールチップで、どの CSS ルールによって値が決まったかを表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Inspect_and_select_colors">インスペクターで、Shift + クリックで色単位を切り替え</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">インスペクターで、"この要素の位置にスクロール" メニュー項目を実装</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">インスペクターで、url/id/resource 属性をリンクとして扱う</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Network_request_fields">ネットワークモニターで、IP アドレスをツールチップで表示</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-05-11&query_format=advanced&chfield=resolution&chfieldfrom=2015-03-31&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12283503">Firefox 39 から Firefox 40 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_39" name="Firefox_39">Firefox 39</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/WebIDE/Setting_up_runtimes#Connecting_over_WiFi">WebIDE で、Wi-Fi 経由で Firefox OS デバイスのデバッグが可能になりました</a></li> + <li><a href="/ja/docs/Tools/WebIDE/Working_with_Cordova_apps_in_WebIDE">WebIDE で Cordova のプロジェクトをサポートしました</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Firefox_39">アニメーションビューで早戻し、早送り、特定の時間へのジャンプが可能になりました</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Firefox_39">3 次ベジェ曲線エディターにプリセットを 31 個搭載しました</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Drag_and_drop">インスペクターで要素のドラッグ・アンド・ドロップが可能になりました</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Command_history">ウェブコンソールのコマンド履歴が、セッションをまたいで維持されるようになりました</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Helper_commands">コンソールで最後に評価された式の結果を表示する $_ コマンド</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_the_box_model#Firefox_39">インライン要素のボックスモデルのハイライト機能を改善</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&query_based_on=devtools_resolved_week&chfieldto=2015-03-31&chfield=resolution&query_format=advanced&chfieldfrom=2015-02-22&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&known_name=devtools_resolved_week&list_id=12157026">Firefox 38 から Firefox 39 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_38" name="Firefox_38">Firefox 38</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Web_Audio_Editor#Bypassing_nodes">Web Audio Editor でオーディオノードをバイパス</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Helper_commands">ウェブコンソールの "コピー" コマンド</a></li> + <li><a href="/ja/docs/Tools/Web_Console#XHR">ウェブコンソールで XmlHttpRequest をハイライトおよびフィルター</a></li> + <li><a href="/ja/docs/Tools/Debugger/How_to/Examine,_modify,_and_watch_variables">デバッガーで、最適化により削除された変数を確認</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Security">ネットワークモニターでセキュリティの警告を確認</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Network_request_fields">ネットワークモニターで伝送サイズを確認</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations#Animations_view">ページのアニメーションを再生/停止</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-02-23&query_format=advanced&chfield=resolution&chfieldfrom=2015-01-12&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=12076303">Firefox 37 から Firefox 38 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_37" name="Firefox_37">Firefox 37</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Network_Monitor#Security">ネットワークモニターのセキュリティパネル</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Work_with_animations">インスペクターのアニメーションパネル</a></li> + <li><a href="/ja/docs/Tools/WebIDE#Running_a_custom_build_step">WebIDE でカスタムビルドステップの実行をサポート</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2015-01-12&chfield=resolution&query_format=advanced&chfieldfrom=2014-11-28&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=11892733">Firefox 36 から Firefox 37 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_36" name="Firefox_36">Firefox 36</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Debugger/How_to/Debug_eval_sources">eval で評価されるソースをデバッガーで表示</a></li> + <li><a href="/ja/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_with_WebIDE">Android 版 Firefox への接続手順を簡素化</a></li> + <li>リモートでボックスモデルのハイライト表示が動作</li> + <li><a href="/ja/docs/Tools/Performance#Inverting_the_call_tree">プロファイラーの "呼び出しツリーを反転" オプション</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Type-specific_rich_output">コンソールで DOM Promise を調査</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">インスペクターで "貼り付け" 方法を追加</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-11-28&chfield=resolution&query_format=advanced&chfieldfrom=2014-10-13&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&product=Firefox&list_id=11736454">Firefox 35 から Firefox 36 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_35" name="Firefox_35">Firefox 35</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Page_Inspector#.3A.3Abefore_and_.3A.3Aafter">インスペクターで ::before および ::after 疑似要素を確認できるようになりました</a>。</li> + <li><a href="/ja/docs/Tools/Style_Editor#Source_map_support">CSS ソースマップがデフォルトで有効になりました</a>。</li> + <li><a href="/ja/docs/Tools/Page_Inspector#Element_popup_menu_2">インスペクターから "DOM プロパティの表示" が可能になりました</a>。</li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&chfieldto=2014-10-13&chfield=resolution&query_format=advanced&chfieldfrom=2014-09-02&chfieldvalue=FIXED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&component=Simulator&product=Firefox&product=Firefox%20OS&list_id=11184176">Firefox 34 から Firefox 35 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_34" name="Firefox_34">Firefox 34</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Storage_Inspector">Storage Inspector: ウェブページが保存したデータを確認できる新ツール</a></li> + <li><a href="/ja/docs/Tools/Performance">Performance tool: プロファイラーの UI の改良とフレームレートのタイムライン</a></li> + <li><a href="/ja/docs/tools/Working_with_iframes">Frame switching: 開発ツールがページ内の特定の iframe を指すようにする</a></li> + <li><a href="/ja/docs/Web/API/Console.table">console.table をサポート</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Examining_event_listeners">インスペクターで jQuery のイベントの確認が可能</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&chfieldto=2014-09-02&chfield=resolution&query_format=advanced&chfieldfrom=2014-07-21&chfieldvalue=FIXED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Storage%20Inspector&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20Timeline&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20Web%20Audio%20Editor&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&component=Developer%20Tools%3A%20WebIDE&component=Simulator&product=Firefox&product=Firefox%20OS&list_id=11184176">Firefox 33 から Firefox 34 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_33" name="Firefox_33">Firefox 33</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/WebIDE">WebIDE</a>: ウェブアプリの開発やデバッグのための新たな環境</li> + <li>アニメーションの <a href="/ja/docs/Tools/Page_Inspector#Editing_.40keyframes">@keyframes</a> と <a href="/ja/docs/Tools/Page_Inspector#Editing_cubic_B.C3.A9zier_curves">タイミング関数</a> の編集が可能</li> + <li>インスペクターで <a href="/ja/docs/Tools/Page_Inspector#Examining_event_listeners">イベントリスナーの確認が可能</a></li> + <li>スタイルエディターの <a href="/ja/docs/Tools/Style_Editor#The_media_sidebar">サイドバーで @media 規則を表示</a></li> + <li>インスペクターで <a href="/ja/docs/Tools/Page_Inspector#Adding_rules">CSS 規則の新規作成</a> と <a href="/ja/docs/Tools/Page_Inspector#Editing_rules">セレクターの編集</a> が可能</li> + <li><a href="/ja/docs/Tools/GCLI#Commands">開発ツールバーの新コマンド</a>: folder, highlight, inject</li> +</ul> + +<p>さらに:</p> + +<ul> + <li><a href="/ja/docs/Tools/Tools_Toolbox#Advanced_settings">キャッシュを無効化する設定</a> が、開発ツールを開き直した後も継続</li> + <li><a href="/ja/docs/Tools/Page_Inspector#transform_visualisation">transform の視覚化をツールチップではなく、ページ内で表示</a></li> + <li><a href="/ja/docs/Tools/Tools_Toolbox#Editor_Preferences">ソースエディターの設定</a> を開発ツールのオプションに移動</li> + <li>レスポンシブデザインビューで <a href="/ja/docs/Tools/Responsive_Design_View#select-size">ビューポートのサイズを直接編集可能</a></li> + <li>デバッガーで、<a href="/ja/docs/Tools/Debugger#Debugger_settings">拡張子が "min.js" であるソースファイルを自動的にブラックボックス化</a></li> +</ul> + +<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-07-21&chfield=resolution&query_format=advanced&chfieldfrom=2014-06-09&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20App%20Manager&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox">Firefox 32 から Firefox 33 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_32" name="Firefox_32">Firefox 32</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Web_Audio_Editor">Web Audio エディター</a></li> + <li><a href="/ja/docs/Tools/Scratchpad#Code_completion_and_inline_documentation">スクラッチパッドのコード補完とインラインドキュメント</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Rules_view">インスペクターのルールビューでユーザーエージェントのスタイルを表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Firefox_32_onwards_2">要素選択ボタンを移動</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Firefox_32_onwards">インスペクターの情報バーにノードの寸法を追加</a></li> + <li><a href="/ja/docs/Tools/Tools_Toolbox#Extra_tools">ページ全体のスクリーンショットボタンを追加</a></li> +</ul> + +<p>さらに:</p> + +<ul> + <li>ツールに HiDPI 画像を追加</li> + <li>インスペクターで、<code>display:none</code> が設定されているノードを異なる書式で表示</li> +</ul> + +<p><a href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-06-09&chfield=resolution&query_format=advanced&chfieldfrom=2014-04-28&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20App%20Manager&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox">Firefox 31 から Firefox 32 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_31" name="Firefox_31">Firefox 31</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="/ja/docs/Tools/Eyedropper">ウェブページから色を選択するスポイトツール</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Error_messages">コンソールのエラーメッセージでフルスタックトレースを表示</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Box_model_view">ボックスモデルビューで編集が可能</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Styling_messages">コンソールのメッセージにスタイルを設定する %c 書式</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Copy_as_cURL">ネットワークモニターの "cURL としてコピー" コマンド</a></li> + <li><a href="/ja/docs/tools/Keyboard_shortcuts#Source_editor">ソースエディターで Sublime Text のキーバインドをサポート</a></li> +</ul> + +<p>さらに:</p> + +<ul> + <li><a href="/ja/docs/Tools/Network_Monitor#Network_request_list">ネットワークモニターのログを残し続けるオプション</a></li> + <li><a href="/ja/docs/Tools/Web_Console#JavaScript_errors_and_warnings">ウェブコンソールで、JavaScript の警告をデフォルトで表示するように変更</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#HTML_pane_2">Alt + クリックでノードの子孫をすべて表示</a></li> +</ul> + +<p><a href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-04-28&chfield=resolution&query_format=advanced&chfieldfrom=2014-03-17&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20App%20Manager&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox&list_id=10022921">Firefox 30 から Firefox 31 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_30" name="Firefox_30">Firefox 30</h2> + +<p>ハイライト:</p> + +<ul> + <li><a href="https://www.youtube.com/watch?v=y2LcsxE2pR0">インスペクターのアニメーションパネル</a></li> + <li><a href="/ja/docs/Tools/Web_Console#Working_with_iframes">フレーム内で実行する JS をウェブコンソールでサポート</a></li> + <li>ウェブコンソールの表示を改良: コードのハイライト表示、<a href="/ja/docs/Tools/Web_Console#Highlighting_and_inspecting_nodes">ノードのハイライト表示と調査</a></li> + <li>ネットワークモニターのテーマを改良、<a href="/ja/docs/Tools/Network_Monitor#Network_request_fields">画像のサムネイルとプレビュー</a>、<a href="/ja/docs/Tools/Network_Monitor#Preview">HTML のプレビュー</a></li> + <li><a href="/ja/docs/Tools/Browser_Console#Browser_Console_command_line">ブラウザーコンソールの入力領域は、設定から有効化しなければなりません</a></li> + <li><a href="/ja/docs/Tools_Toolbox#Available_Toolbox_Buttons">スクラッチパッドなどのツールのアイコンをデフォルトで非表示に変更</a></li> +</ul> + +<p>さらに:</p> + +<ul> + <li><a href="/ja/docs/Web/API/console.count">console.count()</a> をサポート</li> + <li><a href="/ja/docs/Tools/Web_Console#Keyboard_shortcuts">ウェブコンソールのコマンドラインにフォーカスするための新たなショートカットキー</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#font-family_tooltip">インスペクターの、フォントファミリーのツールチップ</a></li> + <li><a href="/en-US/Firefox_OS/Debugging/Developer_settings#Developer_HUD">Firefox OS HUD</a> 機能: メモリのトラッキングと jank モニター</li> +</ul> + +<p><a href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Client%20Software&chfieldto=2014-03-17&chfield=resolution&query_format=advanced&chfieldfrom=2014-02-03&chfieldvalue=FIXED&bug_status=RESOLVED&bug_status=VERIFIED&component=Developer%20Tools&component=Developer%20Tools%3A%203D%20View&component=Developer%20Tools%3A%20App%20Manager&component=Developer%20Tools%3A%20Canvas%20Debugger&component=Developer%20Tools%3A%20Console&component=Developer%20Tools%3A%20Debugger&component=Developer%20Tools%3A%20Framework&component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&component=Developer%20Tools%3A%20Inspector&component=Developer%20Tools%3A%20Memory&component=Developer%20Tools%3A%20Netmonitor&component=Developer%20Tools%3A%20Object%20Inspector&component=Developer%20Tools%3A%20Profiler&component=Developer%20Tools%3A%20Responsive%20Mode&component=Developer%20Tools%3A%20Scratchpad&component=Developer%20Tools%3A%20Source%20Editor&component=Developer%20Tools%3A%20Style%20Editor&component=Developer%20Tools%3A%20User%20Stories&component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&product=Firefox&list_id=9755315">Firefox 29 から Firefox 30 の間に解決した開発ツール関連のバグ一覧</a></p> + +<h2 id="Firefox_29" name="Firefox_29">Firefox 29</h2> + +<p><a href="https://hacks.mozilla.org/2014/02/css-source-map-support-network-performance-analysis-more-firefox-developer-tools-episode-29/" title="http://www.mozilla.org/en-US/firefox/aurora/">Firefox 29 Hacks ブログの記事</a>。ハイライト:</p> + +<ul> + <li>Light テーマのメジャーアップデートを含む、<a href="/ja/docs/Tools_Toolbox#Choose_DevTools_theme">テーマの改善</a></li> + <li><a href="/ja/docs/Tools/Network_Monitor#Performance_analysis">ネットワークモニターのパフォーマンス分析ツール</a></li> + <li><a href="/ja/docs/Tools/Style_Editor#Source_map_support">CSS ソースマップ</a></li> + <li><a href="/ja/docs/Tools/Page_Inspector#Selecting_elements">インスペクターでノード選択時の動作を変更</a></li> + <li>デバッガーで <a href="/ja/docs/Tools/Debugger#Call_stack_pane">伝統的なコールスタック</a> および <a href="/ja/docs/Tools/Debugger#Highlight_and_inspect_DOM_nodes">ノードの強調および調査</a> 機能を追加</li> + <li><a href="/ja/docs/Tools/Using_the_Source_Editor#See_also">ソースエディターで Emacs および Vim のキーバインドをサポート</a></li> +</ul> + +<h2 id="Firefox_28" name="Firefox_28">Firefox 28</h2> + +<p><a href="https://hacks.mozilla.org/2013/12/split-console-pretty-print-minified-js-and-more-firefox-developer-tools-episode-28/" title="Aurora Hacks post">Firefox 28 Hacks ブログ記事</a>。ハイライト:</p> + +<ul> + <li>アプリマネージャーに <a href="/ja/Firefox_OS/Using_the_App_Manager#マニフェストエディタ">マニフェストエディター</a> を統合</li> + <li>ウェブコンソールと他の開発ツールを並べて使用可能にする、<a href="/ja/docs/Tools/Web_Console#The_split_console">コンソールの常時表示</a> 機能</li> + <li>デバッガの、<a href="/ja/docs/Tools/Debugger#Pretty-print_a_minified_file">ミニファイされた JavaScript を整形する機能</a></li> + <li>インスペクターの、<a href="/ja/docs/Tools/Page_Inspector#Rules_view">カラーピッカーのツールチップ</a></li> + <li>プラットフォームやアドオンのコードをデバッグするための <a href="/ja/docs/Tools/Browser_Toolbox">ブラウザーツールボックス</a></li> +</ul> + +<h2 id="Firefox_27" name="Firefox_27">Firefox 27</h2> + +<p><a href="https://hacks.mozilla.org/2013/11/firefox-developer-tools-episode-27-edit-as-html-codemirror-more/">Firefox 27 Hacks ブログ記事</a>。ハイライト:</p> + +<ul> + <li>WebGL シェーダーの表示や編集が可能な <a href="/ja/docs/Tools/Shader_Editor">シェーダーエディター</a></li> + <li>デバッガーで、リッスンしている <a href="/ja/docs/Tools/Debugger#Break_on_a_DOM_event">DOM イベントでブレーク</a> させるようにする</li> + <li><a href="/ja/docs/Tools/Page_Inspector#Editing_HTML">インスペクター内で HTML を編集</a></li> + <li>インスペクターの <a href="/ja/docs/Tools/Page_Inspector#Rules_view">ルールビュー</a> で、色見本と背景画像を確認</li> + <li>ウェブコンソールが <a href="/ja/docs/Tools/Web_Console#Reflow_events">リフローイベント</a> を記録</li> + <li>多くのツールで、ソースエディターとして CodeMirror を使用</li> +</ul> |