Firefox 40 開発者向けリリースノート
Firefox の最新の開発者向け機能をテストするには、 Firefox Developer Edition をインストールしてください Firefox 40 は、米国時間 2015 年 8 月 11 日にリリースされました。この記事では、ウェブ開発者だけでなく、Firefox や Gecko の開発者やアドオン開発者にとっても有益な主な変更点を紹介します。
ウェブ開発者向けの変更点一覧
>開発者ツール
ハイライト:
- アニメーションビューを改良
- CSS プロパティの構文のヘルプを MDN から取得
- インスペクターでフィルターを編集
- ワーカーが発したメッセージをウェブコンソールで表示
- ネットワークモニタでー、要求を URL でフィルタリング
- ネットワークモニターで、多くの新たなコンテキストメニュー項目を追加
- ネットワークリソースがブラウザーのキャッシュから取得されたことを示す
- ページインスペクターで、ルールをフィルタリング
さらに:
- 無名の eval ソース内で、debugger; 構文でブレーク
- デバッガーのソースリストペインで、Copy URL および Open in New Tab コンテキストメニュー項目を追加
- ウェブコンソールで console.dirxml をサポート
- スタイルエディターで、スタイルシートリストのコンテキストメニューに "Open Link In New Tab" を追加
- インスペクターのセレクター検索で、CSS 接頭辞をつけなくても class や id を検索結果に表示
- ボックスモデルビューのツールチップで、どの CSS ルールによって値が決まったかを表示
- インスペクターで、Shift + クリックで色単位を切り替え
- インスペクターで、"Scroll Into View" メニュー項目を実装
- インスペクターで、url/id/resource 属性をリンクとして扱う
- ネットワークモニターで、IP アドレスをツールチップで表示
CSS
- 接頭辞 (
-moz-) 付きのtext-decoration-color、text-decoration-line、text-decoration-styleを削除しました (Firefox バグ 1097922)。 text-alignプロパティでmatch-parent値をサポートしました (Firefox バグ 645642)。- Quirks モードで
empty-cellsの既定値が、Standard モードと同様にshowになりました (Firefox バグ 1020400)。 <meter>および<progress>要素で使用している標準外の-moz-orientプロパティが、writing-modes の縦書きに対応しました。autoを削除して、inlineおよびblockを追加しました。新たな既定値はinlineです (Firefox バグ 1028716)。font-size-adjustプロパティで、値0はnone(調整を行わない、または値1.0になる) と同じではなく、倍数 (高さが0になるため、表示されない) として扱うように修正しました (Firefox バグ 1144885)。- 縦書きモードで text-overflow が動作しない問題を修正しました (Firefox バグ 1117227)。
HTML
変更なし。
JavaScript
return文の後方にある到達できないコード (セミコロンがない return 文 の後方にある、到達できない式を含む) について、コンソールに警告を表示します (Firefox バグ 1005110、Firefox バグ 1151931)。Symbol.matchを追加しました (Firefox バグ 1054755)。Symbol.matchプロパティが真値であるオブジェクトをString.prototype.startsWith、String.prototype.endsWith、String.prototype.containsに渡すと、TypeErrorが発生するようになりました (Firefox バグ 1054755)。RegExp関数をnewを伴わずにSymbol.matchプロパティが真値であるパターンオブジェクトを使用して呼び出すと、パターンそのものが返るようになりました。また、パターンオブジェクトのconstructorプロパティはRegExp関数に等しくなります (Firefox バグ 1147817)。- JS1.7 の、for-in を使用する標準外の構造分解を廃止しました (Firefox バグ 1083498)。
- 標準外の初期化式は
for...inループにおいて、無視されてコンソールに警告が表示されるようになりました (Firefox バグ 748550 および Firefox バグ 1164741)。 - Unicode コードポイントのエスケープ書式
\u{xxxxxx}をサポートしました (Firefox バグ 320500)。 String.prototype.containsは、String.prototype.includesに置き換えられました。String.prototype.containsはエイリアスとして維持します (Firefox バグ 1102219)。DataViewコンストラクターをnew演算子を伴わない関数として呼び出した場合、ES6 に従ってTypeErrorが発生するようになりました。- Firefox 21 のリグレッションである、
getトラップを持たずに配列から作成した Proxy が正常に動作しない問題を修正しました。Proxyでgetトラップを定義していない場合は、Array.lengthが0を返します。またsetトラップは呼び出されません。この問題の回避策は、必要ない場合でもgetトラップを追加することでした。この問題は解決されました (Firefox バグ 895223)。 - ES2015 仕様に従い、
WeakMap.prototypeおよびWeakSet.prototypeは通常のオブジェクトに変更しました (Firefox バグ 1055473)。
インターフェイス/API/DOM
新規 API
- プッシュ API を、実験的に実装しました (Firefox バグ 1038811)。設定項目
services.push.enabledで制御しており、デフォルトは無効にしています。
ウェブアニメーション API
主に最新の仕様変更に合わせて、ウェブアニメーションの実験的な実装を改良しました。
AnimationPlayer.currentTimeが設定可能になりました (Firefox バグ 1072037)。Elementで使用できるAnimatable.getAnimationPlayers()を、Element.getAnimations()に改名しました (Firefox バグ 1145246)。AnimationおよびAnimationEffectを、新たに作成したKeyframeEffectReadOnlyに統合しました (Firefox バグ 1153734)。AnimationPlayerをAnimationに改名しました (Firefox バグ 1154615)。AnimationTimelineは抽象クラスになり、DocumentTimelineが唯一の実装になりました (Firefox バグ 1152171)。
CSSOM
- CSS Font Loading API を、Nightly および Developer Edition ではデフォルトで有効にしました (Firefox バグ 1088437)。Beta および Release では、引き続き無効です。
CSSCharsetRuleインターフェイスを削除しました。このオブジェクトは CSSOM で使用できなくなりました (Firefox バグ 1148694)。これは仕様書 (最近の変更) および Chrome の動作に合致します。
WebRTC
- WebRTC の
negotiationneededイベントは、再ネゴシエーション時だけでなく初期ネゴシエーション時にも送るようになりました (Firefox バグ 1149838)。
DOM & HTML DOM
- 最新の仕様書の要求に従い、
srcsetをパースできないときにHTMLImageElement.currentSrcメソッドはnullではなく""を返すようになりました (Firefox バグ 1139560)。 - 画像と同様に、Firefox は非表示の
<iframe>に対してWindow.requestAnimationFrame()を抑制するようになりました (Firefox バグ 1145439)。 Navigator.taintEnabledはウェブワーカーで使用できなくなりました (Firefox バグ 1154878)。
ウェブオーディオ API
ウェブオーディオ API の新たな拡張です。
AudioContext.state、AudioContext.onstatechangeプロパティとAudioContext.suspend()、AudioContext.resume()、AudioContext.close()メソッドを実装しました (Firefox バグ 1094764)。AudioBufferSourceNodeにAudioBufferSourceNode.detunek-rate 属性を実装しました (Firefox バグ 1153783)。
ウェブワーカー
- サービスワーカー API を少々改良しました。
update()メソッドを、ServiceWorkerGlobalScopeからServiceWorkerRegistrationに移動しました (Firefox バグ 1131350)。 ServiceWorkerRegistrationをウェブワーカーで使用できるようになりました (Firefox バグ 1131327)。DataStoreをウェブワーカーで使用できるようになりました (Firefox バグ 916196)。
IndexedDB
IDBTransactionは、デフォルトで永続的ではなくなりました (Firefox バグ 1112702)。これは信頼性よりパフォーマンスを重視するものであり、また他のブラウザーの動作に合致します。詳しくは durability の定義をご覧ください。
開発者ツール
console.timeStamp()プロパティを追加しました (Firefox バグ 922221)。
MathML
変更なし。
SVG
変更なし。
Audio/Video
変更なし。
ネットワーク
変更なし。
セキュリティ
- CSP でアスタリスク (
*) を使用した場合に、data:、blob:、:filesystemの各スキーマは提供元のマッチング対象に含まれなくなりました。これらのスキーマを CSP でマッチさせるには、関連するヘッダーで明示的に定義しなければなりません (Firefox バグ 1086999)。
アドオン開発者と Mozilla 開発者向けの変更点
>XUL
- 透過したトップレベル window を生成することができなくなりました (Firefox バグ 1162649)。
JavaScript コードモジュール
- Dict.jsm を削除しました (Firefox バグ 1123309)。代わりに
Mapを使用してください。
XPCOM
nsIClassInfo.implementationLanguage属性を、nsClassInfo::GetImplementationLanguage()関数とともに削除しました。- 以下の XPCOM インターフェイスを削除しました。代わりに標準 HTML インターフェイスを使用してください。
nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement
その他
- Keywords API は非推奨になりました。まもなく削除します (Firefox バグ 1140395)。
- 自動テストシステムで、個体テスト関数のスキップをサポートしました。running conditional tests の XPCShell testing をご覧ください。