Index: chrome/test/data/extensions/platform_apps/web_view/newwindow/embedder.js |
diff --git a/chrome/test/data/extensions/platform_apps/web_view/newwindow/embedder.js b/chrome/test/data/extensions/platform_apps/web_view/newwindow/embedder.js |
index bded587295d7389ff7126b0adfc952c8f4a3dfbd..410d3b5b64b1086bdc0bbb7afcd836a20e8e2089 100644 |
--- a/chrome/test/data/extensions/platform_apps/web_view/newwindow/embedder.js |
+++ b/chrome/test/data/extensions/platform_apps/web_view/newwindow/embedder.js |
@@ -333,6 +333,27 @@ function testNewWindowOpenInNewTab() { |
webview.src = embedder.guestWithLinkURL; |
} |
+function testNewWindowOpenerDestroyedBeforeAttach() { |
+ var testName = 'testNewWindowOpenerDestroyedBeforeAttach'; |
+ var webview = embedder.setUpGuest_('foobar'); |
+ |
+ var onNewWindow = function(e) { |
+ embedder.assertCorrectEvent_(e, ''); |
+ |
+ // Remove the opener. |
+ webview.parentNode.removeChild(webview); |
+ // Pass in a timeout so we ensure the newwindow disposal codepath |
+ // works properly. |
+ window.setTimeout(function() { embedder.test.succeed(); }, 0); |
Fady Samuel
2014/09/09 21:55:34
What happens if we try e.window.attach on another
lazyboy
2014/09/09 22:52:22
It would throw the same exception, added guards to
|
+ |
+ e.preventDefault(); |
+ }; |
+ webview.addEventListener('newwindow', onNewWindow); |
+ |
+ // Load a new window with the given name. |
+ embedder.setUpNewWindowRequest_(webview, 'guest.html', '', testName); |
+} |
+ |
function testNewWindowWebRequest() { |
var testName = 'testNewWindowWebRequest'; |
var webview = embedder.setUpGuest_('foobar'); |
@@ -499,6 +520,8 @@ embedder.test.testList = { |
'testNewWindowDeferredAttachment': testNewWindowDeferredAttachment, |
'testNewWindowExecuteScript': testNewWindowExecuteScript, |
'testNewWindowOpenInNewTab': testNewWindowOpenInNewTab, |
+ 'testNewWindowOpenerDestroyedBeforeAttach': |
+ testNewWindowOpenerDestroyedBeforeAttach, |
'testNewWindowDeclarativeWebRequest': testNewWindowDeclarativeWebRequest, |
'testNewWindowWebRequest': testNewWindowWebRequest, |
'testNewWindowWebRequestCloseWindow': testNewWindowWebRequestCloseWindow, |