Browse Source

Add failing spec for native window.open returning null without allowpopups

Kevin Sawicki 8 years ago
parent
commit
a0571e3c72
2 changed files with 19 additions and 0 deletions
  1. 9 0
      spec/fixtures/api/native-window-open-no-allowpopups.html
  2. 10 0
      spec/webview-spec.js

+ 9 - 0
spec/fixtures/api/native-window-open-no-allowpopups.html

@@ -0,0 +1,9 @@
+<html>
+<body>
+<script type="text/javascript" charset="utf-8">
+  const {ipcRenderer} = require('electron')
+  const popup = window.open()
+  ipcRenderer.send('answer', {windowOpenReturnedNull: popup == null})
+</script>
+</body>
+</html>

+ 10 - 0
spec/webview-spec.js

@@ -1676,6 +1676,16 @@ describe('<webview> tag', function () {
       document.body.appendChild(webview)
     })
 
+    it('returns null from window.open when allowpopups is not set', (done) => {
+      webview.removeAttribute('allowpopups')
+      ipcMain.once('answer', (event, {windowOpenReturnedNull}) => {
+        assert.equal(windowOpenReturnedNull, true)
+        done()
+      })
+      webview.src = 'file://' + path.join(fixtures, 'api', 'native-window-open-no-allowpopups.html')
+      document.body.appendChild(webview)
+    })
+
     it('emits a new-window event', (done) => {
       webview.addEventListener('new-window', function (e) {
         assert.equal(e.url, 'http://host/')