このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Firefox 3.6 開発者向け情報

Firefox 3.6 では新規あるいは開発中のウェブ標準のサポート、性能の向上、ウェブユーザーと開発者にとってより良い体験が提供されます。このページは Firefox 3.6 で新しく利用出来るようになった機能に関する記事のリンクを提供します。

ウェブサイトとアプリケーション開発者向け

CSS

グラデーションの利用

Firefox 3.6 では -moz-linear-gradient および -moz-radial-gradient プロパティが background において対応が追加されました。

複数の背景

background プロパティ(および background-colorbackground-imagebackground-positionbackground-repeatbackground-attachment が複数の背景に対応しました。これによりひとつのレイヤーの中で他に重なるような背景を指定できます。

Mozilla 独自のメディア特性

Mozilla 独自のシステムメトリックスに複数のメディア特性が追加されました。このメディア特性により、タッチサポートのような機能の有効性の確認を、メディアクエリーを使用してより安全に行えるようになりました。

背景画像のスケーリング

CSS 3 Backgrounds and Borders 草案background-size プロパティが -moz-background-size として対応しました。

WOFF フォントの対応

@font-face が新しい WOFF ウェブフォントファイル形式に対応しました。

ポインターイベント

pointer-events プロパティにより、要素がマウスポインターのイベントのターゲットであるかどうかをコンテンツが指定できるようになります。

その他の CSS の変更

  • 長さの単位 rem が対応されました。 Firefox バグ 472195
  • image-rendering が画像、背景画像、ビデオ、canvas でサポートされました。 Firefox バグ 423756
  • text-align:end がサポートされました。Firefox バグ 299837
  • display の table 型の要素に対する DOM の変更がより良く動作するようになりました。
  • :-moz-locale-dir(ltr):-moz-locale-dir(rtl) が追加され、左書きと右書きのどちらで描画されるかに応じて、ユーザーインターフェイスが容易にレイアウトをカスタマイズできるようになりました。Firefox バグ 478416
  • :indeterminate 擬似クラスの対応が追加され、checkbox 型の input 要素で indeterminate 属性が true に一致する場合に対応が追加されました。
  • ウィンドウ化されたプラグインは CSS 座標変換の中では表示されなくなりました。これはコンポジターによって正しく変換されないためです。

HTML

ウェブアプリケーションからファイルを扱う

新しい HTML5 File API のサポートが Gecko に追加され、ウェブアプリケーションがユーザーの選択したローカルファイルにアクセス出来るようになりました。これには input type="file" HTML 要素において複数のファイルを選択する multiple 属性のサポートが含まれます。

HTML5 video がポスターフレームをサポート

video 要素で poster 属性がサポートされ、コンテンツがビデオの再生が開始されるまでに表示されるポスター・フレームを指定できるようになりました。

チェックボックスとラジオボタンが indeterminate 属性をサポート

HTML の input 要素で checkboxradio 型のものが indeterminate 属性をサポートし、3 番目の "indeterminate" 状態を持てるようになりました。

キャンバスの画像のスムージングが制御可能に

canvas 要素のスケーリング時に、新しい mozImageSmoothingEnabled プロパティでスムージングの有無を指定できるようになりました。

非同期のスクリプト実行

async 属性を script 要素に設定すると、その script はページの残りの部分の読み込みや表示をブロックしません。代わりに、script はダウンロードが完了次第すぐに実行されます。

JavaScript

Gecko 1.9.2 は JavaScript 1.8.2 を採用し、ECMAScript 5 standard から多くの言語機能が追加されました。

  • Date.parse() は YYYY-MM-DD のような ISO 8601 日付をデコードできるようになりました。
  • function インスタンスの prototype プロパティは列挙可能 (enumerable)ではなくなりました。

DOM

ウェブワーカーが自己終了可能に

ワーカーnsIWorkerScope.close() メソッドに対応し、自分自身で終了できるようになりました。

ドラッグ&ドロップがファイルに対応

ドラッグリスナーで提供される DataTransfer オブジェクトがドラッグされたファイルを含むようになりました。

要素が指定された CSS セレクターに一致するか確認する

新しい Node.mozMatchesSelector メソッドを使用すると、要素が指定された CSS セレクターに一致するかどうかを判定できます。詳細は Firefox バグ518003を参照してください。

デバイスの傾きの検出

コンテンツはデバイスが加速度センサー(accelerometer)をサポートしていれば MozOrientation イベントによりその傾きを検出できるようになりました。Firefox 3.6 は Mac のノートブックで加速度センサーをサポートします。

文書の幅と高さの変化の検出

document の scrollWidth または scrollHeight プロパティが変化すると、 MozScrollAreaChanged イベントが発動します。

その他の DOM の変更

  • getBoxObjectFor() メソッドが削除されました。このメソッドは非標準であり、さらに非標準なものをウェブにさらすことになるからです。Firefox バグ 340571 を参照してください。これはまた、Gecko の検出にこのメソッドをコールする MooTools にも影響します。これは最新の MooTools で修正されたのでいずれ更新されるでしょう。
  • DOM windows に新しい mozInnerScreenXmozInnerScreenY プロパティが追加されました。これらはウィンドウ表示領域の左上コーナーを基準にしたスクリーンの座標を返します。
  • chrome に対してのみアクセス可能な新しい mozScreenPixelsPerCSSPixel プロパティは CSS ピクセルと画面ピクセルの変換率を提供します。この値はコンテンツのズームレベルに応じて変化します。
  • ページ URI の文書フラグメント識別子("#" (ハッシュ) 文字の後の部分)が変更になったとき、新たな hashchange イベントがページに送られるようになりました。Firefox バグ 385434 を参照してください。
  • document.readyState 属性がサポートされました。Firefox バグ 347174
  • HTML5 の element.classList がサポートされ、クラス属性の処理が容易になりました。Firefox バグ 501257
  • HTML 文書の localNamenamespaceURI が XHTML 文書と同じように振舞うようになりました。localName は小文字で値を返し、HTML 要素の namespaceURI"http://www.w3.org/1999/xhtml" です。
  • element.getElementsByTagNameNS は引数を小文字に変換しなくなったため、引数内の大文字の ASCII 文字が HTML 要素との一致を失敗させます。 document.getElementsByTagNameNS についても同様です。
  • nsIDOMGeoPositionAddress インターフェイスによりジオロケーションの address がサポートされ、新しいフィールドが nsIDOMGeoPosition に追加されました。Firefox バグ 503942
  • window.getComputedStyle 関数は url() 値の中をクォートして返すようになりました。

XPath

choose() XPath メソッドをサポート

choose() メソッドが XPath でサポートされました。

XUL とアドオン開発者向け

あなたが拡張機能の開発者なら、あなたの拡張機能に影響するかもしれない変更点の役に立つ概要を記した Updating extensions for Firefox 3.6 を読むことから始めてください。プラグインの開発者は Updating plug-ins for Firefox 3.6 を読んでください。

新機能

デバイスの傾きの検出

コンテンツはデバイスが加速度センサー(accelerometer)をサポートしていれば MozOrientation イベントによりその傾きを検出できるようになりました。Firefox 3.6 は Mac のノートブックで加速度センサーをサポートします。

HTTP アクティビティのモニタリング

HTTP トランザクションをモニターし、リアルタイムでリクエストとレスポンスを観察できます。

Windows のタスクバーとの協調

Windows 7 またはそれ以降のタスクバー内で、ウィンドウの設定の変更が可能になりました。Firefox 3.6 ではこの機能はデフォルトで無効になっています。

Places

  • Places のクエリーは結果にリダイレクトされたページが含んでいるかどうかを特定できるように redirectsModensINavHistoryQueryOptions インターフェイスで利用できるようになりました。
  • 新しい nsIFaviconService.expireAllFavicons() メソッドが nsIFaviconService インターフェイスに追加されました。

ストレージ

ストレージ API でデータのロケールを考慮した照合がサポートされました

Gecko 1.9.2 にロケールを考慮した技術を用いて最適化された照合を提供する複数の新しい(ソート付き)照合メソッドが追加されました。

ステートメントのプロパティが列挙可能になりました

ステートメントのすべてのプロパティを列挙する for...in enumeration が利用できるようになりました。

mozIStorageStatement の getParameterIndex の動作が 3.5 と 3.6 の間で変更された

詳細は Firefox バグ 528166 を参照してください。

複数の引数のセットを非同期バインドしてステートメントを実行

詳細は Firefox バグ 490085 を参照してください。ドキュメント準備中です。

Preferences

  • nsIContentPrefService インターフェイスが新しく二つのメソッドを持ちました: nsIContentPrefService.getPrefsByName()nsIContentPrefService.removePrefsByName()

テーマ

テーマに関する変更の詳細は Updating themes for Firefox 3.6 を参照してください。

軽量テーマ

Firefox 3.6 は軽量テーマをサポートします。これは作成するのが簡単なテーマで、ブラウザーウィンドウの上部(URL バーとボタンバー)と下部(ステータスバー)に単純に画像を適用します。これは既存の Personas テーマ構造の Firefox への統合です。

その他

  • Firefox は components ディレクトリー内にインストールされたサードパーティのコンポーネントをロードしなくなりました。これはバグのあるサードパーティコンポーネントが実行されるのを防止することによる安定性の向上に貢献します。このやり方でコンポーネントをインストールする開発者は標準的なアドオンとしてインストールできるようにそれらコンポーネントを XPI パッケージとして再パッケージする必要があります
  • 拡張において chrome を登録するために用いていた contents.rdf は利用できなくなりました。 chrome.manifest ファイルを代わりに利用しなければなりません。 Firefox バグ 492008 を参照してください。
  • メニューバーを自動的に隠すためのサポートが追加されました。Firefox バグ 477256 を参照してください。
  • オブジェクトに対して container-live-role 属性を持たせるためのサポートが追加されました。Firefox バグ 391829 を参照してください。
  • tabs-closebutton バインディングが削除されました。Firefox バグ 500971 を参照してください。
  • 発生したイベントに基づいて音を鳴らすための nsISound に対するサポートが追加されました。 Firefox バグ 502799 を参照してください。
  • Gecko 1.9 での新しいドラッグ&ドロップ API をサポートするために nsITreeView のメソッドである nsITreeView.canDrop() および nsITreeView.drop() の構文が変更になりました。Firefox バグ 455590 を参照してください。
  • Windows のダイアログとウィザードのデフォルトボタンへのマウスカーソルの移動がサポートされました。Firefox バグ 76053 を参照してください。これはダイアログとウィザード要素によって自動的に行われます。ただし、XUL アプリケーションが window 要素のウィンドウを生成し、それがデフォルトボタンを持つ場合は、ウィンドウの onload イベントで nsIDOMChromeWindow.notifyDefaultButtonLoaded() をコールする必要があります。
  • nsILocalFileMac インターフェイスが二つのメソッドを持ちました: setFileTypeAndCreatorFromMIMEType()setFileTypeAndCreatorFromExtension()
  • 新しい NetUtils.jsm コードモジュールは、入力ストリームから出力ストリームに非同期にデータをコピーする簡単に利用できるメソッドを提供します。
  • 新しい openLocationLastURL.jsm コードモジュールは、プライベートブラウジングモードであるかを正しく判断して、"Open Location" ダイアログボックスの記憶された URL データの読み込みと変更を容易にします。
  • Windows では、nsIScreen インターフェイスは、グラフィックスドライバーが 32 ビットをサポートしていても、ピクセルごとに 24 ビットカラーをレポートします。これは 24 ビットは実際に利用されているカラーピクセルの数をより正確に表現するためです。
  • Window では <xul:toolbar> XUL 要素の新しい autohide 属性を用いてメニューバーを隠すことができます。
  • loadOneTabaddTab メソッドは新しい relatedToCurrent 引数をサポートし、加えて、多くの引数が省略可能であるために名前による引数の指定ができます。
  • インストールマニフェストで "hidden" プロパティはサポートされなくなりました。アドオンマネージャウィンドウ上でユーザーが見ることのできないアドオンは不可能になりました。
  • @mozilla.org/webshell;1 コンポーネントはもう存在しません。代わりに @mozilla.org/docshell;1 を使う必要があります。
  • タイマーイベントをスケジュールするために、タイマーがコールするオブジェクトをインスタンシエイトすることなく update-timer カテゴリーで登録できるようになりました。代わりに必要になったときにインスタンシエイトされます。詳細は nsIUpdateTimerManager.registerTimer() を参照してください。
  • NPN_GetValue() 関数はもはや変数値 NPNVserviceManager, NPNVDOMelement, NPNVDOMWindowを経由した XPCOM へのアクセスを提供しません。これは将来のバージョンの Gecko バージョンでプラグインを分離したプロセスで動作させるための作業の一部です。
  • プラグインは XPCOM (IDL) インターフェースを通じてスクリプト化できなくなりました。プラグインをスクリプト化可能にするには NPRuntime API を使用し、NPP_GetValue() は、値 NPPVpluginScriptableInstance または NPPVpluginScriptableIID で呼び出されることはなくなりました。これは、将来の Gecko バージョンでプラグインを別プロセスで実行できるようにするための作業の一環です。

Firefox/Gecko 開発者向け

いくつかの変更はあなたが Firefox そのものの内部で作業している場合にだけ興味を持つことでしょう。

マージされたインターフェイス

以下のインターフェイスは統合されました:

  • nsIPluginTagInfo2nsIPluginTagInfo にマージされました。
  • nsIPluginInstanceInternal, nsIPPluginInstancePeer, nsIPluginInstancePeer1, nsIPluginInstancePeer2, nsIPluginInstancePeer3 はすべて nsIPluginInstance にマージされました。
  • nsIWindowlessPlugInstPeernsIPluginInstance にマージされました。
  • nsIPluginManagernsIPluginManager2nsIPluginHost にマージされました。

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

以下のインターフェイスは利用されていない、実装されていないまたは旧式であるためにすべて削除されました:

  • nsIFullScreen
  • nsIDOMSVGListener
  • nsIDOMSVGZoomListener
  • nsIInternetConfigService
  • nsIDKey
  • nsIEventHandler
  • nsIJRILiveConnectPIPeer
  • nsIJRILiveConnectPlugin
  • nsIScriptablePlugin
  • nsIClassicPluginFactory
  • nsIFileUtilities

移動されたインターフェイス

以下のインターフェイスは以前の IDL ファイルから新しい場所に移動されました:

  • nsIDOMNSCSS2Properties は専用の IDL ファイル (dom/interfaces/css/nsIDOMCSS2Properties.idl) に移動されました。
  • nsIUpdateTimerManager はそれ自身の IDL ファイル内に配置されます。

多くのインターフェイスが移動されました。完全なリストは Interfaces moved in Firefox 3.6 を参照してください。

その他のインターフェイスの変更

以下のようなさまざまな変更が行われました:

  • nsIPlugin インターフェイスは nsIFactory ではなく nsISupports から継承します。
  • nsIPluginHost インターフェイスは nsIFactory ではなく nsISupports から継承しますす。
  • nsIFrame インターフェイスは nsISupports ではなく nsQueryFrame から継承します。
  • nsIDeviceContext メソッド getPaletteInfo() は今まで実装されてことがないので削除されました。
  • nsIScriptContext メソッド reportPendingException() はもう利用されていないので削除されました。

アクセシビリティコードの変更

  • メイン文書の子どもが変更された時と同様に、frame と iframe の子どもが変更されたときに EVENT_REORDER アクセシビリティイベント が送信されます。Firefox バグ 420845 を参照してください。
  • nsIAccessibleTable.selectRow() は指定された列が選択される前にどんなカレントの選択であっても正しく削除します。