Firefox 44 for developers
Firefox の最新の開発者向け機能を試すには、 Firefox Developer Edition をインストールしてください。Firefox 44 は、米国時間 2016 年 1 月 26 日にリリースされました。この記事では、ウェブ開発者だけでなく、 Firefox や Gecko の開発者、アドオン開発者にとっても有用な主な変更点を挙げています。
ウェブ開発者向けの変更点一覧
開発者ツール
HTML
<link rel="prefetch">
が、crossorigin
属性に従うようになりました (Firefox バグ 1214819)。
CSS
-
position: fixed;
が、常に新たな重ね合わせコンテキストを生成するようになりました (Firefox バグ 1179288)。 -
unicode-range
の対応を、既定で有効にしました (Firefox バグ 1119062)。 -
CSS 書字方向の実験的な実装を更新して、最新の仕様を反映しました。
text-orientation
プロパティの値sideways
を実装して、sideways-right
をこの値の別名にしました (Firefox バグ 1193488)。sideways-rl
およびsideways-lr
の値をwriting-mode
プロパティに実装しました (Firefox バグ 1193488 および Firefox バグ 1193519)。
-
非標準のプロパティ
-moz-math-display
および-moz-window-shadow
は、ウェブコンテンツで使用できなくなりました (Firefox バグ 1207002、Firefox バグ 1211040、Firefox バグ 1212607)。 -
font-style
で、oblique
とitalic
の両方を使用できる場合は、両者を区別するようになりました (Firefox バグ 543715)。 -
未対応であるにもかかわらず
marks
、orphans
、page
、size
、widows
の各プロパティがパースされ、@supports
で誤って対応済みであると報告していました。この問題を修正してパースしないように、また対応済みとしないようになりました (Firefox バグ 1215702)。 -
内部で使用する値
-moz-mac-unified-toolbar
を、appearance
プロパティで使用できる値から外しました (Firefox バグ 1206468)。 -
いくつかの
-webkit
接頭辞付きプロパティおよび値を、ウェブ互換性のために対応しました。設定項目layout.css.prefixes.webkit
で制御しており、既定値はfalse
です (Firefox バグ 837211)。-webkit-animation
-webkit-animation-delay
-webkit-animation-direction
-webkit-animation-duration
-webkit-animation-fill-mode
-webkit-animation-iteration-count
-webkit-animation-name
-webkit-animation-play-state
-webkit-animation-timing-function
-webkit-text-size-adjust
-webkit-transform
-webkit-transform-origin
-webkit-transform-style
-webkit-transition
-webkit-transition-delay
-webkit-transition-duration
-webkit-transition-property
-webkit-transition-timing-function
-webkit-border-radius
-webkit-border-top-left-radius
-webkit-border-top-right-radius
-webkit-border-bottom-left-radius
-webkit-border-bottom-right-radius
-webkit-appearance
-webkit-background-clip
-webkit-background-origin
-webkit-background-size
-webkit-border-image
-webkit-box-shadow
-webkit-box-sizing
-webkit-user-select
-webkit-linear-gradient()
Firefox バグ 1210575-webkit-radial-gradient"()
Firefox バグ 1210575-webkit-repeating-linear-gradient()
Firefox バグ 1210575-webkit-repeating-radial-gradient()
Firefox バグ 1210575
JavaScript
新規 API
Symbol.toPrimitive
、Symbol.prototype[@@toPrimitive]
、Date.prototype[@@toPrimitive]
を実装しました (Firefox バグ 1054756)。
変更点
- グローバルレベルにおける
let
およびconst
のバインディングを、ES2015 に準拠させました。Firefox バグ 589199 およびブログ記事 "Breaking changes in let and const in Firefox Nightly 44" をご覧ください。また、let
が既定でウェブ JavaScript (厳格モードおよび非厳格モード)で使用できるようになり、バージョンのオプトインが不要になりました (Firefox バグ 932517)。 - 型付き配列 (
Int8Array
やArrayBuffer
など) のコンストラクターをnew
演算子をつけずに関数として呼び出した場合に、ES6 仕様に従ってTypeError
が発生するようになりました (Firefox バグ 980945、Firefox バグ 1214936)。 RegExp
のスティッキーフラグが、ES2015 標準の anchored sticky regular expressions に従うようになりました (Firefox バグ 773687)。- JavaScript シェル (SpiderMonkey の REPL) の既定 JS バージョンが、ウェブ互換の JS バージョンになりました (JS1.7 以降ではありません) (Firefox バグ 1192329)。
廃止
- 非標準の
let
ブロックを廃止しました (Firefox バグ 1167029)。 - 非標準かつ非推奨である
Object.prototype.__noSuchMethod__
プロパティを削除しました (Firefox バグ 683218)。
インターフェイス/API/DOM
DOM & HTML DOM
- 既存のサイトとの互換性を確保するため、
Document.charset
をDocument.characterSet
の別名として実装しました (Firefox バグ 647621)。 - ウェブページから Sherlock プラグインをインストールすることを可能にする
window.sidebar.addSearchEngine()
メソッドの対応を廃止して、ウェブコンソールに警告を出力するようになりました (Firefox バグ 862148)。 - 望まないポップアップに対抗するため、対話がないページでは
beforeunload
イベントで要求されたプロンプトを表示しないようになりました (Firefox バグ 636905)。 - 非推奨メソッド
MessageEvent.initMessageEvent()
を、後方互換性のために再実装しました (Firefox バグ 949376)。 - 廃止した
DocumentType.internalSubset
プロパティを削除しました (Firefox バグ 801545)。 - 既存のサイトとの互換性を確保するため
Window.orientation
プロパティ、Window.onorientationchange
プロパティおよびorientationchange
イベントを実装しました (Firefox バグ 920734)。 - 明示的に全画面表示を要求した
<iframe>
は、暗黙的に全画面表示が解除されないようになりました (Firefox バグ 1187801)。 - イベント
mouseover
,mouseout
,mouseenter
,mouseleave
,pointermove
,pointerover
,pointerout
,pointerenter
,pointerleave
が、無効化したフォーム要素で発生するようになりました (Firefox バグ 218093)。 - 相互運用性を高めるため、
Element.webkitMatchesSelector()
メソッドを追加しました (Firefox バグ 1216193)。 - 仕様書に合致させるため、
Document.createAttribute()
は入力内容を小文字に変換するようになりました (Firefox バグ 1176313)。 Window.open()
の非標準機能であるdialog
はウェブコンテンツで使用できなくなりました。拡張機能や chrome 特権を持つコードでは引き続き使用可能です (Firefox バグ 1095236)。
Canvas
-
OffscreenCanvas
API の実験的な実装を追加し、レンダリングコンテキスト (WebGL など) がウェブワーカー内で実行することができるようになりました。この実験的な API を使用するには、about:config でgfx.offscreencanvas.enabled
をtrue
に設定してください (Firefox バグ 709490)。この API に含まれるものは以下のとおりです。OffscreenCanvas
インターフェイスHTMLCanvasElement.transferControlToOffscreen()
WebGLRenderingContext.commit()
- この API を有効にすると、いくつかの WebGL インターフェイスもワーカーで使用可能になりました。
WebGL
- Uniform Buffer Objects を実装しました (Firefox バグ 1048747)。
IndexedDB
IDBIndex.getAll()
およびIDBIndex.getAllKeys()
、それに反対側のIDBObjectStore
を既定で有効にしました (Firefox バグ 1196841)。
サービスワーカー
ServiceWorkerMessageEvent
およびExtendableMessageEvent
インターフェイスを実装しました (Firefox バグ 1143717 および Firefox バグ 1207068)。Headers
オブジェクトが組イテレーターに対応しました。すなわち、Headers.entries()
,Headers.keys()
,Headers.values()
の各メソッドが利用できるようになりました。Symbol.iterator
も既定のイテレーターを返すようになりました (Firefox バグ 1108181)。XMLHttpRequest
API がサービスワーカーで無効化されました (Firefox バグ 931243)。FetchEvent
インターフェイスがExtendableEvent
を継承するようになり、ExtendableEvent.waitUntil()
メソッドにアクセスできるようになりました (Firefox バグ 1214772)。- 仕様書の最新の変更に従い、
FetchEvent.client
が削除されました (Firefox バグ 1218135)。 - 最新の仕様書に一致するように、
ServiceWorkerContainer.onreloadpage
が削除されました。 (Firefox バグ 1218139). onbeforeevicted
およびonevicted
イベントハンドラーは、仕様書に準拠していなかったので削除されました。将来的に再導入される予定ですが、削除することで期待通りの機能検出が可能になります (Firefox バグ 1218142)。FetchEvent()
コンストラクターで、isReload
が options 辞書に存在しなかった場合の既定値がfalse
になりました (Firefox バグ 1216401)。Client.frameType
プロパティが正しいインターフェイスに実装されました。以前はWindowClient
にありました (Firefox バグ 1218146)。- AppCache がページをオフラインに対応させるために使用された場合、コンソールに警告メッセージを表示し、開発者にサービスワーカーを使用するよう助言するようになりました (Firefox バグ 1204581)。
- Gecko で、サービスワーカーが既定で有効化されました。
WebRTC
-
WebRTC インターフェイスの接頭辞が外されました (Firefox バグ 1155923)。具体的には、
mozRTCPeerConnection
がRTCPeerConnection
になりました。mozRTCIceCandidate
がRTCIceCandidate
になりました。mozRTCSessionDescription
がRTCSessionDescription
になりました。
-
RTCDataChannel.bufferedAmountLowThreshold
プロパティおよびbufferedamountlow
イベントを実装しました (Firefox バグ 1178091)。 -
RTCPeerConnection.canTrickleIceCandidates
属性を追加して、非標準メソッドRTCPeerConnection.updateIce()
を削除しました (Firefox バグ 1209744)。 -
MediaStream
インターフェイスでMediaStream.addTrack()
およびMediaStream.removeTrack()
メソッドに対応しました (Firefox バグ 1103188)。 -
MediaStream()
コンストラクターを実装しました (Firefox バグ 1070216)。 -
RTCOfferOptions
の、非標準である制約的なオプションリストの対応を廃止しました。
新規 API
- Workers での Canvas API を実験的に実装しました。
OfflineCanvas
およびHTMLCanvasElement.transferControlToOffscreen()
が使用できます。設定項目gfx.offscreencanvas.enabled
で制御しており、現在は既定で無効化しています (Firefox バグ 709490)。 - Web Speech API の一部である Text2Speech API で、OS X のバックエンドに対応しました。ただし、既定で無効化しています (Firefox バグ 1003452)。
その他
URLSearchParams
オブジェクトで組イテレーターに対応しました。URLSearchParams.entries()
、URLSearchParams.keys()
、URLSearchParams.values()
の各メソッドを使用できます。またSymbol.iterator
は、既定のイテレーターを返すようになりました (Firefox バグ 1085284)。FormData
オブジェクトで組イテレーターに対応しました。FormData.entries()
、FormData.keys
、FormData.values()
の各メソッドを使用できます。またSymbol.iterator
は、既定のイテレーターを返すようになりました (Firefox バグ 1127703)。XMLHttpRequest.send()
を HTML 文書で使用したとき、application/xml
に代わりtext/html
を使用するようになりました (Firefox バグ 918771)。- 音声合成 (text-to-speech) を Mac および Linux 向けのデスクトップ版 Firefox に実装しました。ただし、
about:config
のmedia.webspeech.synth.enabled
フラグで無効化しています (Firefox バグ 1003452、Firefox バグ 1003464)。詳しくは Web Speech API をご覧ください。 <frame>
または<object>
の内部にある要素は、全画面表示できないようになりました (Firefox バグ 1212299)。- WOFF フォントのサニタイズ処理を、少々強化しました。誤りがあるフォントをより多く拒否するようになりましたが、 Firefox 46 でやや緩和しました (Firefox バグ 1193050 および Firefox バグ 1244693)。
MathML
変更なし。
SVG
変更なし。
Audio/Video
変更なし。
HTTP
- Brotli アルゴリズムに対応しました。また、
Accept-Encoding
およびContent-Encoding
ヘッダーで値br
に対応しました (Firefox バグ 366559 および Firefox バグ 1211916)。 - 改行 (
'/n'
) を含む HTTP/2 ヘッダーについて、HTTP/1 とは異なり仕様書で許可されていないため、誤って対応していた箇所を削除しました (Firefox バグ 1197847)。
ネットワーク
変更なし。
セキュリティ
- Beta および Release 版のブラウザーでも、RC4 が既定で無効になりました (Firefox バグ 1201025)。また、ホワイトリストが既定で空になりました (Firefox バグ 1215796)。
アドオン開発者と Mozilla 開発者向けの変更点
インターフェイス
変更なし。
XUL
変更なし。
JavaScript コードモジュール
- Sqlite.jsm で
LIKE
に対応しました (Firefox バグ 1188760)。 - Snackbars.jsm モジュールを Android 版 Firefox に追加しました (Firefox バグ 1215026)。
XPCOM
nsIDOMWindow
インターフェイスが空になりました。存在していたアイテムは使用されない、他のインターフェイスに移転、あるいは C++ に限り使用するものになりました。C++ コードから利用できるアイテムは、nsPIDOMWindow インターフェイスに存在しています (Firefox バグ 1216401)。
その他
- Firefox 44 での大幅な変更 (bug 1202902) により、cfx でパックしたアドオンが動作しなくなります。再びアドオンが互換性を持つようにするために、jpm を使用してください。 cfx から jpm に移行する手順はこちらに記載しています。
過去のバージョン
- Firefox 43 for developers
- Firefox 42 for developers
- 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