Firefox 12 for developers

Firefox 12 は 米国時間 2012 年 4 月 24 日にリリースされました。この記事は開発者に影響がある Firefox 12 での変更点をまとめています。

ウェブ開発者向けの変更点一覧

HTML

  • title の値に含めた改行文字が反映され、複数行のツールチップを表示できるようになりました。
  • JavaScript が無効である場合、仕様 に従ったフォールバックコンテンツではなく <canvas> 要素が表示されていましたが、フォールバックコンテンツが表示されるようになりました。

CSS

JavaScript

  • シャープ変数 (Netscape 由来の非標準拡張仕様) への対応が打ち切られました。

DOM

  • DOMParser が HTML ドキュメントのソース解析に対応しました。
  • XMLHttpRequesttimeout プロパティと XMLHttpRequestEventTarget インターフェイス 上の ontimeout イベントハンドラーである "timeout" イベントを用いた、タイムアウトがサポートされました。
  • XMLHttpRequestdata: 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

MathML

ネットワーク

  • 以前は、WebSocket チャンネルが、予期せぬエラーのためにクローズしたとき、あるいは、仕様がカバーしていないエラー状況のためにクローズした場合、Gecko は CLOSE_NORMAL クローズコードを報告していましたが、代わりに CLOSE_GOING_AWAY コードを報告するようになりました。

開発者ツール

  • Web Console がコンソールが開いていない状態の場合にエラーメッセージと console.log() を用いて追加したログエントリーをキャッシュし、コンソールが開いたときにそれらを表示するようになりました。
  • 3D view で "r" キーを押すことにより、ズームレベル、移動、回転をリセットできるようになりました。
  • 3D view でノードを選択した後に "x" キーを押すことにより、そのノードを隠すことができるようになりました。
  • ソースエディター にいくつかの新しい編集機能とキーボードショートカットが追加されました。詳細は、ソースエディターの利用 を参照してください。

Mozilla は人気のアドオン Firebug に依存するだけではなく、自身のウェブ開発者ツールの統合作業を進めています。これらのツールについてのさらなる情報および Firefox でのウェブ開発を支援する外部リソースの一覧は、Web developer tools にあります。

その他の変更点

  • GEOSTD8 文字セットは、これまでも完全にはサポートされていませんでしたが、まったくサポートされなくなりました。

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

JavaScript code modules

source-editor.jsm

XUL

  • chromemargin 属性の値の定義が若干変更されました。これにより、デフォルトのウィンドウ枠幅が異なる各プラットフォームで、クロスプラットフォームな XUL コードの見た目を簡単に揃えられるようになりました。

XPCOM

  • 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 to PRint64 when used with XPConnect. This has been fixed.

インターフェイスの変更

  • nsIScreen_MOZILLA_2_0_BRANCH インターフェイスが nsIScreen へ統合されました。このインターフェイスで定義されていた API (画面の最低輝度の調節) はこれまで文書化されていませんでしたが、これを機に文書化されました。
  • The nsIScriptError2 interface has been merged into nsIScriptError.
  • nsIDownloadManager.addDownload is now handled asynchronously rather than synchronously.
  • The imgIContainerObserver.frameChanged method now receives as its first parameter an imgIRequest 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 calling nsISelectionController.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 kind KIND_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 and nsIDocumentCharsetInfo interfaces have been merged into nsIDocShell. As part of this work, the old forcedDetector attribute has been removed; it never did anything.

SpiderMonkey

  • JSThread has been eliminated.
  • JSThreadData has been merged into JSRuntime.

Building

  • When building on Windows, you must have the Windows 7 SDK installed.

Other changes

関連記事