Firefox 12 は 米国時間 2012 年 4 月 24 日にリリースされました。この記事は開発者に影響がある Firefox 12 での変更点をまとめています。
Web 開発者向けの変更点一覧
HTML
title
の値に含めた改行文字が反映され、複数行のツールチップを表示できるようになりました。- JavaScript が無効である場合、仕様 に従ったフォールバックコンテンツではなく
<canvas>
要素が表示されていましたが、フォールバックコンテンツが表示されるようになりました。
CSS
text-align-last
プロパティに対応しました。(接頭辞付き)
JavaScript
- シャープ変数 (Netscape 由来の非標準拡張仕様) への対応が打ち切られました。
DOM
- DOMParser が HTML ドキュメントのソース解析に対応しました。
XMLHttpRequest
でtimeout
プロパティとXMLHttpRequestEventTarget
インタフェース 上のontimeout
イベントハンドラである "timeout" イベントを用いた、タイムアウトがサポートされました。XMLHttpRequest
がdata:
URI から読み込めるようになりました。XMLHttpRequest
で巨大なデータをダウンロードしているとき、responseType
に "moz-blob" を設定していると、 これまでに受信したデータのすべてを含むBlob
であるレスポンスを参照できる progress イベントハンドラが定期的に呼び出されるようになりました。これによって、progress ハンドラでデータのすべてが到着するまで待つことなしにデータを処理し始められます。- Gecko が Android 上で マルチタッチ をサポートしました。今までは一度に一つのタッチ操作しか認識しかできませんでした。
- エディタ (フォーム) 上で IME を使った文字入力を行っている場合、従来は確定後に
input
イベントが発生していましたが、Firefox 12 では、IME で編集中の文字列が変更されたことを示すcompositionupdate
イベントの直後にもinput
イベントが発生するようになりました。これにより、input
イベントハンドラを使って、日本語入力中にも未確定文字列を含めたフォームの入力内容を取得することが可能となりました。 - DOM 4 仕様で定義されている
DOMError
が実装されました。 Document.createNodeIterator()
メソッドが DOM 4 仕様に適合するように更新されました。これにより、whatToShow
およびfilter 引数がオプションになり、
非標準の 4 番目の引数である entityReferenceExpansion
が削除されます。Blob
インタフェースのslice() メソッドは符号付き 64 ビット整数の範囲外の
start
の値とend
の値を正しく受け取れないバグによる影響を受けていましたが、この問題は修正されました。
element.getBoundingClientRect()
メソッドが要素の矩形の境界を算出するときに CSS transforms の効果を考慮するようになりました。
新しい WebAPI
- Network Information API:
window.navigator.connection
の実験的サポートが追加されました。(接頭辞付き) - WebTelephony API:
window.navigator.mozTelephony
が実装されました。デバイス上での電話の発信、応答、管理をするためのサポートを提供します。 - WebSMS API: モバイルデバイスで SMS テキストメッセージを送信できる
window.navigator.mozSms
が利用可能になりました。
SVG
SVGTests
DOM API に対応しました。(バグ 607854)SVGStringList
DOM インタフェースが非標準のlength
プロパティに対応しました。(バグ 711958)
MathML
- MathML 式の方向性を制御する
dir
属性に対応しました。<math>
、<mrow>
、<mstyle>
の各要素と、MathML トークン要素 で使用できます。これは特に一部の アラビア語数学的表記 で必要とされるものです。 - MathML3 で定義された配置属性
align
に対応しました。<munder>
、<mover>
、<munderover>
の各要素で使用できます。
ネットワーク
- 以前は、WebSocket チャンネルが、予期せぬエラーのためにクローズしたとき、あるいは、仕様がカバーしていないエラー状況のためにクローズした場合、Gecko は
CLOSE_NORMAL
クローズコードを報告していましたが、代わりにCLOSE_GOING_AWAY コードを報告するようになりました。
開発者ツール
- Web Console がコンソールが開いていない状態の場合にエラーメッセージと
console.log()
を用いて追加したログエントリをキャッシュし、コンソールが開いたときにそれらを表示するようになりました。 - 3D view で "r" キーを押すことにより、ズームレベル、移動、回転をリセットできるようになりました。
- 3D view でノードを選択した後に "x" キーを押すことにより、そのノードを隠すことができるようになりました。
- ソースエディタ にいくつかの新しい編集機能とキーボードショートカットが追加されました。詳細は、ソースエディタの利用 を参照してください。
Mozilla は人気のアドオン Firebug に依存するだけではなく、自身の Web 開発者ツールの統合作業を進めています。これらのツールについてのさらなる情報および Firefox での Web 開発を支援する外部リソースの一覧は、Web developer tools にあります。
その他の変更点
- GEOSTD8 文字セットは、これまでも完全にはサポートされていませんでしたが、まったくサポートされなくなりました。
Mozilla 開発者とアドオン開発者向けの変更点
JavaScript code modules
source-editor.jsm
- The
resetUndo()
method was added; this lets you clear the undo stack. - The source editor now offers methods for providing search capability:
find()
,findNext()
, andfindPrevious()
.
XUL
chromemargin
属性の値の定義が若干変更されました。これにより、デフォルトのウィンドウ枠幅が異なる各プラットフォームで、クロスプラットフォームな XUL コードの見た目を簡単に揃えられるようになりました。
XPCOM
nsISupports
プロキシ が削除されました。代わりに runnable を使ってください。
- Firefox 11 changed the behavior of
Components.utils.getWeakReference()
to throw an exception when the object reference is null; the previous behavior of silently failing has been restored.
XPConnect
- The
PRUint64
data type was incorrectly essentially identical toPRint64
when used with XPConnect. This has been fixed.
インタフェースの変更
nsIScreen_MOZILLA_2_0_BRANCH
インタフェースがnsIScreen
へ統合されました。このインタフェースで定義されていた API (画面の最低輝度の調節) はこれまで文書化されていませんでしたが、これを機に文書化されました。- The
nsIScriptError2
interface has been merged intonsIScriptError
. nsIDownloadManager.addDownload()
is now handled asynchronously rather than synchronously.- The
imgIContainerObserver.frameChanged()
method now receives as its first parameter animgIRequest
object identifying the corresponding request. - The
nsIDOMWindowUtils.sendTouchEvent()
method has been added to allow synthesizing touch events. - You can now scroll the specified content to the vertical center of the view by specifying
SCROLL_CENTER_VERTICALLY
as the scroll constant when callingnsISelectionController.scrollSelectionIntoView()
. - The new
nsIMemoryMultiReporter.explicitNonHeap
attribute has been added; this is a more efficient way to obtain the sum of all of the multi-reporter's measurements that have a path that starts with "explicit" and are of the kindKIND_NONHEAP
. - The
nsIDOMWindowUtils.paintingSuppressed
attribute has been added; this boolean value indicates whether or not painting is currently suppressed on the window. This is used on mobile to prevent bouncy rendering that occurs when attempts to draw the page begin before enough content is available to do so smoothly. - The
nsIDocCharset
andnsIDocumentCharsetInfo
interfaces have been merged intonsIDocShell
. As part of this work, the oldforcedDetector
attribute has been removed; it never did anything.
SpiderMonkey
JSThread
has been eliminated.JSThreadData
has been merged intoJSRuntime
.
Building
- When building on Windows, you must have the Windows 7 SDK installed.
Other changes
- The editor component (known as Midas) now only accepts events from privileged code.
関連記事
- Firefox 12 のサイト互換性に関わる修正のまとめ
- Firefox 12 のアドオン互換性に関わる修正のまとめ
- Aurora 12 is out – improvements and updated Developer Tools
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers