Firefox 41 は、米国時間 2015 年 9 月 22 日にリリースされました。このページでは、開発者に影響する Firefox 41 の変更点をまとめています。
Web 開発者向けの変更点一覧
開発者ツール
ハイライト:
- DOM ノードのスクリーンショットを撮影する
- HAR としてコピー/HAR として保存
- ルールビューの "Add Rule" ボタン
- タブでソースを表示 (デフォルトは無効)
- CSS ルールのコピー方法を追加
- ルールビューで画像を data: URI としてコピー
- CSP の情報を表示するコマンドを GCLI に追加
Firefox 40 から Firefox 41 の間に解決した開発ツール関連のバグ一覧: これらのバグの多く (特にパフォーマンスツールに関するバグ) の修正は Firefox 40 に前倒しされました。
CSS
- 縦書き文章のレイアウト機能を、デフォルトで有効にしました (バグ 1138384)。以下の CSS プロパティが使用可能になりました:
- 書字方向を選択する:
writing-mode
- 文字の向きを制御する:
text-orientation
. - 方向に依存しない
width
およびheight
:block-size
およびinline-size
- 方向に依存しない
min-width
およびmin-height
:min-block-size
およびmin-inline-size
- 方向に依存しない
max-width
およびmax-height
:max-block-size
およびmax-block-size
- 方向に依存しない
margin-top
、margin-right
、margin-bottom
、margin-left
:margin-block-start
、margin-block-end
、margin-inline-start
、margin-inline-end
- 方向に依存しない
padding-top
、padding-right
、padding-bottom
、padding-left
:padding-block-start
、padding-block-end
、padding-inline-start
、padding-inline-end
- 方向に依存しない
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
- 方向に依存しない
top
、right
、bottom
、left
:offset-block-start
、offset-block-end
、offset-inline-start
、offset-inline-end
- 書字方向を選択する:
- SVG で
transform-origin
プロパティをサポートしました。また、transform-box
プロパティを実装しました (バグ 923193)。
HTML
href
属性を持たない<a>
は、インタラクティブコンテンツとして分類しないようになりました。<label>
要素内でクリックすると、ラベル付けされたコンテンツがアクティブになります (バグ 1167816)。- サイトアイコン (favicon およびショートカットアイコン) で、SVG アイコンをサポートしました (バグ 366324)。
- <link rel='preconnect'> で、
crossorigin
属性をサポートしました (バグ 1174152)。 - picture 要素がリサイズやビューポートの変化に反応しない問題を修正しました (バグ 1135812)。
JavaScript
Date.prototype
はDate
のインスタンスではなく、通常のオブジェクトになりました (バグ 861219)。Date.prototype.toString
は、ジェネリックなメソッドになりました (バグ 861219).Symbol.species
を追加しました (バグ 1131043)。Map[@@species]
およびSet[@@species]
ゲッタを追加しました (バグ 1131043)。- 非標準の let 式を廃止しました (バグ 1023609)。
- 既定値の代入を含む、分割されたパラメータをサポートしました (バグ 1018628)。
- ES6 に従い、メソッドの定義で波括弧が必要になりました。波括弧を欠いた構文はエラーになります (バグ 1150855)。
- コンストラクタ形式のメソッド定義 (ジェネレータメソッドを除く) は不可になりました (バグ 1059908 および バグ 1166950)。
- ES6 使用への準拠の一環として
([a, b]) = [1, 2]
や({a, b}) = { a: 1, b: 2 }
といった、括弧でくくるパターンの destructuring 構文は無効と判断され、SyntaxError
が発生するようになりました。詳しくは Jeff Walden のブログ記事 をご覧ください。 new.target
構文をサポートしました (バグ 1141865)。
インターフェイス/API/DOM
HTML Editing API
- 切り取り、コピー、貼り付けのコマンド制御を改良して、JS プログラムから Web コンテンツのコピーや切り取りが可能になりました:
Document.queryCommandSupported()
に引数として'paste'
コマンドを与えると、実際に操作を行うための十分な権限がない場合にfalse
を返します (バグ 1161721)。Document.queryCommandSupported()
に引数として'cut'
または'copy'
を与えると、ユーザが起動したコードや権限を持つコードのコンテキスト内で呼び出された場合にtrue
を返すようになりました (バグ 1162952)。- 引数として
'cut'
または'copy'
を与えたDocument.execCommand()
は動作しますが、ユーザが起動したコードや権限を持つコードのコンテキスト内で呼び出された場合に限ります (バグ 1012662)。 Document.execCommand()
でコマンドが未サポートまたは無効である場合に、例外が発生しないようになりました (バグ 1027560)。
イベント
- 非標準の
CloseEvent.initCloseEvent()
メソッド、およびEvent.createEvent('CloseEvent')
メソッドを使用してCloseEvent
を生成する機能を削除しました。代わりに、標準のコンストラクタであるCloseEvent()
を使用してください (バグ 1161950)。 - デスクトップ版の Nightly で、
PointerEvent
がデフォルトで有効になりました。Developer Edition、Beta、Release では無効であり、少なくともいくつかのバージョンの間は有効化しない予定です。(バグ 1166347) - 接頭辞なしの
MouseEvent.movementX
およびMouseEvent.movementY
}} を追加しました。接頭辞つきのプロパティは非推奨になり、将来のある時点で削除する予定です (バグ 1164981)。
Web Crypto
SubtleCrypto.importKey()
およびSubtleCrypto.exportKey()
でECDH
鍵をサポートしました (バグ 1050175)。
Canvas API
HTMLCanvasElement.captureStream()
およびCanvasCaptureMediaStream
を追加して、<canvas>
の表示内容をリアルタイムに流すことが可能になりました (バグ 1032848)。MediaStream.id
が、ストリームのユニークな ID を返すようになりました (バグ 1089798)。CanvasRenderingContext2D.filter
の初期値が、正しくnone
が設定されるようになりました (バグ 1163124)。
Service Worker
- Service Worker の実験的な実装を改良しました:
ServiceWorkerGlobalScope.skipWaiting()
を実装しました (バグ 1131352)。Clients.claim()
を追加しました (バグ 1130684)。- Service Worker で機能する上記以外のイベントは
ExtendableEvent
から継承しており、waitUntil()
メソッドにアクセスできます (バグ 1160527)。
CacheStorage
およびCache
インターフェイスをサポートしました (バグ 1110144)。
WebGL
- WebGL コンテキスト属性
failIfMajorPerformanceCaveat
を追加しました。また、システムのパフォーマンスが低い場合にコンテキスト生成を失敗させることを示すために、HTMLCanvasElement.getContext()
で WebGL コンテキストを生成する際にこの属性を設定できるようになりました (バグ 1164970)。
その他
- OS X および Windows で、
Navigator.onLine
はネットワーク接続の状態に応じて変化するようになりました (以前は "オフライン作業" モードを選択しなければ常にtrue
を返していました) (バグ 654579)。 MessagePort
およびMessageChannel
が Web workers で使用可能になりました。また、デフォルトですべての状況で有効になりました (バグ 952139 および バグ 911972)。- User Timing API が Web workers で使用可能になりました (バグ 1155761)。
- Notifications API が Web workers で使用可能になりました (バグ 916893)。
DOMRequest
およびDOMCursor
が Web workers で使用可能になりました (バグ 1167650)。- CSS Font Loading API を全面的に実装して、デフォルトで有効にしました (バグ 1149381)。
- Shared workers が、プライベートドキュメント (すなわち、プライベートウィンドウで開いているドキュメント) と非プライベートドキュメントとの間で共有されないようになりました (バグ 1177621)。
URLUtilsSearchParams.searchParams
プロパティが読み取り専用になりました (バグ 1174731)。URLUtils.hash
プロパティが、URL フラグメントをデコードしないようになりました (バグ 1093611)。
MathML
新たな既定フォントとフォールバックフォントの制御
数式では特別なフォントが必要です。これまで、そのフォントは mathml.css
ユーザエージェントスタイルシート (<math>
タグに font-family を設定) および設定項目 font.mathfont-family
(伸縮する大型演算子で使用するフォールバックフォントを設定) でハードコードされていました。Firefox 41 より <math>
タグへ自動的に設定される x-math
内部言語と、それに対応する設定項目 (例えば font.name.serif.x-math
) を導入しました。ユーザエージェントスタイルシートでは <math>
タグの font-family を serif に設定して、設定項目 font.mathfont-family
を font.name.serif.x-math
で置き換えました。また、すべてのプラットフォームで、フォールバックフォントは基本的に "Latin Modern Math" が先頭にある同一のリストを使用するようになりました。既定フォント/フォールバックフォントは、標準の言語別フォント設定メニューで設定できます。詳しくは バグ 947654 および バグ 1160456 をご覧ください。
SVG
- サイトアイコン (favicon、ショートカットアイコン) で SVG をサポートしました (バグ 366324)。
Audio/Video
- 設定項目
media.autoplay.enabled
が、信頼されていないHTMLMediaElement.play()
の起動 (ユーザ以外が作動したスクリプトから呼び出される場合) に対しても適用されるようになりました (バグ 659285)。
ネットワーク
X-Content-Duration
ヘッダのサポートを廃止しました (バグ 1160695)。- HTTP/2 プロトコルの草案版のサポートを廃止しました (バグ 1132357)。
セキュリティ
- CSP 1.1 の
manifest-src
ディレクティブをサポートしました (バグ 1089255)。
アドオン開発者と Mozilla 開発者向けの変更点
XUL
変更なし。
JavaScript コードモジュール
変更なし。
XPCOM
変更なし。
インターフェイス
変更なし。
その他
- window のルートウィジェットを
<canvas>
に描画するための、新たな chrome コンテキスト限定の内部 API であるCanvasRenderingContext2D.drawWidgetAsOnScreen()
を追加しました。この API は、オンスクリーンのウィジェットを取得するために OS を使用します。詳しくは バグ 1167477 をご覧ください。
関連情報
過去のバージョン
- 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
- Firefox 19 for developers
- Firefox 18 for developers