Skip to content

Commit

Permalink
#771 - blacklisted javascrip: and about: schemas. Added test file wit…
Browse files Browse the repository at this point in the history
…h Iframes that contain srv javascrip:void(0) and about:blank.
  • Loading branch information
ceckoslab committed Nov 18, 2019
1 parent 03d1780 commit b247b67
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 6 deletions.
2 changes: 1 addition & 1 deletion js/iframeResizer.contentWindow.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion js/iframeResizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -1092,7 +1092,7 @@
}

function getTargetOrigin(remoteHost) {
return '' === remoteHost || 'file://' === remoteHost ? '*' : remoteHost
return '' === remoteHost || null !== remoteHost.match(/^(about:blank|javascript:|file:\/\/)/) ? '*' : remoteHost
}

function depricate(key) {
Expand Down
2 changes: 1 addition & 1 deletion js/iframeResizer.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions js/iframeResizer.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/iframeResizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -1092,7 +1092,7 @@
}

function getTargetOrigin(remoteHost) {
return '' === remoteHost || 'file://' === remoteHost ? '*' : remoteHost
return '' === remoteHost || null !== remoteHost.match(/^(about:blank|javascript:|file:\/\/)/) ? '*' : remoteHost
}

function depricate(key) {
Expand Down
75 changes: 75 additions & 0 deletions test/noMessageForBlackListedOrigins.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>QUnit LoadHide</title>
<link rel="stylesheet" href="resources/qunit.css" />
</head>

<body>
<div id="qunit"></div>
<div id="qunit-fixture">
<div style="width:600px;">
<iframe
src="resources/frame.content.html"
width="100%"
scrolling="no"
></iframe>
</div>
<iframe
src="about:blank"
width="100%"
scrolling="no"
></iframe>
<iframe
src="javascript:void(0)"
width="100%"
scrolling="no"
></iframe>
</div>
<script src="resources/qunit.js"></script>
<script src="resources/jquery.js"></script>
<script src="resources/testLib.js"></script>
<script src="../js/ie8.polyfils.min.js"></script>
<script src="../js/iframeResizer.js"></script>
<script>
'use strict'
var count = 0,
msgId = '[iFrameSizerTest]:'

asyncTest('sendMessage (string)', function() {
iFrameResize({
//log:true,
onResized: function(messageData) {
ok(true, 'Receive init message back from iFrame.')
sendMessage('chkSendMsg')
},
onMessage: function(messageData) {
ok(
'message: test string' === messageData.message,
'Receive string message back from iFrame via sendMessage function.'
)
start()
}
})
})

asyncTest('sendMessage (object)', function() {
iFrameResize({
//log:true,
onResized: function(messageData) {
ok(true, 'Receive init message back from iFrame.')
sendMessage('chkSendObj')
},
onMessage: function(messageData) {
ok(
'test object' === messageData.message.message,
'Receive object message back from iFrame via sendMessage function.'
)
start()
}
})
})
</script>
</body>
</html>

0 comments on commit b247b67

Please sign in to comment.