Firefox 12 のサイト互換性に関わる修正
Firefox 12 のベータ版が明日 3/16 深夜にリリースされる予定です。可能な限り互換性を維持するよう開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる修正も含まれます。そのような修正点をまとめましたので、動作検証時などにご参照ください。
ここでは後方互換性に影響し得る修正のみ解説します。その他の新機能や変更点については次のページをご覧ください。
- ユーザ向けも含めた新機能: Firefox 12 の主な新機能を紹介します
- 開発者向けの新機能や変更点: Firefox 12 for developers
input
イベントが compositionupdate
イベントの後に発生するようになりました
Bug 713502 – input
event should be fired after compositionupdate
エディタ (フォーム) 上で IME を使った文字入力を行っている場合、従来は確定後に input
イベントが発生していましたが、Firefox 12 では、IME で編集中の文字列が変更されたことを示す compositionupdate
イベントの直後にも input
イベントが発生するようになりました。これにより、input
イベントハンドラを使って、日本語入力中にも未確定文字列を含めたフォームの入力内容を取得することが可能となりました。
エディタ上で擬似的に発生させた keypress
イベントが無視されるようになりました
Bug 698949 – Refuse untrusted keypress
events in editor
dispatchEvent
を使えば keypress
イベントを擬似的に発生させることが可能であり、Firefox はエディタ (フォーム) 上でもこれを受け入れていました。しかし、そうしたエディタ上での「信頼できない」イベントの扱いについては仕様書で定義されておらず、他のブラウザは無視しているため、Firefox も同様の振る舞いとしました。
border-image
の実装が更新されました (3/19 訂正)
border-image
の実装が更新されましたBug 497995 – Implement border-image
revisions in latest css3-background
CSS3 の最新仕様に合わせて、 この変更は Firefox 14 に持ち越されました。border-image
(現在はベンダー接頭辞付き -moz-border-image
) の実装が更新されました。旧バージョン (特に Firefox 10 ESR) 向けの指定と併記する方法は Piro さんのブログ記事 が参考になります。
複数行のツールチップ表示が可能になりました
Bug 358452 – Firefox: Let authors put line breaks (newlines) in tooltips (title
attribute)
Firefox はこれまで title
属性値内の改行文字を無視していましたが、HTML5 の仕様に従い、改行を反映して複数行のツールチップを表示させることが可能となりました。このため title
属性の値に改行文字を含めている場合、従来とは表示が異なります。
空の Location
ヘッダを返すページは表示できなくなります (3/25 追記)
セキュリティ脆弱性を修正するための変更により、HTTP レスポンスヘッダに空の値の Location
ヘッダを含むページを開くと、「コンテンツデータ破損エラー」「このページは、データの伝送中にエラーが検出されたため表示できません」となります。問題を解決するには不正な Location
ヘッダを削除してください。
UniversalXPConnect
以外の特権管理機能が削除されました (3/16 追記)
Bug 713747 – Rip out non-UniversalXPConnect
privilege manager functionality
Firefox では、JavaScript 拡張仕様 netscape.security.PrivilegeManager.enablePrivilege
で高度な特権を要求することで、通常 Web コンテンツでは許可されていない操作 (ローカルファイルの読み込み、設定の変更など) を行うことができます。この 特権管理機能 を有効化するにはあらかじめ Firefox の設定を変更する必要があり、イントラネットなどごく一部で使われてきました。
Firefox 12 では、汎用的な UniversalXPConnect
を除く 5 つの特権、UniversalBrowserRead
、UniversalBrowserWrite
、UniversalPreferencesRead
、UniversalPreferencesWrite
、UniversalFileRead
が削除されました。
将来的には、Web コンテンツから利用できる特権管理機能 (enablePrivilege
関数) そのものが廃止される予定であり、アドオン で代用することが推奨されています。
JavaScript シャープ変数への対応が打ち切られました
Bug 566700 – remove sharp variables
シャープ変数 は、Netscape 時代に考案され、Mozilla の JavaScript エンジンも実装していた非標準の拡張仕様です。Firefox 12 以降では使用できません。
以前のバージョンについて
以前のバージョンについても同様に、後方互換性に関わる修正点をまとめています:
myakura :
Kohei Yoshino :