OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 var LOCAL_FILE_NAME = 'local_frame.html'; | |
6 var REMOTE_FILE_NAME = 'remote_frame.html'; | |
7 | |
8 onmessage = function(e) { | |
9 var data = JSON.parse(e.data); | |
10 var message = data[0]; | |
11 if (message != 'loaded') | |
12 return; | |
13 | |
14 var loadedFileName = data[1]; | |
15 var succeeded = data[2]; | |
16 var expectSuccess = loadedFileName === LOCAL_FILE_NAME; | |
17 if (expectSuccess === succeeded) { | |
18 chrome.test.succeed(); | |
Devlin
2016/12/15 00:04:11
optional: we could just do
chrome.test.assertEq(ex
lazyboy
2016/12/15 08:02:35
Done.
| |
19 } else { | |
20 chrome.test.fail(); | |
21 } | |
22 }; | |
23 | |
24 var loadIframeContentInSandboxedPage = function(url, fileName) { | |
25 var sandboxedFrame = document.createElement('iframe'); | |
26 sandboxedFrame.src = 'sandboxed.html'; | |
27 sandboxedFrame.onload = function() { | |
28 sandboxedFrame.contentWindow.postMessage( | |
29 JSON.stringify(['load', url, fileName]), '*'); | |
30 sandboxedFrame.onload = null; | |
31 }; | |
32 document.body.appendChild(sandboxedFrame); | |
33 }; | |
34 | |
35 onload = function() { | |
36 chrome.test.getConfig(function(config) { | |
37 chrome.test.runTests([ | |
38 function sandboxedFrameLocalContentPasses() { | |
39 // Response is received in |onmessage|. | |
40 loadIframeContentInSandboxedPage(LOCAL_FILE_NAME, LOCAL_FILE_NAME); | |
41 }, | |
42 function sandboxedFrameWebContentFails() { | |
43 var url = 'http://localhost:PORT/extensions/api_test/' + | |
44 'sandboxed_pages_web_content/URL'.replace( | |
Devlin
2016/12/15 00:04:11
I've seen this pattern before, but it's kind of si
lazyboy
2016/12/15 08:02:35
Done.
| |
45 /PORT/, config.testServer.port).replace( | |
46 /URL/, REMOTE_FILE_NAME); | |
47 // Response is received in |onmessage|. | |
48 loadIframeContentInSandboxedPage(url, REMOTE_FILE_NAME); | |
49 } | |
50 ]); | |
51 }); | |
52 }; | |
OLD | NEW |