Bug 1464293 [wpt PR 11152] - Refresh frameElement.html test., a=testonly
authorarthursonzogni <arthursonzogni@chromium.org>
Wed, 06 Jun 2018 14:59:38 +0000
changeset 422161 a06c3b14e999f2ac77a0d801aa449dcf6e135e0a
parent 422160 a9e1b4d220b1d64291e35a15c50d04cc9356b60a
child 422162 24e14dfd9d8d5a7092cb1266e76cdd872ae51d70
push id34122
push userebalazs@mozilla.com
push dateMon, 11 Jun 2018 09:37:00 +0000
treeherdermozilla-central@9941eb8c3b29 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1464293, 11152, 831155, 1069089, 561865
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1464293 [wpt PR 11152] - Refresh frameElement.html test., a=testonly Automatic update from web-platform-testsRefresh frameElement.html test. - Removes unused things like <div id="log"></div>. It probably made sense at some point, but no more after the semi-automatic conversion to a WPT test. - Use more meaningful names. - Group elements (iframes/embed/objects) by tests. Bug: 831155 Change-Id: I7bb36132bb3e6be0fc952f4d2d7c1edb847878c1 Reviewed-on: https://chromium-review.googlesource.com/1069089 Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#561865} -- wpt-commits: df10c68df5d8c5d4717e28143e749c1f76a9b678 wpt-pr: 11152
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -563473,17 +563473,17 @@
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "html/browsers/windows/nested-browsing-contexts/contains.json": [
    "0f2e164f656015ba43e2b3471af67a5d16fb97ea",
    "support"
   ],
   "html/browsers/windows/nested-browsing-contexts/frameElement.sub.html": [
-   "480ab947e93b63641f6920b17851ae2d98605b5c",
+   "2eb4d259579eea7c5de5f23f57484163a881673e",
    "testharness"
   ],
   "html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html": [
    "f9b0142274439bb5e64cd35758c2573b7ff4dfd8",
    "support"
   ],
   "html/browsers/windows/nested-browsing-contexts/resources/frameElement-window-post.html": [
    "e18bdb8a34bcf88b92e9b73ce75ed3a412889b09",
--- a/testing/web-platform/tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
+++ b/testing/web-platform/tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html
@@ -1,66 +1,66 @@
 <!DOCTYPE html>
-<meta charset="utf-8"/>
-<title>HTML Test: window.frameElement</title>
-<link rel="author" title="Intel" href="http://www.intel.com/" />
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-
-var t1 = async_test("The window's frameElement attribute must return its container element if it is a nested browsing context");
-var t2 = async_test("The SecurityError must be thrown if the window accesses to frameElement attribute of a Window which does not have the same effective script origin");
-var t3 = async_test("The window's frameElement attribute must return null if the container's document does not have the same effective script origin");
+<html>
+  <head>
+    <meta charset="utf-8"/>
+    <title>HTML Test: window.frameElement</title>
+    <link rel="author" title="Intel" href="http://www.intel.com/" />
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <!-- t1 (same-origin)-->
+    <iframe id="iframe_0"></iframe>
+    <iframe id="iframe_1" src="./resources/frameElement-nested-frame.html"></iframe>
+    <object id="object_id" name="object_name" type="text/html" data="about:blank"></object>
+    <embed id="embed_id" name="embed_name" type="image/svg+xml" src="/images/green.svg" />
 
-function on_load() {
-  t1.step(function () {
-    assert_equals(frames[0].frameElement, document.getElementById("fr1"),
-                  "The frameElement attribute should be the first iframe element.");
-    assert_equals(window["win2"].frameElement, document.getElementById("obj"),
-                  "The frameElement attribute should be the object element.");
-    assert_equals(window["win3"].frameElement, document.getElementById("emb"),
-                  "The frameElement attribute should be the embed element.");
-    assert_equals(document.getElementById("fr4").contentWindow[0].frameElement,
-                  document.getElementById("fr4").contentDocument.getElementById("f1"),
-                  "The frameElement attribute should be the frame element in 'resources/frameElement-nested-frame.html'.");
-  });
-  t1.done();
+    <!-- t2 (cross-origin) -->
+    <iframe name="iframe_2" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html"></iframe>
+
+    <!-- t3 (cross-origin) -->
+    <iframe id="iframe_3" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/html/browsers/windows/nested-browsing-contexts/resources/frameElement-window-post.html"></iframe>
 
-  t2.step(function () {
-    assert_throws("SecurityError", function () { frames[1].frameElement; },
-                  "The SecurityError exception should be thrown.");
-  });
-  t2.done();
+    <script>
+      test(function() {
+        assert_equals(window.frameElement, null,
+          "The frameElement attribute should be null.");
+      }, "The window's frameElement attribute must return null if it is not a nested browsing context");
 
-  t3.step(function () {
-    document.getElementById("fr5").contentWindow.postMessage(null, "*");
-  });
-  window.addEventListener("message", function (event) {
-    var data = JSON.parse(event.data);
-    if (data.name == "testcase3") {
-      t3.step(function () {
-        assert_equals(data.result, "window.frameElement = null",
-                      "The frameElement attribute should be null.");
-      });
-      t3.done();
-    }
-  }, false);
-}
+      var t1 = async_test("The window's frameElement attribute must return its container element if it is a nested browsing context");
+      window.addEventListener("load", t1.step_func_done(function() {
+        assert_equals(frames[0].frameElement, document.getElementById("iframe_0"),
+          "The frameElement attribute should be the first iframe element.");
+        assert_equals(window["object_name"].frameElement, document.getElementById("object_id"),
+          "The frameElement attribute should be the object element.");
+        assert_equals(window["embed_name"].frameElement, document.getElementById("embed_id"),
+          "The frameElement attribute should be the embed element.");
+        assert_equals(document.getElementById("iframe_1").contentWindow[0].frameElement,
+          document.getElementById("iframe_1").contentDocument.getElementById("f1"),
+          "The frameElement attribute should be the frame element in 'resources/frameElement-nested-frame.html'.");
+      }));
 
-</script>
-<body onload="on_load()">
-  <div id="log"></div>
-  <iframe id="fr1"></iframe>
-  <iframe id="fr2" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/html/browsers/windows/nested-browsing-contexts/resources/frameElement-nested-frame.html"></iframe><!--cross origin -->
-  <iframe id="fr3" src="" style="display:none"></iframe>
-  <object id="obj" name="win2" type="text/html" data="about:blank"></object>
-  <embed id="emb" name="win3" type="image/svg+xml" src="/images/green.svg" />
-  <iframe id="fr4" src="resources/frameElement-nested-frame.html"></iframe> <!-- same origin -->
-  <iframe id="fr5" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/html/browsers/windows/nested-browsing-contexts/resources/frameElement-window-post.html"></iframe> <!-- cross origin -->
-  <script>
+      var t2 = async_test("The SecurityError must be thrown if the window accesses to frameElement attribute of a Window which does not have the same effective script origin");
+      window.addEventListener("load", t2.step_func_done(function() {
+        assert_throws("SecurityError", function() {
+            frames["iframe_2"].frameElement;
+          },
+          "The SecurityError exception should be thrown.");
+      }));
 
-  test(function () {
-    assert_equals(window.frameElement, null,
-                  "The frameElement attribute should be null.");
-  }, "The window's frameElement attribute must return null if it is not a nested browsing context");
-
-  </script>
-</body>
+      var t3 = async_test("The window's frameElement attribute must return null if the container's document does not have the same effective script origin");
+      window.addEventListener("load", function() {
+        window.addEventListener("message", function(event) {
+          var data = JSON.parse(event.data);
+          if (data.name == "testcase3") {
+            t3.step(function() {
+              assert_equals(data.result, "window.frameElement = null",
+                "The frameElement attribute should be null.");
+              t3.done();
+            });
+          }
+        }, false);
+        document.getElementById("iframe_3").contentWindow.postMessage(null, "*");
+      })
+    </script>
+  </body>
+</html>