drag-disabled-textarea-shadow-dom.html (1586B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <!-- Conceptually this is just a crashtest, but we need testharness.js so that testdriver works as expected, see https://github.com/web-platform-tests/wpt/issues/31739 --> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-actions.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 <link rel=help href="https://bugzilla.mozilla.org/show_bug.cgi?id=1739079"> 10 <span id="outer"></span> 11 <script> 12 const t = async_test("Shouldn't crash when dragging disabled textarea in shadow dom"); 13 const outer = document.getElementById("outer"); 14 outer.attachShadow({ mode: "open" }).innerHTML = ` 15 <span id="inner" style="pointer-events: none"> 16 <textarea disabled></textarea> 17 </span> 18 `; 19 const inner = outer.shadowRoot.getElementById("inner"); 20 inner.attachShadow({ mode: "open" }).innerHTML = ` 21 <div style="display: flex"> 22 <slot></slot> 23 </div> 24 `; 25 const textarea = outer.shadowRoot.querySelector("textarea"); 26 window.addEventListener("load", t.step_func(function() { 27 const rect = textarea.getBoundingClientRect(); 28 new test_driver.Actions() 29 .pointerMove(rect.left + 5, rect.top + 5) 30 .pointerDown() 31 .pointerMove(rect.left, + 50, rect.top + 50) 32 .pointerMove(0, 0) 33 .pointerUp() 34 .send() 35 .then(t.step_func_done(function() { 36 assert_true(true, "Didn't crash nor hang"); 37 })); 38 })); 39 </script>