OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var util = {}; | 5 var util = {}; |
6 var embedder = {}; | 6 var embedder = {}; |
7 embedder.baseGuestURL = ''; | 7 embedder.baseGuestURL = ''; |
8 embedder.emptyGuestURL = ''; | 8 embedder.emptyGuestURL = ''; |
9 embedder.windowOpenGuestURL = ''; | 9 embedder.windowOpenGuestURL = ''; |
10 embedder.noReferrerGuestURL = ''; | 10 embedder.noReferrerGuestURL = ''; |
(...skipping 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1036 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 1036 webview.setAttribute('src', 'data:text/html,trigger navigation'); |
1037 var firstLoad = function() { | 1037 var firstLoad = function() { |
1038 webview.removeEventListener('loadstop', firstLoad); | 1038 webview.removeEventListener('loadstop', firstLoad); |
1039 embedder.test.assertTrue(webview.getProcessId() > 0); | 1039 embedder.test.assertTrue(webview.getProcessId() > 0); |
1040 embedder.test.succeed(); | 1040 embedder.test.succeed(); |
1041 }; | 1041 }; |
1042 webview.addEventListener('loadstop', firstLoad); | 1042 webview.addEventListener('loadstop', firstLoad); |
1043 document.body.appendChild(webview); | 1043 document.body.appendChild(webview); |
1044 } | 1044 } |
1045 | 1045 |
| 1046 function testHiddenBeforeNavigation() { |
| 1047 var webview = document.createElement('webview'); |
| 1048 webview.style.visibility = 'hidden'; |
| 1049 |
| 1050 var postMessageHandler = function(e) { |
| 1051 var data = JSON.parse(e.data); |
| 1052 window.removeEventListener('message', postMessageHandler); |
| 1053 if (data[0] == 'visibilityState-response') { |
| 1054 embedder.test.assertEq('hidden', data[1]); |
| 1055 embedder.test.succeed(); |
| 1056 } else { |
| 1057 LOG('Unexpected message: ' + data); |
| 1058 embedder.test.fail(); |
| 1059 } |
| 1060 }; |
| 1061 |
| 1062 webview.addEventListener('loadstop', function(e) { |
| 1063 LOG('webview.loadstop'); |
| 1064 window.addEventListener('message', postMessageHandler); |
| 1065 webview.addEventListener('consolemessage', function(e) { |
| 1066 LOG('g: ' + e.message); |
| 1067 }); |
| 1068 |
| 1069 webview.executeScript( |
| 1070 {file: 'inject_hidden_test.js'}, |
| 1071 function(results) { |
| 1072 if (!results || !results.length) { |
| 1073 LOG('Failed to inject script: inject_hidden_test.js'); |
| 1074 embedder.test.fail(); |
| 1075 return; |
| 1076 } |
| 1077 |
| 1078 LOG('script injection success'); |
| 1079 webview.contentWindow.postMessage( |
| 1080 JSON.stringify(['visibilityState-request']), '*'); |
| 1081 }); |
| 1082 }); |
| 1083 |
| 1084 webview.setAttribute('src', 'data:text/html,<html><body></body></html>'); |
| 1085 document.body.appendChild(webview); |
| 1086 } |
| 1087 |
1046 // This test verifies that the loadstart event fires at the beginning of a load | 1088 // This test verifies that the loadstart event fires at the beginning of a load |
1047 // and the loadredirect event fires when a redirect occurs. | 1089 // and the loadredirect event fires when a redirect occurs. |
1048 function testLoadStartLoadRedirect() { | 1090 function testLoadStartLoadRedirect() { |
1049 var webview = document.createElement('webview'); | 1091 var webview = document.createElement('webview'); |
1050 var loadstartCalled = false; | 1092 var loadstartCalled = false; |
1051 webview.setAttribute('src', embedder.redirectGuestURL); | 1093 webview.setAttribute('src', embedder.redirectGuestURL); |
1052 webview.addEventListener('loadstart', function(e) { | 1094 webview.addEventListener('loadstart', function(e) { |
1053 embedder.test.assertTrue(e.isTopLevel); | 1095 embedder.test.assertTrue(e.isTopLevel); |
1054 embedder.test.assertEq(embedder.redirectGuestURL, e.url); | 1096 embedder.test.assertEq(embedder.redirectGuestURL, e.url); |
1055 loadstartCalled = true; | 1097 loadstartCalled = true; |
(...skipping 579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1635 'testNewWindowTwoListeners': testNewWindowTwoListeners, | 1677 'testNewWindowTwoListeners': testNewWindowTwoListeners, |
1636 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, | 1678 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, |
1637 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, | 1679 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, |
1638 'testContentLoadEvent': testContentLoadEvent, | 1680 'testContentLoadEvent': testContentLoadEvent, |
1639 'testDeclarativeWebRequestAPI': testDeclarativeWebRequestAPI, | 1681 'testDeclarativeWebRequestAPI': testDeclarativeWebRequestAPI, |
1640 'testWebRequestAPI': testWebRequestAPI, | 1682 'testWebRequestAPI': testWebRequestAPI, |
1641 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty, | 1683 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty, |
1642 'testWebRequestListenerSurvivesReparenting': | 1684 'testWebRequestListenerSurvivesReparenting': |
1643 testWebRequestListenerSurvivesReparenting, | 1685 testWebRequestListenerSurvivesReparenting, |
1644 'testGetProcessId': testGetProcessId, | 1686 'testGetProcessId': testGetProcessId, |
| 1687 'testHiddenBeforeNavigation': testHiddenBeforeNavigation, |
1645 'testLoadStartLoadRedirect': testLoadStartLoadRedirect, | 1688 'testLoadStartLoadRedirect': testLoadStartLoadRedirect, |
1646 'testLoadAbortChromeExtensionURLWrongPartition': | 1689 'testLoadAbortChromeExtensionURLWrongPartition': |
1647 testLoadAbortChromeExtensionURLWrongPartition, | 1690 testLoadAbortChromeExtensionURLWrongPartition, |
1648 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, | 1691 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, |
1649 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, | 1692 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, |
1650 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, | 1693 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, |
1651 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL, | 1694 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL, |
1652 'testLoadAbortInvalidNavigation': testLoadAbortInvalidNavigation, | 1695 'testLoadAbortInvalidNavigation': testLoadAbortInvalidNavigation, |
1653 'testLoadAbortNonWebSafeScheme': testLoadAbortNonWebSafeScheme, | 1696 'testLoadAbortNonWebSafeScheme': testLoadAbortNonWebSafeScheme, |
1654 'testNavigateAfterResize': testNavigateAfterResize, | 1697 'testNavigateAfterResize': testNavigateAfterResize, |
1655 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, | 1698 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, |
1656 'testReload': testReload, | 1699 'testReload': testReload, |
1657 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 1700 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
1658 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 1701 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
1659 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, | 1702 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
1660 'testPostMessageCommChannel': testPostMessageCommChannel, | 1703 'testPostMessageCommChannel': testPostMessageCommChannel, |
1661 'testScreenshotCapture' : testScreenshotCapture, | 1704 'testScreenshotCapture' : testScreenshotCapture, |
1662 'testZoomAPI' : testZoomAPI, | 1705 'testZoomAPI' : testZoomAPI, |
1663 'testFindAPI': testFindAPI, | 1706 'testFindAPI': testFindAPI, |
1664 'testFindAPI_findupdate': testFindAPI | 1707 'testFindAPI_findupdate': testFindAPI |
1665 }; | 1708 }; |
1666 | 1709 |
1667 onload = function() { | 1710 onload = function() { |
1668 chrome.test.getConfig(function(config) { | 1711 chrome.test.getConfig(function(config) { |
1669 embedder.setUp_(config); | 1712 embedder.setUp_(config); |
1670 chrome.test.sendMessage("Launched"); | 1713 chrome.test.sendMessage("Launched"); |
1671 }); | 1714 }); |
1672 }; | 1715 }; |
OLD | NEW |