Firefox 18 サイト互換性情報

  • リビジョンの URL スラッグ: Site_Compatibility_for_Firefox_18
  • リビジョンのタイトル: Firefox 18 のサイト互換性に関わる修正のまとめ
  • リビジョンの ID: 343283
  • 作成日:
  • 作成者: Yoshino
  • 現行リビジョン いいえ
  • コメント

このリビジョンの内容

{{draft}}

Firefox 18 の ベータ版 リリースされました。可能な限り互換性を維持しつつ開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる変更も含まれます。そのような変更点をまとめましたので、サイトやアプリケーションの動作検証時にご活用ください。

ここではWeb サイトの後方互換性に影響し得る変更のみ解説します。その他の新機能や変更点については以下のドキュメントをご覧ください。

この一覧は最終版のリリースまでに更新される可能性がありますので、後日またチェックしてください。

CSS

min-widthmin-height の初期値が auto に変わりました

min-widthmin-height 両プロパティが 初期値 として auto キーワードを取るようになりました。Firefox 18 で実装され初期設定では無効となっている フレキシブルボックス (flexbox) では、この auto キーワードは flexbox 内の最小アイテム (min-content) を示します。それ以外の要素では、従来通り 0 と計算されるため影響はありません。

DOM

MozTouch イベントが廃止され、標準のタッチイベントに置き換えられました

Firefox の試験実装で廃止予定となっていた MozTouch* API (MozTouchDownMozTouchMoveMozTouchUp イベント) が削除されました。今後は W3C 標準のタッチイベント を使用してください。

サイト互換性を確保するため、Windows ではタッチ入力の可否を自動判別し、非対応端末ではタッチイベントを無効化するようになりました。上記バグのコメントによれば、対応端末は現時点でわずか数パーセントとのことです。Android では初期設定で有効となっています。Mac 版と Linux 版の Firefox ではまだタッチイベントが実装されていません。

多くのサイトで タッチイベントに関する互換性問題 が確認されています。既にサイトやアプリケーション側でモバイル向けの対応を行っている場合は、Firefox をはじめとするデスクトップブラウザでも期待通りに動作するかどうか必ずテストしましょう。

Page Visibility API の接頭辞が外れました

接頭辞付きの mozvisibilitychange イベントと、Page Visibility APImozHiddenmozVisibilityState プロパティが廃止予定となりました。今後は接頭辞なしの visibilitychange イベントと、hiddenvisibilityState プロパティを使用してください。

mozallowfullscreen 属性の接頭辞が外れました

インラインフレーム (iframe) 内コンテンツの 全画面表示 を許容する mozallowfullscreen 属性の接頭辞が外れました。HTML5 の allowfullscreen 属性は実際に YouTube の埋め込みプレーヤーで使用されています。

BlobBuilder が廃止されました

廃止予定となっていた BlobBuilder (MozBlobBuilder) インタフェースが削除されました。今後 Blob オブジェクトを作成するには Blob コンストラクタを使用してください。

localStorage の保存上限サイズが 5 MB に変更されました

従来、オフラインストレージが有効になっているページでは最大で 200 MB のデータを保存することが可能でしたが、同期 IO を必要とする localStorage はパフォーマンスの問題を引き起こすことなどから、保存上限サイズ (クォータ) が 5 MB へ変更されました。また、ユーザが Cookie を削除する際、localStorage に保存されているデータも併せて削除されるようになりました。今後はできる限り IndexedDB の非同期 API を使用することが推奨されています。

XHR.getResponseHeader() の値が冗長な UTF-8 バイト列に変わりました

XMLHttpRequest の最新仕様に従い、getResponseHeader メソッドが冗長なエンコーディングで表現される値を返すようになりました。例えば「」は「\xE2\x80\xA6」となります。

JavaScript

Proxy API が最新の仕様に合わせて更新されました

ECMAScript 6 (Harmony) の Direct Proxy が実装されました。古い API を使用している場合はコードを書き換える必要があります。

WebGL

MOZ_EXT_texture_filter_anisotropic の接頭辞が外れました

廃止予定となっていた MOZ_EXT_texture_filter_anisotropic が削除されました。今後は接頭辞なしの EXT_texture_filter_anisotropic 拡張を使用してください。

ネットワーク

リクエストヘッダの品質係数が小数点以下 2 桁まで反映されるようになりました

Firefox はこれまで品質係数を小数点以下 1 桁で固定していました。品質係数とは、Accept-Language などの HTTP リクエストヘッダに含まれる、q= に続く数値です。この実装では複数の項目が同じ値となってしまう場合があることから、より明確にするため小数点以下 2 桁まで反映するよう変更されました。

Proxy-Connection ヘッダが廃止されました

HTTP プロキシ設定時に送信されていた Proxy-Connection リクエストヘッダが廃止されました。このヘッダは非標準で、実際にはうまく機能していませんでした。

セキュリティ

参考: SSL ページでの非 SSL コンテンツの読み込みを禁止する設定が追加されました

SSL (https) 使用ページ内で非 SSL (http) サイトからコンテンツが読み込まれるのをブロックする設定が追加されました。スクリプト、スタイルシート、プラグインコンテンツ、インラインフレーム、Web フォントWebSocketssecurity.mixed_content.block_active_content で、それ以外の画像、音声動画 といった静的コンテンツは security.mixed_content.block_display_content で、それぞれブロックすることが可能です。

初期設定は今のところいずれも無効 (false) となっていますが、ユーザがこの設定を有効にした場合、該当するコンテンツは読み込まれなくなります。サイト運営者は SSL ページに非 SSL コンテンツを混在させないよう注意しましょう。

このリビジョンのソースコード

<div>
  {{draft}}</div>
<p>Firefox 18 の <a href="http://www.mozilla.jp/firefox/preview/">ベータ版</a> が <time datetime="2012-11-26">11/26</time> リリースされました。可能な限り互換性を維持しつつ開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる変更も含まれます。そのような変更点をまとめましたので、サイトやアプリケーションの動作検証時にご活用ください。</p>
<p>ここでは<strong>Web サイトの後方互換性に影響し得る変更のみ解説します</strong>。その他の新機能や変更点については以下のドキュメントをご覧ください。</p>
<ul>
  <li><a href="http://www.mozilla.jp/firefox/18.0beta/releasenotes/">Firefox 18 ベータ版リリースノート</a></li>
  <li><a href="/ja/docs/Firefox_18_for_developers">Firefox 18 for developers</a> (MDN)</li>
  <li><a href="https://hacks.mozilla.org/2012/10/aurora-18-hidpi-touch-events/">Aurora 18: HiDPI &amp; Touch Events</a> (Mozilla Hacks)</li>
  <li><a href="https://dev.mozilla.jp/2012/12/firefox-18-addon-compatibility/">Firefox 18 のアドオン互換性に関わる修正のまとめ</a></li>
</ul>
<p>この一覧は最終版のリリースまでに更新される可能性がありますので、後日またチェックしてください。</p>
<section id="sect1">
  <h2 id="CSS" name="CSS">CSS</h2>
  <section id="sect2">
    <h3 id="The_initial_value_for_min-width_and_min-height_has_been_changed_to_auto" name="The_initial_value_for_min-width_and_min-height_has_been_changed_to_auto"><code>min-width</code> と <code>min-height</code> の初期値が <code>auto</code> に変わりました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=763689">Bug 763689 – New initial value for "min-width" &amp; "min-height": auto</a></li>
    </ul>
    <p><a href="/ja/docs/CSS/min-width"><code>min-width</code></a>、<a href="/ja/docs/CSS/min-height"><code>min-height</code></a> 両プロパティが <a href="/ja/docs/CSS/initial_value">初期値</a> として <a href="/ja/docs/CSS/auto"><code>auto</code></a> キーワードを取るようになりました。Firefox 18 で実装され初期設定では無効となっている <a href="/ja/docs/CSS/Using_CSS_flexible_boxes">フレキシブルボックス (flexbox)</a> では、この <code>auto</code> キーワードは flexbox 内の最小アイテム (<code>min-content</code>) を示します。それ以外の要素では、従来通り <code>0</code> と計算されるため影響はありません。</p>
  </section>
</section>
<section id="sect3">
  <h2 id="DOM" name="DOM">DOM</h2>
  <section id="sect4">
    <h3 id="The_MozTouch_events_were_removed_in_favor_of_the_standard_touch_events" name="The_MozTouch_events_were_removed_in_favor_of_the_standard_touch_events"><code>MozTouch</code> イベントが廃止され、標準のタッチイベントに置き換えられました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=726615">Bug 726615 – Support W3C touch event instead of MozTouch event</a></li>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=798821">Bug 798821 – Disable touch events on Windows for devices that do not support touch input</a></li>
    </ul>
    <p>Firefox の試験実装で廃止予定となっていた <a href="/ja/docs/DOM/Touch_events_%28Mozilla_experimental%29"><code>MozTouch*</code> API</a> (<code>MozTouchDown</code>、<code>MozTouchMove</code>、<code>MozTouchUp</code> イベント) が削除されました。今後は <a href="/ja/docs/DOM/Touch_events">W3C 標準のタッチイベント</a> を使用してください。</p>
    <p>サイト互換性を確保するため、Windows ではタッチ入力の可否を自動判別し、非対応端末ではタッチイベントを無効化するようになりました。上記バグのコメントによれば、対応端末は現時点でわずか数パーセントとのことです。Android では初期設定で有効となっています。Mac 版と Linux 版の Firefox ではまだタッチイベントが実装されていません。</p>
    <p><strong>多くのサイトで <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=806805&amp;hide_resolved=1">タッチイベントに関する互換性問題</a> が確認されています</strong>。既にサイトやアプリケーション側でモバイル向けの対応を行っている場合は、Firefox をはじめとするデスクトップブラウザでも期待通りに動作するかどうか必ずテストしましょう。</p>
  </section>
  <section id="sect5">
    <h3 id="The_Page_Visibility_API_has_been_unprefixed" name="The_Page_Visibility_API_has_been_unprefixed">Page Visibility API の接頭辞が外れました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812086">Bug 812086 – Unprefix Page Visibility API</a></li>
    </ul>
    <p>接頭辞付きの <code>mozvisibilitychange</code> イベントと、<a href="/ja/docs/DOM/Using_the_Page_Visibility_API">Page Visibility API</a> の <code>mozHidden</code>、<code>mozVisibilityState</code> プロパティが廃止予定となりました。今後は接頭辞なしの <a href="/ja/docs/Mozilla_Event_Reference/visibilitychange"><code>visibilitychange</code></a> イベントと、<a href="/ja/docs/DOM/Using_the_Page_Visibility_API#document.hidden"><code>hidden</code></a>、<a href="/ja/docs/DOM/Using_the_Page_Visibility_API#document.visibilityState"><code>visibilityState</code></a> プロパティを使用してください。</p>
  </section>
  <section id="sect6">
    <h3 id="mozallowfullscreen_has_been_unprefixed" name="mozallowfullscreen_has_been_unprefixed"><code>mozallowfullscreen</code> 属性の接頭辞が外れました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=805301">Bug 805301 – Rename mozallowfullscreen to allowfullscreen</a></li>
    </ul>
    <p>インラインフレーム (<a href="/ja/docs/HTML/Element/iframe"><code>iframe</code></a>) 内コンテンツの <a href="/ja/docs/DOM/Using_fullscreen_mode">全画面表示</a> を許容する <code>mozallowfullscreen</code> 属性の接頭辞が外れました。HTML5 の <code>allowfullscreen</code> 属性は実際に YouTube の埋め込みプレーヤーで使用されています。</p>
  </section>
  <section id="sect7">
    <h3 id="BlobBuilder_has_been_removed" name="BlobBuilder_has_been_removed"><code>BlobBuilder</code> が廃止されました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=744907">Bug 744907 – Remove BlobBuilder</a></li>
    </ul>
    <p>廃止予定となっていた <a href="/ja/docs/DOM/BlobBuilder"><code>BlobBuilder</code></a> (<code>MozBlobBuilder</code>) インタフェースが削除されました。今後 <code>Blob</code> オブジェクトを作成するには <a href="/ja/docs/DOM/Blob"><code>Blob</code></a> コンストラクタを使用してください。</p>
  </section>
  <section id="sect8">
    <h3 id="The_localStorage_quota_has_been_limited_to_5_MB" name="The_localStorage_quota_has_been_limited_to_5_MB"><code>localStorage</code> の保存上限サイズが 5 MB に変更されました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=776416">Bug 776416 – Remove exceptions to 5MB quota rule in localStorage</a></li>
    </ul>
    <p>従来、オフラインストレージが有効になっているページでは最大で 200 MB のデータを保存することが可能でしたが、同期 IO を必要とする <a href="/ja/docs/DOM/Storage#localStorage"><code>localStorage</code></a> はパフォーマンスの問題を引き起こすことなどから、保存上限サイズ (クォータ) が 5 MB へ変更されました。また、ユーザが Cookie を削除する際、<code>localStorage</code> に保存されているデータも併せて削除されるようになりました。今後はできる限り <a href="/ja/docs/IndexedDB"><code>IndexedDB</code></a> の非同期 API を使用することが推奨されています。</p>
  </section>
  <section id="sect9">
    <h3 id="The_value_of_XHR.getResponseHeader()_has_been_changed_to_redundant_UTF-8_byte_characters" name="The_value_of_XHR.getResponseHeader()_has_been_changed_to_redundant_UTF-8_byte_characters"><code>XHR.getResponseHeader()</code> の値が冗長な UTF-8 バイト列に変わりました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=795867">Bug 795867 – XHR getResponseHeader() should inflate the value</a></li>
    </ul>
    <p><a href="/ja/docs/DOM/XMLHttpRequest"><code>XMLHttpRequest</code></a> の最新仕様に従い、<a href="/ja/docs/DOM/XMLHttpRequest#getResponseHeader%28%29"><code>getResponseHeader</code></a> メソッドが冗長なエンコーディングで表現される値を返すようになりました。例えば「<code>…</code>」は「<code>\xE2\x80\xA6</code>」となります。</p>
  </section>
</section>
<section id="sect10">
  <h2 id="JavaScript" name="JavaScript">JavaScript</h2>
  <section id="sect11">
    <h3 id="The_Proxy_API_has_been_updated_for_the_new_spec" name="The_Proxy_API_has_been_updated_for_the_new_spec">Proxy API が最新の仕様に合わせて更新されました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=703537">Bug 703537 – Implement Harmony direct proxies</a></li>
    </ul>
    <p>ECMAScript 6 (Harmony) の <a href="/ja/docs/JavaScript/Reference/Global_Objects/Proxy">Direct Proxy</a> が実装されました。<a href="/ja/docs/JavaScript/Old_Proxy_API">古い API</a> を使用している場合はコードを書き換える必要があります。</p>
  </section>
</section>
<section id="sect12">
  <h2 id="WebGL" name="WebGL">WebGL</h2>
  <section id="sect13">
    <h3 id="MOZ_EXT_texture_filter_anisotropic_has_been_unprefixed" name="MOZ_EXT_texture_filter_anisotropic_has_been_unprefixed"><code>MOZ_EXT_texture_filter_anisotropic</code> の接頭辞が外れました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=790946">Bug 790946 – Remove support for the MOZ_ prefixed EXT_texture_filter_anisotropic ext name</a></li>
    </ul>
    <p>廃止予定となっていた <code>MOZ_EXT_texture_filter_anisotropic</code> が削除されました。今後は接頭辞なしの <a href="/ja/docs/WebGL/Using_Extensions#EXT_texture_filter_anisotropic"><code>EXT_texture_filter_anisotropic</code></a> 拡張を使用してください。</p>
  </section>
</section>
<section id="sect14">
  <h2 id="Network" name="Network">ネットワーク</h2>
  <section id="sect15">
    <h3 id="The_quality_factor_in_request_headers_can_now_have_2_decimal_places" name="The_quality_factor_in_request_headers_can_now_have_2_decimal_places">リクエストヘッダの品質係数が小数点以下 2 桁まで反映されるようになりました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=672448">Bug 672448 – Clamp quality factor ('q') values to 2 decimal places</a></li>
    </ul>
    <p>Firefox はこれまで品質係数を小数点以下 1 桁で固定していました。品質係数とは、<a href="/ja/docs/HTTP/Content_negotiation#The_Accept-Language.3A_header"><code>Accept-Language</code></a> などの HTTP リクエストヘッダに含まれる、<code>q=</code> に続く数値です。この実装では複数の項目が同じ値となってしまう場合があることから、より明確にするため小数点以下 2 桁まで反映するよう変更されました。</p>
  </section>
  <section id="sect16">
    <h3 id="The_Proxy-Connection_header_has_gone" name="The_Proxy-Connection_header_has_gone"><code>Proxy-Connection</code> ヘッダが廃止されました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=570283">Bug 570283 – Stop sending Proxy-Connection</a></li>
    </ul>
    <p>HTTP プロキシ設定時に送信されていた <code>Proxy-Connection</code> リクエストヘッダが廃止されました。このヘッダは非標準で、実際にはうまく機能していませんでした。</p>
  </section>
</section>
<section id="sect17">
  <h2 id="Security" name="Security">セキュリティ</h2>
  <section id="sect18">
    <h3 id="FYI.3A_Preferences_to_prevent_non-SSL_contents_on_SSL_pages_from_loading_have_been_added" name="FYI.3A_Preferences_to_prevent_non-SSL_contents_on_SSL_pages_from_loading_have_been_added">参考: SSL ページでの非 SSL コンテンツの読み込みを禁止する設定が追加されました</h3>
    <ul>
      <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=62178">Bug 62178 – implement mechanism to prevent sending insecure requests from a secure context</a></li>
    </ul>
    <p>SSL (<code>https</code>) 使用ページ内で非 SSL (<code>http</code>) サイトからコンテンツが読み込まれるのをブロックする設定が追加されました。スクリプト、スタイルシート、プラグインコンテンツ、インラインフレーム、<a href="/ja/docs/CSS/@font-face">Web フォント</a>、<a href="/ja/docs/WebSockets">WebSockets</a> は <code>security.mixed_content.block_active_content</code> で、それ以外の画像、<a href="/ja/docs/HTML/Element/audio">音声</a>、<a href="/ja/docs/HTML/Element/video">動画</a> といった静的コンテンツは <code>security.mixed_content.block_display_content</code> で、それぞれブロックすることが可能です。</p>
    <p>初期設定は今のところいずれも無効 (<code>false</code>) となっていますが、ユーザがこの設定を有効にした場合、該当するコンテンツは読み込まれなくなります。サイト運営者は SSL ページに非 SSL コンテンツを混在させないよう注意しましょう。</p>
  </section>
</section>
Revert to this revision