この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2010年6月)

2010年6月19日

Bug-org 545775 Text editor in ASUS Forum doesn't work.
初回投稿日時: 2010年06月19日22時45分16秒
最終更新日時: 2010年06月19日22時53分21秒
カテゴリ: Mozilla Core バグ修正
SNS: (list)

ASUSのフォーラムでテキストを入力できない、というバグです。

URL欄にテストケースを入れていますが、見やすく整形すると次のようになります。

<script>
  function load() {
    var editorDocument =
      document.getElementById("editor").contentDocument;
    editorDocument.designMode = "On";
    editorDocument.open();
    editorDocument.write("<html><body></body></html>");
    editorDocument.close();
  }
</script>
<body onload="load();">
  <iframe src="about:blank" id="editor"></iframe>
</body>

desginModeが有効になった時点で、nsHTMLEditorがドキュメントに生成されます。このときにその時点でのbody要素がエディタ内でキャッシュされます。その後、document.write()でそのbody要素が置き換えられるのですが、この時に新しいbody要素へリセットがうまくできていませんでした。

このバグ修正で色々と見つけた問題を同時に修正してるので、初回のチェックインだけで5つのパッチに分割しなくてはいけなくなりました。

関連するかもしれないエントリ

bug-org 545775を含むエントリ