зеркало из https://github.com/electron/electron.git
Add spec for sanbox attribute of iframe.
This commit is contained in:
Родитель
e3d67a304f
Коммит
df86c9dac1
|
@ -1,6 +1,9 @@
|
|||
assert = require 'assert'
|
||||
path = require 'path'
|
||||
|
||||
describe 'chromium feature', ->
|
||||
fixtures = path.resolve __dirname, 'fixtures'
|
||||
|
||||
describe 'heap snapshot', ->
|
||||
it 'does not crash', ->
|
||||
process.atomBinding('v8_util').takeHeapSnapshot()
|
||||
|
@ -21,3 +24,18 @@ describe 'chromium feature', ->
|
|||
b = window.open 'about:blank', 'test', 'show=no'
|
||||
assert.equal b.constructor.name, 'BrowserWindow'
|
||||
b.destroy()
|
||||
|
||||
describe 'iframe with sandbox attribute', ->
|
||||
it 'can not modify parent', (done) ->
|
||||
page = path.join fixtures, 'pages', 'change-parent.html'
|
||||
global.changedByIframe = false
|
||||
|
||||
iframe = $('<iframe sandbox="allow-scripts">')
|
||||
iframe.hide()
|
||||
iframe.attr 'src', "file://#{page}"
|
||||
iframe.appendTo 'body'
|
||||
isChanged = ->
|
||||
iframe.remove()
|
||||
assert.equal global.changedByIframe, false
|
||||
done()
|
||||
setTimeout isChanged, 30
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<html>
|
||||
<body>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
console.log('ready2')
|
||||
window.parent.changedByIframe = true;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче