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 など) を可能にする、
OffscreenCanvasAPI の実験的な実装を追加しました。この実験的な 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)。XMLHttpRequestAPI を 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