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

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

Issue 281833003: BrowserPluginHostTest: Rewrite 3 focus related tests and 1 visibility test to browser_tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase @tott, fix conflict Created 6 years, 7 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
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 908bdf0ce8cec32e6cbcabefaab1c2f3c129702e..da33baca2e1bf14f59da153d7aeeb430a6a6def0 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
@@ -1043,6 +1043,48 @@ function testGetProcessId() {
document.body.appendChild(webview);
}
+function testHiddenBeforeNavigation() {
+ var webview = document.createElement('webview');
+ webview.style.visibility = 'hidden';
+
+ var postMessageHandler = function(e) {
+ var data = JSON.parse(e.data);
+ window.removeEventListener('message', postMessageHandler);
+ if (data[0] == 'visibilityState-response') {
+ embedder.test.assertEq('hidden', data[1]);
+ embedder.test.succeed();
+ } else {
+ LOG('Unexpected message: ' + data);
+ embedder.test.fail();
+ }
+ };
+
+ webview.addEventListener('loadstop', function(e) {
+ LOG('webview.loadstop');
+ window.addEventListener('message', postMessageHandler);
+ webview.addEventListener('consolemessage', function(e) {
+ LOG('g: ' + e.message);
+ });
+
+ webview.executeScript(
+ {file: 'inject_hidden_test.js'},
+ function(results) {
+ if (!results || !results.length) {
+ LOG('Failed to inject script: inject_hidden_test.js');
+ embedder.test.fail();
+ return;
+ }
+
+ LOG('script injection success');
+ webview.contentWindow.postMessage(
+ JSON.stringify(['visibilityState-request']), '*');
+ });
+ });
+
+ webview.setAttribute('src', 'data:text/html,<html><body></body></html>');
+ document.body.appendChild(webview);
+}
+
// This test verifies that the loadstart event fires at the beginning of a load
// and the loadredirect event fires when a redirect occurs.
function testLoadStartLoadRedirect() {
@@ -1642,6 +1684,7 @@ embedder.test.testList = {
'testWebRequestListenerSurvivesReparenting':
testWebRequestListenerSurvivesReparenting,
'testGetProcessId': testGetProcessId,
+ 'testHiddenBeforeNavigation': testHiddenBeforeNavigation,
'testLoadStartLoadRedirect': testLoadStartLoadRedirect,
'testLoadAbortChromeExtensionURLWrongPartition':
testLoadAbortChromeExtensionURLWrongPartition,

Powered by Google App Engine
This is Rietveld 408576698