Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: chrome/test/data/extensions/platform_apps/web_view/shim/main.js

Issue 624063002: <webview>: resizing with display:none set should resize on attachment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Istiaque's comments Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/apps/web_view_browsertest.cc ('k') | content/public/renderer/browser_plugin_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..0b338108567ee50a744edd5aed43bd56fe5c7255 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,70 @@ 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) {
+ if (!results || !results.length) {
+ embedder.test.fail();
+ return;
+ }
+ window.console.log('The resize test has been injected into webview.');
+ }
+ );
+ webview.executeScript(
+ {file: 'inject_comm_channel.js'},
+ function(results) {
+ if (!results || !results.length) {
+ embedder.test.fail();
+ return;
+ }
+ window.console.log('The guest script for a two-way comm channel has ' +
+ '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';
+ 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 +1997,8 @@ embedder.test.testList = {
'testRemoveWebviewOnExit': testRemoveWebviewOnExit,
'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation,
'testResizeWebviewResizesContent': testResizeWebviewResizesContent,
+ 'testResizeWebviewWithDisplayNoneResizesContent':
+ testResizeWebviewWithDisplayNoneResizesContent,
'testPostMessageCommChannel': testPostMessageCommChannel,
'testScreenshotCapture' : testScreenshotCapture,
'testZoomAPI' : testZoomAPI,
« no previous file with comments | « chrome/browser/apps/web_view_browsertest.cc ('k') | content/public/renderer/browser_plugin_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698