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/selection/test-iframe.html b/src/third_party/web_platform_tests/selection/test-iframe.html
new file mode 100644
index 0000000..42b9823
--- /dev/null
+++ b/src/third_party/web_platform_tests/selection/test-iframe.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<title>Selection test iframe</title>
+<link rel=author title="Aryeh Gregor" href=ayg@aryeh.name>
+<body>
+<script src=common.js></script>
+<script>
+"use strict";
+
+// This script only exists because we want to evaluate the range endpoints
+// in each iframe using that iframe's local variables set up by common.js.  It
+// just creates a range with the endpoints given by
+// eval(window.testRangeInput), and assigns the result to window.testRange.  If
+// there's an exception, it's assigned to window.unexpectedException.
+// Everything else is to be done by the script that created the iframe.
+window.unexpectedException = null;
+
+function run() {
+    window.unexpectedException = null;
+    try {
+        window.testRange = rangeFromEndpoints(eval(window.testRangeInput));
+    } catch(e) {
+        window.unexpectedException = e;
+    }
+}
+
+// Remove the scripts so they don't run repeatedly when the iframe is
+// reinitialized
+[].forEach.call(document.querySelectorAll("script"), function(script) {
+    script.parentNode.removeChild(script);
+});
+
+testDiv.style.display = "none";
+</script>