Firefox 38 for developers
Firefox 38 は、米国時間 2015 年 5 月 12 日にリリースされました。この記事では、ウェブ開発者だけでなく、Firefox や Gecko の開発者、アドオン開発者にとっても有用な主な変更点を挙げています。
ウェブ開発者向けの変更点一覧
開発者ツール
CSS
ruby-position
およびruby-align
に対応して、既定で有効にしました (Firefox バグ 1055676、Firefox バグ 1123917、Firefox バグ 1039006)。- カスタム要素向けに
:unresolved
擬似クラスを実装しました (Firefox バグ 1111633)。 - 定義済みスタイル
ethiopic-numeric
の接尾辞は最近の仕様書の変更に合わせて、ドットに代わり空白文字を使用するようになりました (Firefox バグ 1120721)。 - インライン要素とブロック要素の両方に分けて生成した Generated Content (
::before
や::after
による) の CSS Transitions が、仕様書で要求されているとおりに動作するようになりました (Firefox バグ 1110277)。 - CSS 論理的プロパティの実装が大きく前進しました。
layout.css.vertical-text.enabled
フラグの設定 (既定値はfalse
) により、以下のプロパティを使用できます。- 書字方向に依存しない
width
およびheight
:block-size
およびinline-size
(Firefox バグ 1117983)。 - 書字方向に依存しない
min-width
およびmin-height
:min-block-size
およびmin-inline-size
(Firefox バグ 1117983)。 - 書字方向に依存しない
max-width
およびmax-height
:max-block-size
およびmax-block-size
(Firefox バグ 1117983)。 - 書字方向に依存しない
margin-top
、margin-right
、margin-bottom
、margin-left
:margin-block-start
、margin-block-end
、margin-inline-start
、margin-inline-end
(Firefox バグ 649142)。 - 書字方向に依存しない
padding-top
、padding-right
、padding-bottom
、padding-left
:padding-block-start
、padding-block-end
、padding-inline-start
、padding-inline-end
(Firefox バグ 649142)。 - 書字方向に依存しない
border-top
、border-right
、border-bottom
、border-left
および幅、スタイル、色の個別指定プロパティ:border-block-start
、border-block-start-width
、border-block-start-style
、border-block-start-color
、border-block-end
、border-block-end-width
、border-block-end-style
、border-block-end-color
、border-inline-start
、border-inline-start-width
、border-inline-start-style
、border-inline-start-color
、border-inline-end
、border-inline-end-width
、border-inline-end-style
、border-inline-end-color
(Firefox バグ 649142)。 - 書字方向に依存しない
top
、right
、bottom
、left
:inset-block-start
、offset-block-end
、offset-inline-start
、offset-inline-end
(Firefox バグ 1120283)。
- 書字方向に依存しない
- ブラウザー間で相互運用性がある動作を目指して、 CSS トランジションの始まり方を、最近の仕様変更に合致するよう変更しました (Firefox バグ 960465)。
HTML
<label>
要素でイベントターゲットとラベルの間にインタラクティブコンテンツがある場合は、イベントをターゲット要素に発行しないようになりました (Firefox バグ 229925)。<picture>
要素を既定で有効にしました (Firefox バグ 1017875)。- コンテキストメニューや中クリックによるナビゲーションで、
<meta name="referrer">
に対応しました (Firefox バグ 1113431)。
JavaScript
Generator.prototype.return()
を実装しました (Firefox バグ 1115868)。- セッターが残余引数を持っている場合に
SyntaxError
が発生するようになりました (Firefox バグ 1089632)。 - 関数の
name
プロパティが構成可能になりました (Firefox バグ 1084019)。 Array
のメソッドのいくつかを、型付き配列 にも実装しました。of()
メソッドとfrom()
メソッド (Firefox バグ 896608)。forEach()
メソッド (Firefox バグ 1107645)。filter()
メソッドとmap()
メソッド (Firefox バグ 1121936)。slice()
メソッド (Firefox バグ 1121935)。
- 残余引数を使用する場合は、引数名の重複が不可になりました (Firefox バグ 1096376)。
- アロー関数を使用する場合は、引数名の重複が不可になりました (Firefox バグ 1096377)。
- 簡潔なメソッド定義では、引数名の重複が不可になりました (Firefox バグ 1096378)。
Map
/Set
/WeakMap
コンストラクターをnew
なしで呼び出すと、警告が発生するようになりました (Firefox バグ 1108930)。WeakMap
オブジェクトのget
、has
、delete
メソッドは、引数key
がオブジェクトではない場合に、例外が発生しないようになりました (Firefox バグ 1127827)。WeakMap.prototype.get()
メソッドの、省略可能な非標準の引数fallback
を削除しました (Firefox バグ 1127827)。- Generator メソッド を定義するとき、"
set
" および "get
" は有効な名前として扱うようになりました (Firefox バグ 1073809)。 - 正規表現が存在しないとき、
RegExp.prototype.source
は空文字列に代わり "(?:)" を返すようになりました (Firefox バグ 1130798)。 RegExp.prototype.source
およびRegExp.prototype.toString()
は、正規表現のパターンを適切にエスケープするようになりました (例えば、行末の "\n") (Firefox バグ 1130860)。Regexp
のglobal
、ignoreCase
、multiline
、sticky
プロパティは、RegExp
インスタンスのデータのプロパティから、プロトタイプのアクセサープロパティに変わりました (Firefox バグ 1120169)。RegExp.prototype.source
プロパティが、RegExp
のインスタンス自体のデータプロパティから、プロトタイプのアクセサープロパティに変わりました (Firefox バグ 1120169)。Firefox バグ 1150297 のため、Release 以外のバージョンに限り使用できます。Function.prototype.toString()
は、Proxy
オブジェクトに対して例外が発生するようになりました (Firefox バグ 1100936)。
インターフェイス/API/DOM
- Fetch API の
fetch()
メソッドを実装しました (Firefox バグ 1039846)。 BroadcastChannel
API を実装して、Web Workers で使用可能にしました (Firefox バグ 966439 および Firefox バグ 1121420)。- Console API が Web Workers で使用可能になりました。
CanvasRenderingContext2D.clearHitRegions()
を実装しました (Firefox バグ 1119527)。KeyboardEvent.location
の定数DOM_KEY_LOCATION_MOBILE
および DOM_KEY_LOCATION_JOYSTICK を削除しました。DOM Level 3 仕様から削除されたためです (Firefox バグ 936313。KeyboardEvent.code
を Release ビルドで有効にしました。以前はプレリリース版のみで有効でした(Firefox バグ 1126673)。KeyboardEvent.code
で Linux 環境の Sun キーボード、Android、Firefox OS の特殊キーをサポートしました(Firefox バグ 1020139)。TextEncoder()
コンストラクターを、仕様に合致するよう変更しました。無効な引数を渡した場合に発生する例外が、誤りであるTypeError
ではなくRangeError
DOMException
になりました (Firefox バグ 1125766)。- User Timing API の
Performance.mark()
、Performance.clearMarks()
、Performance.measure()
、Performance.clearMeasures()
を実装しました (Firefox バグ 782751)。 - 接頭辞付きの
indexedDB
であるmozIndexedDB
を削除しました (Firefox バグ 975699)。 DOMContentLoaded
イベントはキャンセル不可になりました (Firefox バグ 1134559)。- Worker で WebSocket を使用できるようになりました (Firefox バグ 504553)。
XMLHttpRequest.responseType
およびXMLHttpRequest.withCredentials
プロパティが、XMLHttpRequest.open()
を呼び出す前に設定できるようになりました (Firefox バグ 707484)。
MathML
変更なし。
SVG
変更なし。
Audio/Video
変更なし。
ネットワーク
変更なし。
セキュリティ
- Firefox では、ログインフォームを扱う際に
autocomplete
=false
属性を無視するようになりました (Firefox バグ 1025703)。これはパスワードマネージャーがより確実に動作できるようにすることで、より安全なパスワードの使用を促進しようとするものです。 - ホワイトリストで明示されたウェブサイトを除き、TLS を使用する際は RC4 が無効になりました。このホワイトリストは、ウェブサイトが修正されるまでの経過措置です (Firefox バグ 1124039)。このフォールバック機能は設定項目
security.tls.unrestricted_rc4_fallback
で制御されており、現在の既定値はtrue
です (Firefox バグ 1138882)。 - 安全でないバージョンの TLS へのフォールバックが必要なウェブサイトを、ハードコードされたホワイトリストに記載します。これは次第に削減する予定です (Firefox バグ 1114816)。
security.tls.insecure_fallback_hosts.use_static_list
をfalse
に設定すると、ホワイトリストを無効化できます。
アドオン開発者と Mozilla 開発者向けの変更点
Add-on SDK
ハイライト
sdk/context-menu@2
を実装しました (Firefox バグ 1070952)。sdk/addon/bootstrap
を実装しました (Firefox バグ 1075541)。sdk/windows/loader
を削除しました (Firefox バグ 970135)。- Linux での、既定言語の検出機能を修正しました (Firefox バグ 1114712)。
toolkit/loader
に、オプトインモジュールの互換性検証機能を搭載しました。これはすべての jpm アドオンに対して有効です (Firefox バグ 1037235)。
Electrolysis (E10s) 対応
sdk/page-worker
が e10s に対応しました (Firefox バグ 1116004)。sdk/content/worker
が e10s に対応しました (Firefox バグ 1116544)。sdk/tabs
が e10s に対応しました (Firefox バグ 1033838)。
詳細
XUL
変更なし。
JavaScript コードモジュール
Downloads.jsm
DownloadTarget
オブジェクトがexists
およびsize
プロパティを持つようになりました。ダウンロード先のファイルがディスクに存在するかや、ファイルのサイズを確認できます。また、新規メソッドrefresh()
で、これらの値の更新を求めます。
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"
および"@mozilla.org/network/safe-file-output-stream;1"
は、PR_TRUNCATE
を伴わずにPR_APPEND
を渡した場合に例外が発生するようになりました (Firefox バグ 1117580)。nsICompositionStringSynthesizer
およびnsIDOMWindowUtils.sendCompositionEvent
を削除しました。代わりにnsITextInputProcessor
を使用してください(Firefox バグ 917322)。nsIDOMWindowUtils.sendKeyEvent()
は非推奨になりました。代わりにnsITextInputProcessor
を使用してください (Firefox バグ 1119609)。
過去のバージョン
- 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
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers