Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Firefox 7 for developers

Firefox 7 は2011 年 9 月 27 日にリリースされました。このページは Firefox 7 のリリースにあたり、開発者に関係する変更についてまとめたものです。

Web 開発者向けの変更点一覧

HTML

  • HTMLHeadElementprofile プロパティが削除されました。このプロパティは Gecko 2.0 から非推奨となっていました。
  • HTMLImageElementx プロパティと y プロパティが削除されました。
  • HTMLSelectElementadd() メソッドの before 引数が optional となりました。
  • <body>background 属性が URI として解決されなくなりました。この変更は HTML 仕様への準拠によるものです。
  • <option>label 属性が指定されていない場合、要素の内容テキストを反映するようになりました。

Canvas

  • setTransform(), bezierCurveTo(), arcTo() に不正な値を与え呼び出したとき、例外が投げられなくなりました。これらは無視されます。
  • isPointInPath() メソッドに与えられた点と現在のパスを比較するにあたり、変換マトリクスを適切に考慮するようになりました。
  • strokeRect() メソッドが幅 0 高さ 0 で呼び出された場合、何もしなくなりました。
  • drawImage() メソッドが幅 0 もしくは高さ 0 で呼び出された場合、<canvas>INVALID_STATE_ERR を投げるようになりました。
  • drawImage() メソッドが非定形の座標で呼び出された場合に、例外が投げられなくなりました。
  • toDataURL() が JPEG の品質を制御する引数を受け付けるようになりました。
  • globalCompositeOperation の値から、非標準だった clearover が削除されました。
  • source-over 合成処理の場合にのみ描画されるようになりました。
  • Canvas の塗りつぶし方を設定する mozFillRule アトリビュートが追加されました。

CSS

MathML

  • XLink href が復活し、また MathML3 の href 属性もサポートされました。リンクには後者の属性を使うことが望まれます。
  • <mpadded> 要素に voffset 属性のサポートが追加されました。また lspace 属性の挙動も修正されました。
  • トップレベル要素である <math> 要素が <mstyle> 要素のもつ属性すべてを受け入れるようになりました。
  • Asana Math フォントのサポートが追加されました。
  • <mfrac> 要素によって表される分数の線の太さ medium が修正され、規定の太さになりました。
  • 負のスペースを表すキーワード がサポートされました。

DOM

  • File インターフェースの非標準なメソッド getAsBinary(), getAsDataURL(), getAsText() が削除されました。あわせて、非標準なプロパティ fileNamefileSizeも削除されました。
  • Blob によってデータが指定され、また Content-Disposition HTTP ヘッダが送信されたとき、FormData インターフェースはファイル名を空文字列として報告しないようになりました。これによって幾つかのサーバに起こっていたエラーが解消されます。
  • element.dir 属性が結果を常に小文字で返すようになりました。これは HTML 仕様の要件によるものです。
  • FileReaderreadAsArrayBuffer() メソッドが実装されました。
  • document.createEntityReference が削除されました。このメソッドは適切に実装されておらず、他のブラウザのほとんどで実装されていませんでした。
  • document.normalizeDocument が削除されました。今後は Node.normalize を利用してください。
  • index が範囲外の場合、DOMTokenList.itemundefined を返すようになりました。これまでは null を返していました。
  • Node.getFeature が削除されました。
  • HTMLInsElement インターフェースと HTMLDelElement インターフェースが削除されました。これは <ins><del> 要素が実際には HTMLModElement を使用していたためです。
  • 新しい DOM4 仕様にある AttrNode を継承しない (DOM Core 1, 2, 3 まではしていた) という定義に準拠するため、Attr インターフェース上の Node} プロパティやメソッドについて、将来的にこれらを削除するといった意味の 警告を出す ようになりました。
  • Window オブジェクトに window.ondeviceorientation プロパティと window.ondevicemotion プロパティのサポートを追加しました。
  • window.resizeTowindow.resizeBywindow.moveTowindow.moveBy はメインウィンドウに適用されなくなりました。

JavaScript

WebSocket

  • 設定項目に network.websocket.max-connections が導入されました。これは WebSocket の同時最大接続数を決定するために使用されます。既定値は 200 です。
  • WebSocket プロトコルで使用するプロトコルバージョンが、IETF draft 10 で指定されているバージョン 8 になりました。Firefox 6 ではバージョン 7 が使われていました。
  • WebSocket API が Firefox Mobile でも利用可能になりました。

Console API

  • web console が開かれる前に console.log によって記録されたメッセージもあらかじめ記録され、web console が開かれた時に表示されるようになりました。

Web Timing

XML

  • XSLT スタイルシートはこれまでサポートされていた text/xsl に加えて、正式な MIME 型 application/xslt+xml も利用可能になりました。(スタイルシート処理命令もしくは HTTP Link ヘッダで利用できます。)

Mozilla 開発者とアドオン開発者向けの変更点

これらの変更は、アドオン開発者と、Mozilla 本体のコードに関わっている開発者の双方に影響するものです。アドオン開発者は アドオンの Firefox 7 対応 に書かれている追加情報も参照してください。

注: Firefox 7 では、従来のメジャーリリースと同様に、バイナリコンポーネントをコンパイルし直す必要があります。詳しくは バイナリインタフェース をご覧ください。

JavaScript コードモジュール

FileUtils.jsm

  • 書き込みのための、安全でない状態のファイル出力ストリームを開ける openFileOutputStream() メソッドが追加されました。

AddonManager.jsm

XUL

XPCOM

  • Components.utils.schedulePreciseGC() メソッドが追加されました。これは、以後どこかの時点で JavaScript コードが何も実行されていないときに、完全なガベージコレクション処理を行う予定を入れられるものです。
  • Components.utils.unload() メソッドが追加されました。これは、Components.utils.load() で読み込まれた JavaScript コードモジュールを破棄できるようにするものです。

ユーザ体験の変更

  • 拡張機能のオプションが、再起動不要型と従来型のいずれでも アドオンマネージャ内に表示 されるようになりました。
  • ダウンロードされたファイルの保存先がサイトごとに記憶されるようになりました。このデータは DownloadLastDir.jsm を使ってアクセスできます。

ビルドシステムの変更

  • ActiveX 組み込み API はビルドされなくなり、ビルドシステムでのサポートも削除されました。関連インタフェースも削除されました。下記 削除されたインタフェース を参照してください。
  • Windows でのビルド時に -Zc:wchar_t- を指定できなくなりました。詳しくは、更新された ビルド手順 をご覧ください。

インタフェースの変更

  • nsISocketTransport に新しい接続フラグ DISABLE_IPV6 が追加されました。これは、利用可能な IPv6 アドレスがあってもそれを無視して、IPv4 アドレスのみに接続するようソケットを設定するものです。また、nsIDNSService に新しい解決フラグ RESOLVE_DISABLE_IPV6 が追加されました。これは、利用可能な IPv6 アドレスがあってもそれを無視して、IPv4 ホストのみを考慮してドメイン名解決を行うものです。これらの変更は、IPv4 と IPv6 の両方に対応している (その中でも特に IPv6 接続がうまくいかない) ホストへ接続する際の応答時間を短縮する 「幸せな目玉」戦略 を実装するために使われます。
  • inIDOMUtils に 2 つのメソッドが追加されました。あるノードの子ノード一覧を返す getChildrenForNode() と、選択範囲内で使用されているフォントフェース一覧を返す getUsedFontFaces() です。
  • nsIMarkupDocumentViewer_MOZILLA_2_0_BRANCH インタフェースは nsIMarkupDocumentViewer インタフェースへ統合されました。
  • nsIDOMWindow2 インタフェースは nsIDOMWindow インタフェースへ統合されました。
  • nsIDOMWindow_2_0_BRANCH インタフェースは nsIDOMWindowInternal インタフェースへ統合されました。
  • URI 引数付きで nsINavHistoryObserver メソッドを使う場合、GUID も必要となります。
  • nsISHistory_2_0_BRANCH インタフェースは nsISHistory インタフェースへ統合されました。
  • nsITelemetry に、ID からヒストグラムを返す getHistogramById() メソッドと、false 設定時に 使用統計情報 (Telemetry) の記録を無効化できる canRecord 属性が追加されました。使用統計情報はプライベートブラウジングモードでは記録されなくなりました。(バグ 661574バグ 661573)
    newHistogram() で定義された使用統計ヒストグラムは、Mozilla への定期報告に含まれません。
  • nsIMemoryReporter インタフェースに大幅な変更が行われました。使用する場合はコードに変更を加える必要があるでしょう。
  • nsIXMLHttpRequest.setRequestHeader() によって設定されたヘッダが、リダイレクトを辿る際にもリクエストに含まれて送信されるようになりました。これまでこの方法で設定されたヘッダは送信されていませんでした。
  • nsIDocShellallowWindowControl 属性が追加されました。true を設定すると、docshell のコンテンツがウィンドウをコントロールできるようになります (ウィンドウの移動やサイズ変更など)。
  • nsIThreadInternal2 インタフェースは nsIThreadInternal インタフェースへ統合されました。

新しいインタフェース

nsIDOMFontFace
ひとつのフォントフェースを表します。
nsIDOMFontFaceList
nsIDOMFontFace で表されたフォントフェースの一覧を表します。

削除されたインタフェース

以下のインタフェースは、不要となり削除された実装です。

  • nsIDOM3Attr
  • nsIDOM3Node
  • nsIDOM3TypeInfo
  • nsIDOM3Text
  • nsIDOMDocumentStyle
  • nsIDOMNSDocument
  • nsIDOMNSFeatureFactory
  • nsIDOMNSHTMLDocument
  • nsIDOMNSHTMLFormElement
  • nsIDOMNSHTMLHRElement
  • nsIDOMNSHTMLTextAreaElement

以下のインタフェースは、ActiveX 組み込み API 廃止の一環として削除されました。

  • DITestScriptHelper
  • DWebBrowserEvents
  • DWebBrowserEvents2
  • IDispatch
  • IMozControlBridge
  • IMozPluginHostCtrl
  • IWebBrowser
  • IWebBrowser2
  • IWebBrowserApp
  • IXMLDocument
  • IXMLElement
  • IXMLElementCollection
  • IXMLError
  • nsIActiveXSecurityPolicy
  • nsIDispatchSupport
  • nsIMozAxPlugin
  • nsIScriptEventHandler
  • nsIScriptEventManager

参考

ドキュメントのタグと貢献者

 このページの貢献者: ethertank, myakura, Kohei, BobChao
 最終更新者: ethertank,