Revision 5e8eef740f9a79e5626fa41ef67a4b6284a6490b authored by Kouhei Ueno on 06 October 2017, 06:35:33 UTC, committed by Chromium WPT Sync on 06 October 2017, 06:35:33 UTC
Dynamic imports rely on url, nonce, and parser state to be attributed correctly.
This CL updates ScheduledAction to plumb down the info as spec-ed via ScriptSourceCode.

Test: LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/dynamic-import/no-propagate-nonce-setTimeout.html
Bug: 711706
Change-Id: Iabb21f72d9cdafce502aa131773268ba20dd1648
1 parent 531cc81
Raw File
insertAdjacentHTML.tentative.html
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.js"></script>
<body>
<div id="container"></div>
<script>
  var container = document.querySelector('#container');

  test(t => {
    var html = TrustedHTML.escape(STRINGS.unescapedHTML);

    var d = document.createElement('div');
    container.appendChild(d);

    d.insertAdjacentHTML('beforebegin', html);
    assert_equals(d.previousSibling.nodeType, Node.TEXT_NODE);
    assert_equals(d.previousSibling.data, STRINGS.unescapedHTML);

    d.insertAdjacentHTML('afterbegin', html);
    assert_equals(d.firstChild.nodeType, Node.TEXT_NODE);
    assert_equals(d.firstChild.data, STRINGS.unescapedHTML);

    d.insertAdjacentHTML('beforeend', html);
    assert_equals(d.lastChild.nodeType, Node.TEXT_NODE);
    assert_equals(d.lastChild.data, STRINGS.unescapedHTML);

    d.insertAdjacentHTML('afterend', html);
    assert_equals(d.nextSibling.nodeType, Node.TEXT_NODE);
    assert_equals(d.nextSibling.data, STRINGS.unescapedHTML);

    while (container.firstChild)
      container.firstChild.remove();
  }, "insertAdjacentHTML = TrustedHTML.escape().");

  test(t => {
    var html = TrustedHTML.unsafelyCreate(STRINGS.unescapedHTML);

    var d = document.createElement('div');
    container.appendChild(d);

    d.insertAdjacentHTML('beforebegin', html);
    assert_equals(d.previousSibling.nodeType, Node.TEXT_NODE);
    assert_equals(d.previousSibling.data, STRINGS.unescapedText);

    d.insertAdjacentHTML('afterbegin', html);
    assert_equals(d.firstChild.nodeType, Node.TEXT_NODE);
    assert_equals(d.firstChild.data, STRINGS.unescapedText);

    d.insertAdjacentHTML('beforeend', html);
    assert_equals(d.lastChild.nodeType, Node.TEXT_NODE);
    assert_equals(d.lastChild.data, STRINGS.unescapedText);

    d.insertAdjacentHTML('afterend', html);
    assert_equals(d.nextSibling.nodeType, Node.TEXT_NODE);
    assert_equals(d.nextSibling.data, STRINGS.unescapedText);

    while (container.firstChild)
      container.firstChild.remove();
  }, "insertAdjacentHTML = TrustedHTML.unsafelyCreate().");
</script>
back to top