---
title: Firefox 40 for developers
slug: Mozilla/Firefox/Releases/40
tags:
- Firefox
- Releases
translation_of: Mozilla/Firefox/Releases/40
---
Firefox 40 は、米国時間 2015 年 8 月 11 日にリリースされました。このページでは、開発者に影響する Firefox 40 の変更点をまとめています。
Web 開発者向けの変更点一覧
ハイライト:
さらに:
Firefox 39 から Firefox 40 の間に解決した開発ツール関連のバグ一覧
CSS
- 接頭辞 (
-moz-
) 付きの {{cssxref("text-decoration-color")}}、{{cssxref("text-decoration-line")}}、{{cssxref("text-decoration-style")}} を削除しました ({{bug(1097922)}})。
- {{cssxref("text-align")}} プロパティで
match-parent
値をサポートしました ({{bug(645642)}})。
- Quirks モードで {{cssxref("empty-cells")}} の既定値が、Standard モードと同様に
show
になりました ({{bug(1020400)}})。
- {{HTMLElement('meter')}} および {{HTMLElement('progress')}} 要素で使用している非標準の {{cssxref("-moz-orient")}} プロパティが、writing-modes の縦書きに対応しました。
auto
を削除して、inline
および block
を追加しました。新たな既定値は inline
です ({{bug(1028716)}})。
- {{cssxref("font-size-adjust")}} プロパティで、値
0
は none
(調整を行わない、または値 1.0
になる) と同じではなく、倍数 (高さが 0
になるため、表示されない) として扱うように修正しました ({{bug(1144885)}})。
- 縦書きモードで text-overflow が動作しない問題を修正しました ({{bug(1117227)}})。
HTML
変更なし。
JavaScript
- {{jsxref("Statements/return", "return")}} 文の後方にある到達できないコード ({{jsxref("Statements/return", "セミコロンがない return 文", "#Automatic_semicolon_insertion", 1)}} の後方にある、到達できない式を含む) について、コンソールに警告を表示します ({{bug(1005110)}}、{{bug(1151931)}})。
- {{jsxref("Symbol.match")}} を追加しました ({{bug(1054755)}})。
- {{jsxref("Symbol.match")}} プロパティが {{Glossary("truthy")}} な値であるオブジェクトを {{jsxref("String.prototype.startsWith")}}、{{jsxref("String.prototype.endsWith")}}、{{jsxref("String.prototype.contains")}} に渡すと、{{jsxref("TypeError")}} が発生するようになりました ({{bug(1054755)}})。
- {{jsxref("Symbol.match")}} プロパティが {{Glossary("truthy")}} な値であるパターンオブジェクトを使用して {{jsxref("Operators/new", "new")}} を伴わずに {{jsxref("RegExp")}} 関数を呼び出すと、パターンそのものが返るようになりました。また、パターンオブジェクトの
constructor
プロパティは {{jsxref("RegExp")}} 関数に等しくなります ({{bug(1147817)}})。
- JS1.7の、for-in を使用する非標準の分割代入を廃止しました ({{bug(1083498)}})。
- for...in ループで、非標準の初期化式を無視してコンソールに警告を表示するようになりました ({{bug(748550)}} および {{bug(1164741)}})。
- Unicode コードポイントのエスケープ書式
\u{xxxxxx}
をサポートしました ({{bug(320500)}})。
- {{jsxref("String.prototype.includes", "String.prototype.contains", "#String.prototype.contains")}} は、{{jsxref("String.prototype.includes")}} に置き換えられました。
String.prototype.contains
はエイリアスとして維持します ({{bug(1102219)}})。
- {{jsxref("Operators/new", "new")}} 演算子を伴わない関数として {{jsxref("DataView")}} コンストラクタを呼び出した場合、ES6 に従って {{jsxref("TypeError")}} が発生するようになりました。
- Firefox 21 のリグレッションである、
get
トラップを持たずに配列から作成した Proxy が正常に動作しない問題を修正しました。{{jsxref("Proxy")}} で get
トラップを定義していない場合は、{{jsxref("Array.length")}} が 0
を返します。また set
トラップは呼び出されません。この問題の回避策は、必要ない場合でも get
トラップを追加することでした。この問題は解決されました ({{bug(895223)}})。
- ES6 仕様に従い、{{jsxref("WeakMap.prototype")}} および {{jsxref("WeakSet.prototype")}} は通常のオブジェクトに変更しました ({{bug(1055473)}})。
インターフェイス/API/DOM
新規 API
- Push API を、実験的に実装しました ({{bug(1038811)}})。設定項目
services.push.enabled
で制御しており、デフォルトは無効にしています。
Web Animations API
主に最新の仕様変更に合わせて、Web Animations の実験的な実装を改良しました:
- {{domxref("AnimationPlayer.currentTime")}} が設定可能になりました ({{bug(1072037)}})。
- {{domxref("Element")}} で使用できる
Animatable.getAnimationPlayers()
を、{{domxref("Element.getAnimations()")}} に改名しました ({{bug(1145246)}})。
Animation
および AnimationEffect
を、新たに作成した {{domxref("KeyframeEffectReadOnly")}} に統合しました ({{bug(1153734)}})。
AnimationPlayer
を {{domxref("Animation")}} に改名しました ({{bug(1154615)}})。
- {{domxref("AnimationTimeline")}} は、{{domxref("DocumentTimeline")}} を唯一実装する抽象クラスになりました ({{bug(1152171)}})。
CSSOM
- CSS Font Loading API を、Nightly および Developer Edition ではデフォルトで有効にしました ({{bug(1088437)}})。Beta および Release では、引き続き無効です。
CSSCharsetRule
インターフェイスを削除しました。このオブジェクトは CSSOM で使用できなくなりました ({{bug(1148694)}})。これは仕様書 (最近の変更) および Chrome の動作に合致します。
WebRTC
- WebRTC の {{event("negotiationneeded")}} イベントは、再ネゴシエーション時だけでなく初期ネゴシエーション時にも送るようになりました ({{bug(1149838)}})。
DOM & HTML DOM
- 最新の仕様書の要求に従い、{{htmlattrxref("srcset", "image")}} をパースできないときに {{domxref("HTMLImageElement.currentSrc")}} メソッドは
null
ではなく ""
を返すようになりました ({{bug(1139560)}})。
- 画像と同様に、Firefox は非表示の {{HTMLElement("iframe")}} に対して {{domxref("Window.requestAnimationFrame()")}} を抑制するようになりました ({{bug(1145439)}})。
- {{domxref("Navigator.taintEnabled")}} は Web workers で使用できなくなりました ({{bug(1154878)}})。
Web Audio API
Web Audio API の新たな拡張:
- {{domxref("AudioContext.state")}}、{{domxref("AudioContext.onstatechange")}} プロパティと {{domxref("AudioContext.suspend()")}}、{{domxref("AudioContext.resume()")}}、{{domxref("AudioContext.close()")}} メソッドを実装しました ({{bug(1094764)}})。
- {{domxref("AudioBufferSourceNode")}} に {{domxref("AudioBufferSourceNode.detune")}} k-rate 属性を実装しました ({{bug(1153783)}})。
Web Workers
- Service Worker API を少々改良しました。{{domxref("ServiceWorkerRegistration.update()", "update()")}} メソッドを、{{domxref("ServiceWorkerGlobalScope")}} から {{domxref("ServiceWorkerRegistration")}} に移動しました ({{bug(1131350)}})。
- {{domxref("ServiceWorkerRegistration")}} を Web workers で使用できます ({{bug("1131327")}})。
- {{domxref("DataStore")}} を Web workers で使用できます ({{bug(916196)}})。
IndexedDB
- {{domxref("IDBTransaction")}} は、デフォルトで永続的ではなくなりました ({{bug(1112702)}})。これは信頼性よりパフォーマンスを重視するものであり、また他のブラウザの動作に合致します。詳しくは durability の定義をご覧ください。
- {{domxref("Console.timeStamp")}} プロパティを追加しました ({{bug(922221)}})。
MathML
変更なし。
SVG
変更なし。
Audio/Video
変更なし。
ネットワーク
変更なし。
セキュリティ
- {{Glossary("CSP")}} でアスタリスク (
*
) を使用した場合に、data:
、blob:
、:filesystem
の各スキーマは提供元のマッチング対象に含まれなくなりました。これらのスキーマを CSP でマッチさせるには、関連するヘッダで明示的に定義しなければなりません ({{bug(1086999)}})。
アドオン開発者と Mozilla 開発者向けの変更点
XUL
- 透過したトップレベル window を生成することができなくなりました ({{bug(1162649)}})。
JavaScript コードモジュール
- Dict.jsm を削除しました ({{bug(1123309)}})。代わりに {{jsxref("Map")}} を使用してください。
XPCOM
nsClassInfo::GetImplementationLanguage()
関数とともに nsIClassInfo.implementationLanguage
属性を削除しました。
- 以下の XPCOM インターフェイスを削除しました。代わりに標準 HTML インターフェイスを使用してください:
nsIDOMHTMLBRElement
nsIDOMDivElement
nsIDOMHTMLHeadingElement
nsIDOMHTMLTableCaptionElement
nsIDOMHTMLTableElement
nsIDOMHTMLTitleElement
その他
- Keywords API は非推奨になりました。まもなく削除します ({{bug(1140395)}})。
- 自動テストシステムで、個体テスト関数のスキップをサポートしました。{{SectionOnPage("/en-US/docs/Mozilla/QA/Writing_xpcshell-based_unit_tests", "Conditional test functions")}} をご覧ください。
関連情報
過去のバージョン
{{Firefox_for_developers('39')}}