Revision 92c857093784ffe21babd2d64564a9cba491c8b7 authored by Yuki Shiino on 26 December 2018, 13:48:42 UTC, committed by Chromium WPT Sync on 26 December 2018, 13:48:42 UTC
This is mostly a reland of Iee5c1d6917ad7770383e06a425f96000835a663a.

This patch implements setTimeout/setInterval Web APIs with IDL
callback function of type Function (i.e. V8Function in Blink).

Also ensure eager finalization of ScheduledAction in DOMTimer to
prevent a memory leak.

Bug: 866610
Change-Id: I3f460247f27069e4054a984efd3f98a2ce0ceac7
1 parent cd31531
Raw File
async-navigator-clipboard-basics.https.html
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async Clipboard basic tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

test(function() {
  assert_not_equals(navigator.clipboard, undefined);
  assert_true(navigator.clipboard instanceof Clipboard);
  assert_equals(navigator.clipboard, navigator.clipboard);
}, "navigator.clipboard exists");

/* clipboard.write() */

promise_test(function() {
  var dt = new DataTransfer();
  dt.items.add("Howdy", "text/plain");
  return navigator.clipboard.write(dt);
}, "navigator.clipboard.write(DataTransfer) succeeds");

promise_test(function(t) {
  return promise_rejects(t, new TypeError(),
                         navigator.clipboard.write());
}, "navigator.clipboard.write() fails (expect DataTransfer)");

promise_test(function(t) {
  return promise_rejects(t, new TypeError(),
                         navigator.clipboard.write(null));
}, "navigator.clipboard.write(null) fails (expect DataTransfer)");

promise_test(function(t) {
  return promise_rejects(t, new TypeError(),
                         navigator.clipboard.write("Bad string"));
}, "navigator.clipboard.write(DOMString) fails (expect DataTransfer)");


/* clipboard.writeText() */

promise_test(function() {
  return navigator.clipboard.writeText("New clipboard text");
}, "navigator.clipboard.writeText(DOMString) succeeds");

promise_test(function(t) {
  return promise_rejects(t, new TypeError(),
                         navigator.clipboard.writeText());
}, "navigator.clipboard.writeText() fails (expect DOMString)");


/* clipboard.read() */

promise_test(function() {
  return navigator.clipboard.read()
    .then(function(result) {
      assert_true(result instanceof DataTransfer);
    });
}, "navigator.clipboard.read() succeeds");


/* clipboard.readText() */

promise_test(function() {
  return navigator.clipboard.readText()
    .then(function(result) {
      assert_equals(typeof result, "string");
    });
}, "navigator.clipboard.readText() succeeds");

</script>
back to top