Chromium Code Reviews| Index: chrome/test/data/extensions/platform_apps/web_view/shim/main.js |
| diff --git a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js |
| index 2ec7c1537643594a5f761f5dad57658aebb350ad..e7edf5ad2fee0bd2986be9cd478b5299c090be69 100644 |
| --- a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js |
| +++ b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js |
| @@ -1571,6 +1571,62 @@ function testResizeWebviewResizesContent() { |
| document.body.appendChild(webview); |
| } |
| +function testResizeWebviewWithDisplayNoneResizesContent() { |
| + var webview = new WebView(); |
| + webview.src = 'about:blank'; |
| + var loadStopCalled = false; |
| + webview.addEventListener('loadstop', function listener(e) { |
| + if (loadStopCalled) { |
| + window.console.log('webview is unexpectedly reloading.'); |
| + embedder.test.fail(); |
| + return; |
| + } |
| + loadStopCalled = true; |
| + webview.executeScript( |
| + {file: 'inject_resize_test.js'}, |
| + function(results) { |
| + window.console.log('The resize test has been injected into webview.'); |
|
lazyboy
2014/10/03 20:30:05
if (!results || !results.length) embedder.test.fai
Fady Samuel
2014/10/03 21:52:30
Done.
|
| + } |
| + ); |
| + webview.executeScript( |
| + {file: 'inject_comm_channel.js'}, |
| + function(results) { |
| + window.console.log('The guest script for a two-way comm channel has ' + |
|
lazyboy
2014/10/03 20:30:05
Same here.
Fady Samuel
2014/10/03 21:52:30
Done.
|
| + 'been injected into webview.'); |
| + // Establish a communication channel with the guest. |
| + var msg = ['connect']; |
| + webview.contentWindow.postMessage(JSON.stringify(msg), '*'); |
| + } |
| + ); |
| + }); |
| + window.addEventListener('message', function(e) { |
| + var data = JSON.parse(e.data); |
| + if (data[0] == 'connected') { |
| + console.log('A communication channel has been established with webview.'); |
| + console.log('Resizing <webview> width from 300px to 400px.'); |
| + webview.style.display = 'none'; |
| + window.setTimeout(function() { |
| + webview.style.width = '400px'; |
|
lazyboy
2014/10/03 20:30:05
From what i've seen this probably is race-y, you'r
Fady Samuel
2014/10/03 21:52:30
I don't know the full flow of code so I'm not 100%
|
| + window.setTimeout(function() { |
| + webview.style.display = 'block'; |
| + }, 0); |
| + }, 0); |
| + return; |
| + } |
| + if (data[0] == 'resize') { |
| + var width = data[1]; |
| + var height = data[2]; |
| + embedder.test.assertEq(400, width); |
| + embedder.test.assertEq(300, height); |
| + embedder.test.succeed(); |
| + return; |
| + } |
| + window.console.log('Unexpected message: \'' + data[0] + '\''); |
| + embedder.test.fail(); |
| + }); |
| + document.body.appendChild(webview); |
| +} |
| + |
| function testPostMessageCommChannel() { |
| var webview = new WebView(); |
| webview.src = 'about:blank'; |
| @@ -1933,6 +1989,8 @@ embedder.test.testList = { |
| 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
| + 'testResizeWebviewWithDisplayNoneResizesContent': |
| + testResizeWebviewWithDisplayNoneResizesContent, |
| 'testPostMessageCommChannel': testPostMessageCommChannel, |
| 'testScreenshotCapture' : testScreenshotCapture, |
| 'testZoomAPI' : testZoomAPI, |