Firefox 29 for developers
=========================

Gecko 29 を搭載した Firefox 29 は、米国時間 2014 年 4 月 29 日にリリースされました。このページでは、開発者に影響する Firefox 29 の変更点をまとめています。

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

### 開発者ツール

主な変更点:

* Web コンソールを大きく改善しました。Array の内容はクリックして調査ツールを起動しなくてもインラインで表示する、window オブジェクトで自身の URL を表示するなどです。
* Web Worker に console API を追加しました (Firefox バグ 620935)。Web Worker から Web コンソールへのログ出力が可能になりました。
* ネットワークモニタが、円グラフを使用してパフォーマンス統計を表示するようになりました (Firefox バグ 846601)。
* インスペクタで、CSS transform のプレビューツールチップが使用可能になりました (Firefox バグ 726427)。
* デバッガやコンソールでみられる DOM 要素は、変数リストの右側に新設したボタンを使用して直接削除または調査することが可能になりました。
* CSS ソースマップをスタイルエディタでサポートしました (Firefox バグ 926014)。
* CSS プロパティおよび値のオートコンプリート機能をスタイルエディタに追加しました (Firefox バグ 717369)。

*詳細および他の小規模な変更点については Mozilla Hacks ブログの記事をご覧ください。*

### CSS

* CSS variables を実装しました (Firefox バグ 773296)。この件に関する Mozilla Hacks の記事はこちらです。これは Release ビルド以外でのみデフォルトで有効です (Release ビルドで使用したい場合は設定項目 `layout.css.variables.enabled` を `true` に変更してください)。
* Flexbox で `visibility``: collapse` をサポートしました (Firefox バグ 783470)。
* `box-sizing` プロパティの接頭辞を外しました (Firefox バグ 243412)。
* 何かがアニメーションするであろうというヒントを与える、`will-change` プロパティを追加しました。有効化するには設定項目 `layout.css.will-change.enabled` を `true` に変更しなければなりません。(Firefox バグ 940842)
* `3e1` や `10e+0` といった指数表記を `<number>` 値でサポートしました (Firefox バグ 964529)。
* `<gradient>` タイプの画像を `border-image` でサポートしました (Firefox バグ 709587)。
* `touch-action` プロパティを実装しました。デフォルトでは無効であり、設定項目 `layout.css.touch_action.enabled` で制御します。(Firefox バグ 795567)
* <pre> 要素用の冗長なデフォルトスタイルを quirk.css から削除しました (Firefox バグ 948914)。
* CSS Variables のフォールバックを正しく実装しました (基本的な循環参照) (Firefox バグ 950497)。
* 宣言の優先度の後にトークンがある @supports の条件が、false に評価されるようになりました (Firefox バグ 909170)。
### HTML

* `<input type=color>` および `<input type=number>` がデフォルトで有効になりました。
* 非標準である `<pre cols>` のサポート、および `<pre wrap>` のレイアウト効果を廃止しました。これらの効果は CSS で実現可能であり、また実現すべきです。(Firefox バグ 949879)
### JavaScript

* ECMAScript 6 の String の新たなメソッドである `String.prototype.codePointAt()` および `String.prototype.fromCodePoint()` を実装しました (Firefox バグ 918879)。
* ECMAScript Internationalization API (ECMA-402) を実装しました。また、デスクトップ版 Firefox ではデフォルトで有効にしました (Firefox バグ 853301):
    + `Intl` オブジェクトネームスペースの新たなオブジェクト:
        - `Intl.Collator`
        - `Intl.DateTimeFormat`
        - `Intl.NumberFormat`
    + 以下の `String`、`Number`、`Date` のメソッドを、ECMA-402 により引数 `locales` および `options` を持つように更新しました:
        - `String.prototype.localeCompare()`
        - `Number.prototype.toLocaleString()`
        - `Date.prototype.toLocaleString()`
        - `Date.prototype.toLocaleDateString()`
        - `Date.prototype.toLocaleTimeString()`
* 更新された ECMAScript6 仕様草案に準拠するため、`Map` オブジェクトおよび `Set` オブジェクトがキーと値の同一性を確認するときは、`-0` と `+0` を同一として扱うようになりました。
* `Promise` をデフォルトで有効にしました (Firefox バグ 918806)。
* 完了した Generator は例外を発生させるのではなく `IteratorResult` を返すようになりました (Firefox バグ 958951)。
### インターフェイス/API/DOM

* 新たな種類の Worker である `SharedWorker` をデフォルトで有効にしました (Firefox バグ 924089)。
* `URLUtils` インターフェイスが、`URLSearchParams` オブジェクトを返す `searchParams` プロパティをサポートしました。URL の検索パラメータを変更できます (Firefox バグ 887836)。`URLSearchParams` コンストラクタにより、文字列のパースや検索が容易になります。
* `Worker.onLine` プロパティをサポートしました。Worker のオンライン/オフライン状況を知ることができます (Firefox バグ 925437)。
* Web Components の実装の一環として、`HTMLShadowElement` インターフェイスを設定項目 `dom.webcomponents.enabled` のもとに実装しました。使用したい場合は値を `true` に変更してください。(Firefox バグ 887538)
* 読み取り専用の `HTMLIFrameElement.sandbox` プロパティの型は `string` ではなく `HTMLSettableToken` になりました (Firefox バグ 845057)。
* `HTMLCanvasElement.getContext()` で、値 `moz-webgl` のサポートを廃止しました。標準化された値 `webgl` を使用してください (Firefox バグ 913597)。
* `ImageData` のコンストラクタを追加しました。このインターフェイスは `Worker` で使用できます。(Firefox バグ 959958)
* `location.origin` が Worker で使用可能になりました (Firefox バグ 964148)。
* `ValidityState.badInput` プロパティを実装しました (Firefox バグ 827161)。
* 非推奨である `Window.pkcs11` プロパティを削除しました。これは Firefox 3.0.14 から `null` を返していました。(Firefox バグ 964964)
* `Node.cloneNode()` メソッドおよび `Document.importNode()` メソッドは論理値の引数 `deep` をとります。これまでの引数を省略すると、メソッドは `deep` が `true` である場合の動作になりました。しかし最新の仕様により動作が変更され、省略した場合は値が `false` であるように動作します。(Firefox バグ 937461)
* `Window._content` は Web content で使用できなくなりました (Firefox バグ 946564)。
* `URLUtils.port` の動作を若干変更しました。`''` を与えるとプロトコルに関連付けられたデフォルトのポートが設定されます。また `0` を与えると `0` が設定されます。(Firefox バグ 930450)
* `Document.referrer` は incumbent script に基づくようになりました (Firefox バグ 887928)。
* Gamepad API をデフォルトで有効にしました (Firefox バグ 878828)。
### MathML

*変更なし。*

### SVG

*変更なし。*

セキュリティ
------

* CSP 1.1 の試験的なディレクティブ `hash-source` を実装しました。この機能を有効にするには、設定項目 `security.csp.experimentalEnabled` を `true` に設定してください (Firefox バグ 883975)。
アドオン開発者と Mozilla 開発者向けの変更点
--------------------------

* Australis and add-on compatibility - Firefox のユーザインターフェイスに関与する拡張機能のほとんどに影響する、Firefox テーマの主要な変更点です。
* `nsISecurityCheckedComponent` を削除しました (Firefox バグ 794943)。利用者のほとんどは、インターフェイスの定義から nsISecurityCheckedComponent を単純に削除してかまいません。これで動作し続けるでしょう。

Australis 以外の変更点は未定です。

関連情報
----

* Firefox 29 リリースノート
### 過去のバージョン

* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers
* Firefox 16 for developers
* Firefox 15 for developers
* Firefox 14 for developers
* Firefox 13 for developers
* Firefox 12 for developers
* Firefox 11 for developers
* 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