Skip to content

Commit

Permalink
Add 4 tests for HTML sandboxing (5.4) (#187)
Browse files Browse the repository at this point in the history
* Add 4 tests for HTML sandboxing (5.4)

- 2 tests for DOM access from sandboxed iframe
- 2 tests for Script execution from sandboxed iframe
  • Loading branch information
kinu authored and sideshowbarker committed Oct 30, 2016
1 parent 7e1b47b commit 1245fac
Show file tree
Hide file tree
Showing 5 changed files with 131 additions and 0 deletions.
13 changes: 13 additions & 0 deletions html/browsers/sandboxing/inner-iframe.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function() {
top.calledFromIframe();
}
</script>
</head>
<body>
<div id="inner">foo</div>
</body>
</html>
30 changes: 30 additions & 0 deletions html/browsers/sandboxing/sandbox-allow-same-origin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>DOM access in sandbox="allow-same-origin" iframe</title>
<link rel="author" title="Kinuko Yasuda" href="mailto:kinuko@chromium.org">
<link rel="help" href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#sandboxing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>

<body>
<h1>DOM access in sandbox="allow-same-origin" iframe</h1>
<script type="text/javascript">
var t = async_test("DOM access in sandbox='allow-same-origin' iframe is allowed")
var called = 0;
function calledFromIframe() {
called++;
}
function loaded() {
assert_equals(document.getElementById('sandboxedframe').contentWindow.document.getElementById('inner').innerHTML, 'foo');
assert_equals(called, 0);
t.done();
}
</script>

<iframe src="/html/browsers/sandboxing/inner-iframe.html" style="visibility:hidden;display:none" sandbox="allow-same-origin" id="sandboxedframe" onload="loaded();"></iframe>

<div id="log"></div>
</body>
</html>
29 changes: 29 additions & 0 deletions html/browsers/sandboxing/sandbox-allow-scripts.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<title>Script execution in sandbox="allow-scripts" iframe</title>
<link rel="author" title="Kinuko Yasuda" href="mailto:kinuko@chromium.org">
<link rel="help" href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#sandboxing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>

<body>
<h1>Script execution in sandbox="allow-scripts" iframe</h1>
<script type="text/javascript">
var t = async_test("Running script from sandbox='allow-scripts' iframe is allowed")
var called = 0;
function calledFromIframe() {
called++;
}
function loaded() {
assert_equals(called, 1);
t.done();
}
</script>

<iframe src="/html/browsers/sandboxing/inner-iframe.html" style="visibility:hidden;display:none" sandbox="allow-scripts allow-same-origin" id="sandboxedframe" onload="loaded();"></iframe>

<div id="log"></div>
</body>
</html>
30 changes: 30 additions & 0 deletions html/browsers/sandboxing/sandbox-disallow-same-origin.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>Access to sandbox iframe</title>
<link rel="author" title="Kinuko Yasuda" href="mailto:kinuko@chromium.org">
<link rel="help" href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#sandboxing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>

<body>
<h1>Access to sandbox iframe</h1>
<script type="text/javascript">
var t = async_test("Access to sandbox iframe is disallowed")
var called = 0;
function calledFromIframe() {
called++;
}
function loaded() {
assert_equals(document.getElementById('sandboxedframe').contentWindow.document, undefined);
assert_equals(called, 0);
t.done();
}
</script>

<iframe src="/html/browsers/sandboxing/inner-iframe.html" style="visibility:hidden;display:none" sandbox id="sandboxedframe" onload="loaded();"></iframe>
</body>

<div id="log"></div>
</html>
29 changes: 29 additions & 0 deletions html/browsers/sandboxing/sandbox-disallow-scripts.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<title>Script execution in sandbox iframe</title>
<link rel="author" title="Kinuko Yasuda" href="mailto:kinuko@chromium.org">
<link rel="help" href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#sandboxing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>

<body>
<h1>Script execution in sandbox iframe</h1>
<script type="text/javascript">
var t = async_test("Running script from sandbox iframe is disallowed")
var called = 0;
function calledFromIframe() {
called++;
}
function loaded() {
assert_equals(called, 0);
t.done();
}
</script>

<iframe src="/html/browsers/sandboxing/inner-iframe.html" style="visibility:hidden;display:none" sandbox id="sandboxedframe" onload="loaded();"></iframe>

<div id="log"></div>
</body>
</html>

0 comments on commit 1245fac

Please sign in to comment.