--- title: Firefox 5 for developers slug: Mozilla/Firefox/Releases/5 tags: - Firefox - Firefox 5 - Gecko 5.0 translation_of: Mozilla/Firefox/Releases/5 ---
Firefox 5 は Gecko 5.0 ベースのブラウザで、2011 年 6 月 21 日にリリースされました。このページは Firefox 5 のリリースにあたり、開発者に影響する変更について情報をまとめたものです。
<map> にスキップしてしまう問題が修正されました。詳細は {{ HTMLElement("map") }} 要素のページにある Gecko の実装に関する注意書き をご覧ください。createImageData() メソッドに ImageData オブジェクト指定できるようになりました。このメソッドは指定したオブジェクトと同じ大きさの 新しい ImageData オブジェクトを作成 しますが、すべてのピクセルが透明な黒で描画されます。これは実装されたと書かれていたのですが、そうではありませんでした。addColorStop() メソッドの呼び出しで非有限なカラーストップが指定された際、INDEX_SIZE_ERR が適切に投げられるようになりました (これまでは SYNTAX_ERR が投げられていました)。toDataURL() メソッド実装が修正され、指定した MIME 型をマッチングの前に小文字に変換するようになりました。getImageData() が修正され、canvas の境界を超えた矩形を受け入れるようになりました。canvas 外にあるピクセルは透明な黒として返されます。drawImage() と createImageData() が仕様に準拠し、負の引数を処理するようになりました。この処理は、適切な軸にそって矩形を反転させます。We need an article about CSS sizing and how this works.createImageData() の呼び出しで非有限な値が指定された際、NOT_SUPPORTED_ERR が適切に投げられるようになりました。createImageData() と getImageData() は適切に 1px 相当の ImageData を返すようになりました。createRadialGradient() の半径に負の値を指定した際、INDEX_SIZE_ERR が適切に投げられるようになりました。createPattern() や drawImage() の呼び出しで、画像に null や undefined が指定された際、TYPE_MISMATCH_ERR が適切に投げられるようになりました。globalAlpha に不正な値が指定されても SYNTAX_ERR が投げられないようになりました。このような場合は適切にただ無視されます。translate(), transform(), rect(), clearRect(), fillRect(), strokeRect(), lineTo(), moveTo(), quadraticCurveTo(), arc() に不正な値が指定されても例外が投げられないようになりました。このような場合は適切にただ無視されます。shadowOffsetX, shadowOffsetY, shadowBlur に不正な値が指定された際、それらはただ無視されるようになりました。rotate, scale に不正な値が指定された際、それらはただ無視されるようになりました。-moz- 接頭辞をつければ利用可能です。modify() メソッドが変更され、単語の選択で単語の後にある空白を含まなくなりました。この変更はプラットフォームごとの一貫性を向上させ、また WebKit の挙動とも一致します。XMLHttpRequest が loadend イベントをサポート for progress listeners. このイベントはすべての転送が終了した際 (つまり、abort, error, load イベントの後) に発生します。このイベントを利用すると、転送の成功・失敗に関わらず実行されるタスクを処理できます。slice() メソッドが削除され、代わりに提案中のメソッドに置き換えられました。提案中のメソッドは JavaScript の Array.slice(), String.slice() メソッドにより近いものです。現時点では mozSlice() という名前がつけられています。Accept-Language HTTP ヘッダ の値から決定されるようになりました。Function.prototype.isGenerator() メソッドがサポートされました。個のメソッドによってある関数が generator であるかを調べられます。class, enum, export, extends, import, super はこれまで Strict Mode のみで予約されていましたが、Strict Mode ではない通常のモードでも予約語扱いになりました。length も持ちます。Keep-Alive HTTP ヘッダを送信しないようになります。私たちはこのヘッダを正しく整形していませんでした。また、{{ httpheader("Connection") }} や {{ httpheader("Proxy-Connection") }} ヘッダに "keep-alive" を指定していたため重複しており、意味がなかったのです。Content-Disposition HTTP レスポンスヘッダについて、filename, filename* パラメタがどちらも与えられている場合にそれらをより効果的に処理するようになりました。これは filename が先に与えられている場合でも filename* をまず調べすべての名前を読み取ることで実現しています。これまでは最初にマッチしたパラメタが使われており、後により適切な名前が与えられていた場合でもそれが使われなかったのです。詳細は {{ bug(588781) }} をお読みください。Console オブジェクト に debug() メソッドが導入されました。これは log() のエイリアスで、導入によっていくつかの Web サイトとの互換性が向上します。すでに開発済みのアドオンを Firefox 5 向けにアップデートを行う方法については Firefox 5 へのアドオンのアップデート方法をご覧ください。
Dict.jsmコードモジュールが追加されました。このモジュールはキーと値のペアの辞書に対する API を提供します。asyncFetch() メソッドは今回から{{ interface("nsIInputStream") }} として入力ソースの特定をサポートします。HTMLCanvasElement をご覧ください)。nsIAppStartup2 と {{ interface("nsIAppStartup_MOZILLA_2_0") }} インターフェースは{{ interface("nsIAppStartup") }} インターフェースに統合されました。nsIDocShell_MOZILLA_2_0_BRANCH は {{ interface("nsIDocShell") }} インターフェースに統合されました。nsIFocusManager_MOZILLA_2_0_BRANCH インターフェースは {{ interface("nsIFocusManager") }} インターフェースに統合されました。nsIHTMLEditor_MOZILLA_2_0_BRANCH インターフェースは {{ interface("nsIHTMLEditor") }} インターフェースに統合されました。nsIDOMAnimationEvent が追加されました。 {{domxref("AnimationEvent")}}次にあげるインターフェースはもはや必要がないと判断されました。
nsICiter ({{ bug("633066") }} をご覧ください)nsIDOM3Document ({{ bug("639849") }} をご覧ください。)nsIFIXptrEvaluatornsISelectElement ({{ bug("619996") }} をご覧ください。) DebugOnly<T> ヘルパーはデバッグモードにおけるビルドにおいてのみ変数の定義を可能にしました。jsdouble の値を C の符号付き整数型と符合なし整数型に変換するために JS_DoubleToInt32() と JS_DoubleToUint32() が追加されました。mozconfig ファイルがなくても Firefox をビルドできるようになり、 --enable-application setting が "browser" のデフォルトになりました。コードをダウンロード後、configure && make (or make -f client.mk) を行うだけで Firefox をビルドできます。