| 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 934827619939b0d48724d1d6cdda2c4062a0a228..bded587295d7389ff7126b0adfc952c8f4a3dfbd 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
|
| @@ -258,6 +258,41 @@ function testNewWindowClose() {
|
| embedder.setUpNewWindowRequest_(webview, 'guest.html', '', testName);
|
| }
|
|
|
| +// Checks that calling event.window.attach() with a <webview> that is not
|
| +// in the DOM works properly.
|
| +// This tests the deferred attachment code path in web_view.js.
|
| +function testNewWindowDeferredAttachment() {
|
| + var testName = 'testNewWindowDeferredAttachment';
|
| + var webview = embedder.setUpGuest_('foobar');
|
| +
|
| + var onNewWindow = function(e) {
|
| + chrome.test.log('Embedder notified on newwindow');
|
| + embedder.assertCorrectEvent_(e, '');
|
| +
|
| + var newwebview = document.createElement('webview');
|
| +
|
| + newwebview.addEventListener('loadstop', function() {
|
| + chrome.test.log('Guest in newwindow got loadstop.');
|
| + embedder.test.succeed();
|
| + });
|
| +
|
| + try {
|
| + e.window.attach(newwebview);
|
| + } catch (e) {
|
| + embedder.test.fail();
|
| + }
|
| +
|
| + // Append the <webview> in DOM later.
|
| + window.setTimeout(function() {
|
| + document.querySelector('#webview-tag-container').appendChild(newwebview);
|
| + }, 0);
|
| + };
|
| + webview.addEventListener('newwindow', onNewWindow);
|
| +
|
| + // Load a new window with the given name.
|
| + embedder.setUpNewWindowRequest_(webview, 'guest.html', '', testName);
|
| +};
|
| +
|
| function testNewWindowExecuteScript() {
|
| var testName = 'testNewWindowExecuteScript';
|
| var webview = embedder.setUpGuest_('foobar');
|
| @@ -461,6 +496,7 @@ embedder.test.testList = {
|
| 'testNoName': testNoName,
|
| 'testNewWindowRedirect': testNewWindowRedirect,
|
| 'testNewWindowClose': testNewWindowClose,
|
| + 'testNewWindowDeferredAttachment': testNewWindowDeferredAttachment,
|
| 'testNewWindowExecuteScript': testNewWindowExecuteScript,
|
| 'testNewWindowOpenInNewTab': testNewWindowOpenInNewTab,
|
| 'testNewWindowDeclarativeWebRequest': testNewWindowDeclarativeWebRequest,
|
|
|