Firefox 11 for developers
=========================

Firefox 11 は米国時間 2012 年 3 月 13 日にリリースされました。この記事は Web 開発者とアドオン開発者向けに、今回のリリースにおける新機能と修正された重要なバグについての情報とより詳細なドキュメントへのリンクをまとめています。

Web 開発者向けの変更点一覧
---------------

### HTML

* `<audio>` 要素と `<video>` 要素に、`muted` 属性と `loop` 属性が実装されました。
### DOM

* HTML の要素で `element.outerHTML` プロパティがサポートされました。
* `XMLHttpRequest` が HTML のパース処理をサポートしました。
* 同期リクエストの実行時における、`XMLHttpRequest` `responseType` および `withCredentials` 属性の使用のサポートを削除しました。属性の使用を試みると、`NS_ERROR_DOM_INVALID_ACCESS_ERR` 例外が発生します。この変更は、W3C へ標準化の提案が行われました。
* バイブレーションをサポートするデバイスでバイブレーションを行う `window.navigator.mozVibrate()` をサポートしました。Gecko では `mozVibrate()` として実装しています。
* `window.navigator.mozApps` は、Open Web Applications のインストールや管理に用いることができる `Apps` オブジェクトを返します。
* `MozBeforePaint` イベントは発生しなくなりました。`mozRequestAnimationFrame()` でこのイベントを使用している場合は、代わりにコールバック関数を渡してください。
* アニメーションフレームの要求をキャンセルする機能をサポートしました。`window.mozRequestAnimationFrame()` はリクエスト ID を返すようになり、要求をキャンセルするにはこの値を `window.mozCancelAnimationFrame()` に渡します。
* DOM4 仕様書で導入されたいくつかの `Event` コンストラクタ (`Event`、HTML イベント、 `UIEvent`、`MouseEvent`) がサポートされました。
* `Battery API` がデフォルトで有効になりました。
* `HTMLMediaElement` (en-US) で、`defaultMuted` (en-US)、`loop` (en-US)、`muted` (en-US) の各プロパティがサポートされました。
* ある要素で `element.mozRequestFullScreen()` (en-US) メソッドを呼び出したときに別の要素がすでにフルスクリーンモードであった場合は、`document.mozCancelFullScreen()` (en-US) を呼び出すときに、前にフルスクリーンモードであった要素を復元するようになりました。
* `window.mozRequestAnimationFrame()` メソッドは引数がない形式をサポートしなくなりました。このような形式はあまり使用されておらず、また標準化される見込みもありません。
* 画像としての SVG が、canvas を汚染せずに canvas 内へ描画できるようになりました。
* `GeoPositionAddress`インタフェースの非標準プロパティである `countryCode` を削除しました。`nsIDOMGeoPositionAddress` をご覧ください。
* Server-sent events が CORS をサポートしました。
* 従来、ユーザがリンクをたどると `window.navigator` オブジェクトでセットしている値は新しいページが保持していました。これが、新しいページ用に新たな `navigator` オブジェクトを作成するようになりました。これにより、Firefox は他のブラウザと同様に動作します。
### CSS

* `text-size-adjust` (en-US) プロパティがサポートされました。
* CSS3 Conditional Rules のサポートが向上しました: @media、@-moz-document に入れ子構文を追加できます (CSS Syntax および CSS at-rules をご覧ください)。
### SVG

* `SVGSVGElement` (en-US) DOM インタフェースが `getElementById` メソッドをサポートしました。
### WebSocket

* WebSocket API がバイナリ形式のメッセージをサポートしました (Firefox バグ 676439 を参照)。
* プロトコルおよび API が最新のドラフト仕様に更新され、また API から接頭辞が除去されました (Firefox バグ 666349 および Firefox バグ 695635 を参照)。
* 以前 Firefox では WebSockets で送受信するメッセージのサイズが 16 MB に制限されていましたが、この制限を 2 GB に引き上げました (メモリ容量の制限で大きなデータを扱えない場合もありますが、Firefox は 2 GB までサポートします)。
### IndexedDB

* IDBFactory.cmp() (en-US) がサポートされました。
* IndexedDB のキー (en-US) のタイプは、以下のいずれかにすることができます: (String や Integer だけでなく) Date、Arrays、Float。
### Network

* Firefox 8 で変更した、RFC 2231 および RFC 5987 でダブルクォートを区切り文字として利用できなくした点は、Outlook Web Access など一部のサイトで異常が発生するために取り消しました。
* HTTP ヘッダのユーザエージェント文字列に、携帯電話やタブレット上の Firefox がアクセスしているかをサーバが知ることができる識別子を含むようになりました。
### 開発ツール

* システムが WebGL をサポートしている場合は、ページ調査ツール で 3D ビュー を提供します。
* 新しいツールである スタイルエディタ は、リアルタイムな CSS スタイルシートの変更や作成を自由自在に行う機能を提供します。
* ソース表示機能 が従来の HTML パーサーに代わり新しい HTML5 パーサーを使用するようになりました。
Mozilla 開発者とアドオン開発者向けの変更点
-------------------------

### JavaScript code modules

#### NetUtil.jsm

* `readInputStreamToString()` へ新たに、入力ストリームを読み取る際のキャラクタセットの解釈を設定するための、省略可能なパラメータが追加されました。

#### 新しい JavaScript code modules

`source-editor.jsm`

アドオンで利用可能な、便利で使いやすいソースコードエディタを提供します。これは スクラッチパッド など Firefox に統合している開発ツールで使用しているものと同じです。

### インタフェースの変更

* `mozIAsyncHistory` インタフェースに、ある URI が訪問済みであるかを確認するためのメソッド `mozIAsyncHistory.isURIVisited` が追加されました。
* `mozIAsyncHistory.isURIVisited` でコールバックハンドリング機能を提供するため、新たに `mozIVisitStatusCallback` インタフェースを追加しました。
* `nsIMacDockSupport` インタフェースが新属性 `badgeText` を用いて、Dock のアプリケーションアイコンへのテキスト追加をサポートしました。
* `nsINavHistoryResultObserver` インタフェースでは、非推奨になった `containerOpened()` および `containerClosed()` メソッドに代わり `nsINavHistoryResultObserver.containerStateChanged` を実装することが必要です。

#### 削除されたインタフェース

以下のインタフェースは、不要になったため削除されました:

* `nsICharsetResolver`
* `nsIDOMNSElement`、詳しくは bug707576 をご覧いただき、代わりに `nsIDOMElement` を使用してください。
### テーマに関する変更

* `omni.jar` ファイルは名前を `omni.ja` に変更しました。
### 設定項目の変更

`ui.tooltipDelay`

マウスカーソルを載せてからツールチップが表示されるまでの遅延をミリ秒単位で指定します。

### ビルドシステムの変更

* `--enable-tracejit` ビルドオプションを削除しました。
### その他の変更

* 長く更新されていないアドオンは、デフォルトで互換性があると判断しないようになりました。現時点では、`maxVersion` が 4.0 を示しているアドオンです。
参考
--

* Firefox 10 for developers
* Firefox 9 for developers
* Firefox 8 for developers
* Firefox 7 for developers
* Firefox 6 for developers
* Firefox 5 for developers
* Firefox 4 for developers
* Firefox 3.6 for developers
* Firefox 3.5 for developers
* Firefox 3 for developers
* Firefox 2 for developers
* Firefox 1.5 for developers