https://github.com/web-platform-tests/wpt
Revision 2ae9561e165d3feb219cd34ee5b0334e91170cfd authored by Hayato Ito on 22 March 2018, 09:56:30 UTC, committed by Chromium WPT Sync on 22 March 2018, 09:56:30 UTC
Element::CanAttachShadowRoot() needs to be updated because it returns wrongly true for
customized built-in elements.

The spec: https://dom.spec.whatwg.org/#dom-element-attachshadow

Bug: 823033
Change-Id: Ia9aeb47569414830f5435f37f85d96101b9fe432
Reviewed-on: https://chromium-review.googlesource.com/970142
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545026}
1 parent 74126cb
Raw File
Tip revision: 2ae9561e165d3feb219cd34ee5b0334e91170cfd authored by Hayato Ito on 22 March 2018, 09:56:30 UTC
Reject customized built-in elements in attachShadow
Tip revision: 2ae9561
Create-blocked-port.htm
<!DOCTYPE html>
<html>
<head>
    <title>WebSocket API - blocked port</title>
    <script type="text/javascript" src="/resources/testharness.js"></script>
    <script type="text/javascript" src="/resources/testharnessreport.js"></script>
    <script type="text/javascript" src="websocket.sub.js"></script>
</head>
<body>
    <div id="log"></div>
    <script>
            async_test(t => {
              const ws = CreateWebSocketWithBlockedPort(__PORT)
              ws.onerror = t.unreached_func()
              ws.onopen = t.step_func_done()
            }, 'Basic check');
            // list of bad ports according to
            // https://fetch.spec.whatwg.org/#port-blocking
            [
                1,    // tcpmux
                7,    // echo
                9,    // discard
                11,   // systat
                13,   // daytime
                15,   // netstat
                17,   // qotd
                19,   // chargen
                20,   // ftp-data
                21,   // ftp
                22,   // ssh
                23,   // telnet
                25,   // smtp
                37,   // time
                42,   // name
                43,   // nicname
                53,   // domain
                77,   // priv-rjs
                79,   // finger
                87,   // ttylink
                95,   // supdup
                101,  // hostriame
                102,  // iso-tsap
                103,  // gppitnp
                104,  // acr-nema
                109,  // pop2
                110,  // pop3
                111,  // sunrpc
                113,  // auth
                115,  // sftp
                117,  // uucp-path
                119,  // nntp
                123,  // ntp
                135,  // loc-srv / epmap
                139,  // netbios
                143,  // imap2
                179,  // bgp
                389,  // ldap
                465,  // smtp+ssl
                512,  // print / exec
                513,  // login
                514,  // shell
                515,  // printer
                526,  // tempo
                530,  // courier
                531,  // chat
                532,  // netnews
                540,  // uucp
                556,  // remotefs
                563,  // nntp+ssl
                587,  // smtp
                601,  // syslog-conn
                636,  // ldap+ssl
                993,  // imap+ssl
                995,  // pop3+ssl
                2049, // nfs
                3659, // apple-sasl
                4045, // lockd
                6000, // x11
                6665, // irc (alternate)
                6666, // irc (alternate)
                6667, // irc (default)
                6668, // irc (alternate)
                6669, // irc (alternate)
            ].forEach(blockedPort => {
              async_test(t => {
                const ws = CreateWebSocketWithBlockedPort(blockedPort)
                ws.onerror = t.step_func_done()
                ws.onopen = t.unreached_func()
              }, "WebSocket blocked port test " + blockedPort)
            })
    </script>
</body>
</html>
back to top