Changeset 59241 in webkit


Ignore:
Timestamp:
May 12, 2010 11:13:00 AM (14 years ago)
Author:
Darin Adler
Message:

2010-05-12 Abhishek Arya <inferno@chromium.org>

Reviewed by Darin Adler.

HTML Entity Escape the contents of a textarea node when accessed via the innerHTML and outerHTML node properties.
https://bugs.webkit.org/show_bug.cgi?id=38922

Test: fast/encoding/textnode-XSS.html

  • editing/markup.cpp: (WebCore::appendStartMarkup):

2010-05-12 Abhishek Arya <inferno@chromium.org>

Reviewed by Darin Adler.

Tests that accessing the innerHTML property of a text node encodes
entities properly. Update existing test to fix the innerHTML result.
https://bugs.webkit.org/show_bug.cgi?id=38922

  • fast/innerHTML/innerHTML-special-elements-expected.txt: Added.
  • fast/innerHTML/innerHTML-special-elements.html: Added.
  • fast/parser/comment-in-textarea-expected.txt: Update test expectation.
  • fast/parser/script-tests/comment-in-textarea.js: Update test by replacing with html entities of <, > chars in textarea innerHTML result.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r59237 r59241  
     12010-05-12  Abhishek Arya  <inferno@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        Tests that accessing the innerHTML property of a text node encodes
     6        entities properly. Update existing test to fix the innerHTML result.
     7        https://bugs.webkit.org/show_bug.cgi?id=38922
     8
     9        * fast/innerHTML/innerHTML-special-elements-expected.txt: Added.
     10        * fast/innerHTML/innerHTML-special-elements.html: Added.
     11
     12        * fast/parser/comment-in-textarea-expected.txt: Update test expectation.
     13        * fast/parser/script-tests/comment-in-textarea.js: Update test by
     14        replacing with html entities of <, > chars in textarea innerHTML result.
     15
    1162010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
    217
  • trunk/LayoutTests/fast/parser/comment-in-textarea-expected.txt

    r51427 r59241  
    55
    66PASS textAreas.length is 1
    7 PASS textAreas[0].innerHTML is "<!-- </textarea> --> This should be part of the textarea"
     7PASS textAreas[0].innerHTML is "&lt;!-- &lt;/textarea&gt; --&gt; This should be part of the textarea"
    88PASS successfullyParsed is true
    99
  • trunk/LayoutTests/fast/parser/script-tests/comment-in-textarea.js

    r51427 r59241  
    77var textAreas = document.getElementsByTagName("textarea");
    88shouldBe("textAreas.length", "1");
    9 shouldBeEqualToString("textAreas[0].innerHTML", "<!-- </textarea> --> This should be part of the textarea");
     9shouldBeEqualToString("textAreas[0].innerHTML", "&lt;!-- &lt;/textarea&gt; --&gt; This should be part of the textarea");
    1010
    1111var successfullyParsed = true;
  • trunk/WebCore/ChangeLog

    r59239 r59241  
     12010-05-12  Abhishek Arya  <inferno@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        HTML Entity Escape the contents of a textarea node when accessed via the innerHTML and outerHTML node properties.
     6        https://bugs.webkit.org/show_bug.cgi?id=38922
     7
     8        Test: fast/encoding/textnode-XSS.html
     9
     10        * editing/markup.cpp:
     11        (WebCore::appendStartMarkup):
     12
    1132010-05-12  Beth Dakin  <bdakin@apple.com>
    214
  • trunk/WebCore/editing/markup.cpp

    r56940 r59241  
    405405                if (parent->hasTagName(scriptTag)
    406406                    || parent->hasTagName(styleTag)
    407                     || parent->hasTagName(textareaTag)
    408407                    || parent->hasTagName(xmpTag)) {
    409408                    appendUCharRange(result, ucharRange(node, range));
     409                    break;
     410                } else if (parent->hasTagName(textareaTag)) {
     411                    appendEscapedContent(result, ucharRange(node, range), documentIsHTML);                   
    410412                    break;
    411413                }
Note: See TracChangeset for help on using the changeset viewer.