--- title: Firefox 6 for developers slug: Mozilla/Firefox/Releases/6 tags: - Firefox - Firefox 6 - Gecko 6.0 translation_of: Mozilla/Firefox/Releases/6 ---
Firefox 6 は Gecko 6.0 ベースのブラウザで、2011 年 8 月 16 日にリリースされました。このページは Firefox 6 のリリースにあたり、開発者に関係する変更についてまとめたものです。
<progress> 要素がサポートされました。<track> 要素について、そのパース処理部分が実装されました。要素そのものは実装されていませんが、DOM に現れるようにはなります。border-radius プロパティによって角が丸められたコンテナ内の <iframe> についても、適切に角が丸められるようになりました。<form> 要素の <input> テキストフィールドが XUL の maxwidth プロパティをサポートしなくなりました。これは意図的なものではなく、また HTML 仕様違反でもあります。要素の最大幅を設定するには、size 属性を利用します。<canvas> の CanvasRenderingContext2d プロパティ fillStyle と strokeStyle はこれまで、妥当な色の指定の後に続く余計なものを無視する処理をしていましたが、適切にエラーとして処理されるように修正されました。たとえば、"red blue" を指定したとき、これまでは "red" と扱われていましたが、これからは指定そのものが無視されます。<canvas> 要素の width と height を適切に 0px と指定できるようになりました。これまではそう指定しても 300px にされていました。element.dataset からデータにアクセスできます。<textarea> 要素がフォーカスされたとき、テキスト挿入箇所が最後ではなく先頭になりました。これにより、他のブラウザの挙動と一致します。-moz-text-decoration-colortext-decoration で指定する underline, overline, strikethrough などの色を指定します。-moz-text-decoration-linetext-decoration の種類を指定します。-moz-text-decoration-styletext-decoration で指定する underline, overline, strikethrough などのスタイルを指定します。スタイルには solid, double, dotted, dashed, wavy などがあります。-moz-hyphens-moz-orient<progress> 要素など) の縦横の向きを制御します。::-moz-progress-bar<progress> 要素において、完了した部分のスタイルづけを行うためのものです。@-moz-document に新しく regexp() 関数記法が追加されました。これにより、スタイルシートを適用する文書の URL を 正規表現でマッチさせられます。aural 媒体グループのために持っていたコードを削除したため、azimuth CSS プロパティのサポートが廃止されました。このプロパティはちゃんと実装されていなかったため、パッチを当て続けるのではなく未完成の実装を省くほうが理にかなっていると考えました。:hover 擬似クラスは Quirks モードにおいてクラスセレクタに適用されませんでした。このため .someclass:hover といったコードは動きませんでしたが、この例外が取り払われました。:indeterminate 擬似クラスは <progress> 要素にも適用できます。これは非標準ですが、便利ですので他のブラウザにも取り入れられて欲しいと考えています。window.matchMedia() メソッドと MediaQueryList インターフェースによって、メディアクエリーの結果をプログラムから検証できます。navigator.securityPolicy プロパティが完全に削除されました。BlobBuilder がサポートされました。現時点では接頭辞付きの実装 (MozBlobBuilder) となっています。document.height, document.width が削除されました。 バグ 585877DocumentType オブジェクトの entities, notations プロパティが削除されました。これは実装されておらず常に null を返しており、また仕様からも削除されていました。DOMConfiguration インターフェースと、それを使用していた document.domConfig プロパティが削除されました。これらはサポートされておらず、また DOM 仕様からも削除されていました。hashchange イベントが適切に newURL, oldURL フィールド を含むようになりました。FileReader インターフェースの abort() メソッドが、ファイルの読み込み中に利用された際に例外を投げるようになりました。window.postMessage() メソッドが structured clone algorithm を使用するようになり、あるウィンドウから他のウィンドウに文字列ではなく JavaScript オブジェクトを渡せるようになりました。window.history API が pushState(), replaceState() メソッドに渡されたオブジェクトのシリアライズに structured clone algorithm を使用するようになりました。これによって循環参照などを含むより複雑なオブジェクトも使用可能となりました。beforeprint, afterprint イベントによって、印刷が行われたときと完了したときを検出する ことができるようになりました。document.strictErrorChecking プロパティが削除されました。実装されておらず、また DOM 仕様からも削除されていました。event.defaultPrevented プロパティがサポートされました。event.preventDefault() がイベントから呼び出されたかを知る際には、非標準の getPreventdefault() ではなくこちらを使うようにしましょう。window.top プロパティが、適切に readonly となりました。EventTarget の関数 addEventListener() に指定する引数 useCapture が optional となりました。これは WebKit の動作とも共通し、また新しい仕様でもそう定義されています。XMLHttpRequest オブジェクトの mozResponseArrayBuffer プロパティが responseType, response プロパティに置き換えられました。HTMLElement インターフェースに element.dataset プロパティが追加されました。このプロパティにより 要素の data-* グローバル属性 にアクセスできます。CustomEvent インターフェースが実装されました (バグ 427537)data: URI と javascript: URI を入力した時、現在のページのセキュリティコンテキストを受け継がなくなりました。代わりに、新しい空のセキュリティコンテキストが生成されます。これにより、ロケーションバーに入力した javascript: URI から読み込まれたスクリプトは、DOM メソッドなどへのアクセスを持たなくなります。しかし、これらの URI がスクリプトから使用された場合は、これまでと同じように動作します。eval, parseInt, Date.parse など) に対し new オペレータを使うことができましたが、仕様においてこれは許されるべきではないとされていました。Firefox 6 では、このサポートが廃止されました。new オペレータのこういった利用は公式にはサポートされておらず、また広く利用されてもいません。この変更が何かに影響することはないでしょう。pathLength 属性がサポートされました。data: URL から読み込まれたパターン、グラデーション、フィルタが適切に動作するようになりました。<mstyle> の実装が修正されました。aria-busy の値の変化でも発生するようになりました。aria-sort が発生した際に属性変化イベントが発生するようになりました。WebSocketオブジェクトがMozWebSocketに改称されました。接頭辞のないオブジェクトの検出を目的としたときに問題となるため、それを防ぐ目的です。Content-Disposition ヘッダの構文解析が修正され、バックスラッシュでエスケープされた ASCII 文字が適切に文字そのものとして処理されるようになりました。これまではその文字をアンダースコア ("_")に置き換えるという誤った処理がなされていました。Set-Cookie ヘッダのパスの値において、クォートが適切に処理されるようになりました。これまでクォートを使った場合はそれがデリミタではなく、パスの文字列として認識されていました。この変更により、いくつかのサイトで互換性の問題が発生する可能性があります。製作者はコードをチェックすることが望まれます。Upgrade リクエストヘッダがサポートされました。nsIHttpChannelInternal.HTTPUpgrade() を呼ぶことで、HTTP チャネルから他のプロトコルへのアップグレードをリクエストできます。OES_texture_float 拡張をサポートしました。Firefox 6 へアドオンを対応させるために必要な作業の概要は アドオンの Firefox 6 対応 をご覧ください。
openSafeFileOutputStream() メソッドは、ファイルを即座に開こうとする代わりに、DEFER_OPEN ビヘイビアフラグ 付きで開くようになりました。importRelative() メソッドは、ある JavaScript コードモジュールを、他の JavaScript コードモジュールの相対パスから読み込むようになりました。これによって互いに依存するモジュールを開発しやすくなりました。nsCOMArray<T> に、配列から複数のオブジェクトを一度に削除できる RemoveObjectsAt() メソッドが追加されました。File コンストラクタをクロームで使用した場合に、ローカルパス名文字列を指定できるようになりました。また、nsIFile オブジェクトを使用して、DOM File API を通じてアクセスするファイルを指定できるようになりました。nsINavHistoryQueryOptions で、新たな定数 SORT_BY_FRECENCY_ASCENDING と SORT_BY_FRECENCY_DESCENDING を使った訪問頻度順のソートが可能になりました。nsIFilePicker に addToRecentDocs 属性が追加されました。これは、もしユーザの「最近使用したドキュメント」リストがあれば、そのリストに選択したファイルを追加するよう指定できるものです。この属性はプライベートブラウジングモードでは無視されます。nsINavBookmarkObserver メソッドにアイテム ID 引数を与える場合、GUID も必要となります。nsIPrefBranch.clearUserPref() が、指定された設定が存在しない場合やユーザ設定値がない場合も、例外を投げなくなりました。その代わり、単に何もしなくなりました。nsIMemoryReporter インタフェースで、調べたいメモリの種類 (マップ、ヒープ、その他) を指定できるようになりました。nsISHEntry の stateData 属性が nsIStructuredCloneContainer を返すようになりました。nsIURI に ref 属性が追加されました。これは、URI の一部の参照 (「#」以降の部分) を返すものです。また、参照メンバーなしに nsIURI を複製できる cloneIgnoringRef() メソッドと、参照メンバーを無視して他の nsIURI と比較できる equalsExceptRef() メソッドが追加されました。mozIAsyncFaviconsnsIEventSourcensIGSettingsCollectionnsIGSettingsServicensIHttpUpgradeListenernsIHttpChannelInternal.HTTPUpgrade() メソッドを通じた HTTP アップグレード要求を処理するためのコールバックインタフェースです。nsIStructuredCloneContainernsITelemetrynsITimedChannelnsIWebSocketListenernsIWebSocketProtocol以下のインタフェースは、不要となり削除された実装です。詳細はバグを参照してください。
nsIDOMDocumentEvent (バグ 655517)nsIDOMDocumentTraversal (バグ 655514)nsIDOMDocumentRange (バグ 655513)IWeaveCrypto (バグ 651596)nsIDOM3DocumentEvent (バグ 481863)nsIDOMAbstractViewnsILiveTitleNotificationSubjectnsIPlugin (バグ 637253)nsIPluginInstance (バグ 637253)nsIHTMLEditRules (バグ 633750)nsIXSLTProcessorObsolete (バグ 649534)