Import Cobalt 19.master.0.203780

Includes the following patches:
  https://cobalt-review.googlesource.com/c/cobalt/+/5210
    by errong.leng@samsung.com
  https://cobalt-review.googlesource.com/c/cobalt/+/5270
    by linus.wang@samsung.com
diff --git a/src/third_party/web_platform_tests/vibration/cancel-with-new-manual.html b/src/third_party/web_platform_tests/vibration/cancel-with-new-manual.html
new file mode 100644
index 0000000..1cd9daf
--- /dev/null
+++ b/src/third_party/web_platform_tests/vibration/cancel-with-new-manual.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset='utf-8'/>
+    <title>Vibration API: cancel ongoing vibrate() with a new call to vibrate</title>
+    <link rel='author' title='Robin Berjon' href='mailto:robin@berjon.com'/>
+    <link rel='help' href='http://www.w3.org/TR/vibration/#methods'/>
+    <meta name='flags' content='dom, interact'/>
+    <meta name='assert' content='Cancel the pre-existing instance of the processing vibration patterns algorithm, if any.'/>
+  </head>
+  <body>
+    <h1>Description</h1>
+    <p>
+      After hitting the button below, your device must vibrate continuously for a short period of time (roughly one
+      second), then vibrate a series of short bursts. If the initial continuously vibration is longer (roughly five
+      seconds, it should feel somewhat long) or if there is no series of short vibration bursts then the test has
+      failed.
+    </p>
+    <button id='vib'>Vibrate!</button>
+    <script src='/common/vendor-prefix.js' data-prefixed-objects='[{"ancestors":["navigator"], "name":"vibrate"}]'></script>
+    <script>
+      if (undefined !== navigator.vibrate) {
+          document.getElementById("vib").onclick = function () {
+              navigator.vibrate(5000);
+              setTimeout(function () {
+                  navigator.vibrate([200, 200, 200, 200, 200, 200, 200, 200, 200]);
+              }, 1000);
+          };
+      }
+    </script>
+  </body>
+</html>