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