Firefox 42 for developers
Firefox の最新の開発者向け機能をテストするには、 Firefox Developer Edition をインストールしてください Firefox 42 は、米国時間 2015 年 11 月 3 日にリリースされました。この記事では、ウェブ開発者だけでなく、 Firefox や Gecko の開発者やアドオン開発者にとっても有益な主な変更点を紹介します。
ウェブ開発者向けの変更点一覧
開発者ツール
ハイライト:
- Wi-Fi 経由で Android 版 Firefox のデバッグを行う
- WebIDE で Firefox OS シミュレーターの設定を行う
- CSS filter のプリセット
CSS
- rtl 表記の文字で、
writing-mode
の縦書きをサポートしました (バグ 1131451)。 caption-side
の値はテーブルに対して相対的になり、またwriting-mode
の値に従って実際の意味が変わります (バグ 1202993)。-moz-margin-start
などの非標準プロパティが、対になる標準プロパティ (margin-inline-start
など) のエイリアスになりました。以前は逆になっていました。これはCSSStyleDeclaration.cssText
が返す値やスタイルルール内のプロパティに対するイテレーションに対して影響があり、どちらも標準的な形式を使用します (バグ 1118103)。- 接頭辞付きの CSS グラデーションは、設定項目
layout.css.prefixes.gradients
をfalse
にすることで無効化できるようになりました。 float
とマージンの相殺の動作に関する古くからのバグを、いくつか修正しました (バグ 478834, バグ 538194, and バグ 451791)。
HTML
<img>
(バグ 1166910)、<iframe>
(バグ 1175736)、<a>
および<area>
(バグ 1174913) 要素のreferrer
属性を実験的にサポートしました。network.http.enablePerElementReferrer
の既定値がfalse
であるため、デフォルトでは効力がありません。
JavaScript
Reflect
オブジェクトを実装しました (バグ 987514)。Proxy
handler.ownKeys()
トラップの実装を、ES2015 の確定仕様に準拠するよう更新しました (バグ 1049662)。new
を伴わずにMap
、Set
、WeakMap
を呼び出すとTypeError
が発生するようになりました (バグ 1083752)。
インターフェイス/API/DOM
DOM & HTML DOM
id
を伴う画像が、Window
インターフェイスのプロパティのリストに入らないようになりました。<img id="login">
はwindow.login
としてアクセスできません。この動作は Firefox 26 で導入しており、その後変更された仕様書に合致させるために削除しました (バグ 959992)。MouseEvent.offsetX
およびMouseEvent.offsetY
を追加しました (バグ 69787)。HTMLInputElement
インターフェイスを、ディレクトリのアップロードを扱うよう実験的に拡張しました (バグ 1164310)。以下 4 つのメンバーは、設定項目dom.input.dirpicker
をtrue
に設定すると使用できます。Directory
インターフェイスを実験的に拡張しました (バグ 1177688)。Directory.path
およびDirectory.getContents
の 2 つのメンバーは、設定項目dom.input.dirpicker
をtrue
に設定すると使用できます。HTMLMediaElement.mozSrcObject
をHTMLMediaElement.srcObject
に改名しました (バグ 1175523)。
Service Worker
Request.context
を削除しました (バグ 1188062)。- デスクトップ版 Firefox でプッシュ API をデフォルトで有効にしました (バグ 1153499) が、Nightly/Dev Edition/Beta チャンネルのみで有効です。コンシューマーの UX およびデバッグ機能が適切に実装されるまで、Release チャンネルではデフォルトで無効化しています (バグ 1207875)。なお、
about:config
の設定項目dom.push.enabled
で有効化できます。 PushManager.hasPermission()
(en-US) メソッドが仕様書で非推奨になり、PushManager.permissionState()
メソッドに置き換えられました。Firefox でこれを反映するように、実装を更新しました (バグ 1183853)。- Notifications API で、Service Worker に関する追加実装を行いました (バグ 1114554)。ただし、Release 版では無効化しています。
ウェブアニメーション API
ウェブアニメーション API の実験的な実装で、サポート範囲が広がりました:
AnimationPlayer.playbackRate
(en-US) プロパティ (バグ 1127380)。CSSAnimation
(en-US) andCSSTransition
(en-US) インターフェイス (バグ 1178186)。Animation.reverse()
(en-US) メソッド (バグ 1150808)。AnimationPlaybackEvent
(en-US) インターフェイスを実装して、Animation
でcancel
(en-US) およびfinish
(en-US) イベントが発生するようになりました (バグ 1178664)。
Web Components
シャドウ DOM の実験的な実装を変更しました。
ShadowRoot
でNode.cloneNode()
を実行しようとすると、DataCloneError
例外が発生します (バグ 1176757)。ShadowRoot
を引数としてDocument.importNode()
を実行すると、NotSupportedError
のDOMException
が発生します (バグ 1177914)。ShadowRoot
を引数としてDocument.adoptNode()
を実行すると、HierarchyRequestError
のDOMException
が発生します (バグ 1177991)。
WebGL
- WebGL2 の
WebGLTransformFeedback
(en-US) を実装しました (バグ 1048724)。 - WebGL2 のコンテキストを得るため、
HTMLCanvasElement.getContext()
(en-US) は以前のexperimental-webgl2
に代わりwebgl2
を使用するようになりました (バグ 1187174)。
WebRTC
RTCPeerConnection.createOffer()
(en-US) のオプションデータ型であるRTCOfferOptions
が、より仕様に近くなるように更新されました。他の変更点としては、voiceActivityDetection
オプションを提供するRTCOfferAnswerOptions
辞書をベースにしたことです。RTCAnswerOptions
辞書が追加されました。これは、createAnswer()
(en-US) のoptions
引数に使用される型です。RTCICECandidatePairStats.mozPriority
をRTCICECandidatePairStats.priority
(en-US) に改名しました (バグ 1184426)。
新規 API
ImageBitmap
(en-US) インターフェイスおよびcreateImageBitmap()
メソッドを実装しました。これらは通常の window スクリプトおよびウェブワーカーで有効であり、window やワーカーのコンテキスト間で効率よく画像を渡すことができます (バグ 1044102)。
その他
IDBCursorWithValue
インターフェイスがウェブワーカーで使用可能になりました (バグ 1188115)。- ウェブワーカーが発したエラーイベントがバブリングしないようになりました (バグ 1188141)。
- Media Source Extensions (MSE) がホワイトリストに記載されたサイトだけでなく、すべての Web サイトで有効になりました (バグ 1185611)。
- 非標準かつ非推奨である
Window.mozRequestAnimationFrame()
を削除しました (バグ 909154)。代わりに、標準のWindow.requestAnimationFrame()
を使用してください。 - 音声合成 (text-to-speech) を Windows 向けのデスクトップ版 Firefox に実装しました。ただし、
about:config
のmedia.webspeech.synth.enabled
フラグで無効化しています (バグ 1003457)。詳しくはウェブ音声 API をご覧ください。
MathML
変更なし。
SVG
変更なし。
Audio/Video
変更なし。
HTTP
- Firefox 41 まで、HTTP/2 レスポンスに含まれる未定義または無効な疑似ヘッダフィールドを、誤って受け入れていました。これが修正され、Firefox 42 より受け入れる疑似ヘッダフィールドは仕様書に従い :status のみになります。独自のフィールドを含むレスポンスヘッダは、異常なものであると判断します (バグ 1136727)。
ネットワーク
- CSP の
upgrade-insecure-requests
ディレクティブを実装しました (バグ 1139297)。
セキュリティ
- 有効期間が 39 か月を超える EV 証明書は、DV 証明書として判断および取り扱われるようになりました (バグ 1145679)。
アドオン開発者と Mozilla 開発者向けの変更点
インターフェイス
nsIContentPolicy
- Gecko 内部やアドオンのコードがさまざまなタイプの要求をより区別できるようにするため、
TYPE_EMBED
定数をnsIContentPolicy
に追加しました。以前はこのような場合に、TYPE_OBJECT
を使用していました (バグ 1148030)。 - 同様に、
TYPE_SUBDOCUMENT
定数をTYPE_FRAME
およびTYPE_IFRAME
に分割しました (バグ 1148044)。
XUL
変更なし。
JavaScript コードモジュール
変更なし。
XPCOM
変更なし。
その他
変更なし。
過去のバージョン
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- 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