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