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