| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 embedder = {}; | 5 var embedder = {}; |
| 6 | 6 |
| 7 // TODO(lfg) Move these functions to a common js. | 7 // TODO(lfg) Move these functions to a common js. |
| 8 embedder.setUp_ = function(config) { | 8 embedder.setUp_ = function(config) { |
| 9 if (!config || !config.testServer) { | 9 if (!config || !config.testServer) { |
| 10 return; | 10 return; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 }; | 64 }; |
| 65 | 65 |
| 66 | 66 |
| 67 // Tests begin. | 67 // Tests begin. |
| 68 | 68 |
| 69 // This test verifies that the allowtransparency property cannot be changed | 69 // This test verifies that the allowtransparency property cannot be changed |
| 70 // once set. The attribute can only be deleted. | 70 // once set. The attribute can only be deleted. |
| 71 function testAllowTransparencyAttribute() { | 71 function testAllowTransparencyAttribute() { |
| 72 var webview = document.createElement('webview'); | 72 var webview = document.createElement('webview'); |
| 73 webview.src = 'data:text/html,webview test'; | 73 webview.src = 'data:text/html,webview test'; |
| 74 embedder.test.assertFalse(webview.hasAttribute('allowtransparency')); |
| 75 embedder.test.assertFalse(webview.allowtransparency); |
| 74 webview.allowtransparency = true; | 76 webview.allowtransparency = true; |
| 75 | 77 |
| 76 webview.addEventListener('loadstop', function(e) { | 78 webview.addEventListener('loadstop', function(e) { |
| 77 embedder.test.assertTrue(webview.hasAttribute('allowtransparency')); | 79 embedder.test.assertTrue(webview.hasAttribute('allowtransparency')); |
| 80 embedder.test.assertTrue(webview.allowtransparency); |
| 78 webview.allowtransparency = false; | 81 webview.allowtransparency = false; |
| 82 embedder.test.assertFalse(webview.hasAttribute('allowtransparency')); |
| 83 embedder.test.assertFalse(webview.allowtransparency); |
| 84 webview.allowtransparency = ''; |
| 85 embedder.test.assertFalse(webview.hasAttribute('allowtransparency')); |
| 86 embedder.test.assertFalse(webview.allowtransparency); |
| 87 webview.allowtransparency = 'some string'; |
| 88 embedder.test.assertTrue(webview.hasAttribute('allowtransparency')); |
| 79 embedder.test.assertTrue(webview.allowtransparency); | 89 embedder.test.assertTrue(webview.allowtransparency); |
| 80 embedder.test.assertTrue(webview.hasAttribute('allowtransparency')); | |
| 81 webview.removeAttribute('allowtransparency'); | |
| 82 embedder.test.assertFalse(webview.allowtransparency); | |
| 83 embedder.test.succeed(); | 90 embedder.test.succeed(); |
| 84 }); | 91 }); |
| 85 | 92 |
| 86 document.body.appendChild(webview); | 93 document.body.appendChild(webview); |
| 87 } | 94 } |
| 88 | 95 |
| 89 function testAPIMethodExistence() { | 96 function testAPIMethodExistence() { |
| 90 var apiMethodsToCheck = [ | 97 var apiMethodsToCheck = [ |
| 91 'back', | 98 'back', |
| 92 'find', | 99 'find', |
| (...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1275 embedder.test.succeed(); | 1282 embedder.test.succeed(); |
| 1276 }; | 1283 }; |
| 1277 | 1284 |
| 1278 webview.setAttribute('src', 'data:text/html,next navigation'); | 1285 webview.setAttribute('src', 'data:text/html,next navigation'); |
| 1279 }); | 1286 }); |
| 1280 | 1287 |
| 1281 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 1288 webview.setAttribute('src', 'data:text/html,trigger navigation'); |
| 1282 document.body.appendChild(webview); | 1289 document.body.appendChild(webview); |
| 1283 } | 1290 } |
| 1284 | 1291 |
| 1285 // This test verifies that setting the partition attribute after the src has | 1292 // This test verifies that the partion attribute cannot be changed after the src |
| 1286 // been set raises an exception. | 1293 // has been set. |
| 1287 function testPartitionRaisesException() { | 1294 function testPartitionChangeAfterNavigation() { |
| 1288 var webview = document.createElement('webview'); | 1295 var webview = document.createElement('webview'); |
| 1289 var partitionAttribute = arguments.callee.name; | 1296 var partitionAttribute = arguments.callee.name; |
| 1290 webview.setAttribute('partition', partitionAttribute); | 1297 webview.setAttribute('partition', partitionAttribute); |
| 1291 | 1298 |
| 1292 var loadstopHandler = function(e) { | 1299 var loadstopHandler = function(e) { |
| 1293 try { | 1300 webview.partition = 'illegal'; |
| 1294 webview.partition = 'illegal'; | 1301 embedder.test.assertEq(partitionAttribute, webview.partition); |
| 1295 embedder.test.fail(); | 1302 embedder.test.succeed(); |
| 1296 } catch (e) { | |
| 1297 embedder.test.assertEq(partitionAttribute, webview.partition); | |
| 1298 embedder.test.succeed(); | |
| 1299 } | |
| 1300 }; | 1303 }; |
| 1301 webview.addEventListener('loadstop', loadstopHandler); | 1304 webview.addEventListener('loadstop', loadstopHandler); |
| 1302 | 1305 |
| 1303 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 1306 webview.setAttribute('src', 'data:text/html,trigger navigation'); |
| 1304 document.body.appendChild(webview); | 1307 document.body.appendChild(webview); |
| 1305 } | 1308 } |
| 1306 | 1309 |
| 1307 // This test verifies that removing partition attribute after navigation does | 1310 // This test verifies that removing partition attribute after navigation does |
| 1308 // not work, i.e. the partition remains the same. | 1311 // not work, i.e. the partition remains the same. |
| 1309 function testPartitionRemovalAfterNavigationFails() { | 1312 function testPartitionRemovalAfterNavigationFails() { |
| (...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1700 'testNavigateAfterResize': testNavigateAfterResize, | 1703 'testNavigateAfterResize': testNavigateAfterResize, |
| 1701 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, | 1704 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, |
| 1702 'testNavOnConsecutiveSrcAttributeChanges': | 1705 'testNavOnConsecutiveSrcAttributeChanges': |
| 1703 testNavOnConsecutiveSrcAttributeChanges, | 1706 testNavOnConsecutiveSrcAttributeChanges, |
| 1704 'testNavOnSrcAttributeChange': testNavOnSrcAttributeChange, | 1707 'testNavOnSrcAttributeChange': testNavOnSrcAttributeChange, |
| 1705 'testNewWindow': testNewWindow, | 1708 'testNewWindow': testNewWindow, |
| 1706 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, | 1709 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, |
| 1707 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, | 1710 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, |
| 1708 'testNewWindowTwoListeners': testNewWindowTwoListeners, | 1711 'testNewWindowTwoListeners': testNewWindowTwoListeners, |
| 1709 'testOnEventProperties': testOnEventProperties, | 1712 'testOnEventProperties': testOnEventProperties, |
| 1710 'testPartitionRaisesException': testPartitionRaisesException, | 1713 'testPartitionChangeAfterNavigation': testPartitionChangeAfterNavigation, |
| 1711 'testPartitionRemovalAfterNavigationFails': | 1714 'testPartitionRemovalAfterNavigationFails': |
| 1712 testPartitionRemovalAfterNavigationFails, | 1715 testPartitionRemovalAfterNavigationFails, |
| 1713 'testReassignSrcAttribute': testReassignSrcAttribute, | 1716 'testReassignSrcAttribute': testReassignSrcAttribute, |
| 1714 'testReload': testReload, | 1717 'testReload': testReload, |
| 1715 'testReloadAfterTerminate': testReloadAfterTerminate, | 1718 'testReloadAfterTerminate': testReloadAfterTerminate, |
| 1716 'testRemoveSrcAttribute': testRemoveSrcAttribute, | 1719 'testRemoveSrcAttribute': testRemoveSrcAttribute, |
| 1717 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 1720 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 1718 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 1721 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 1719 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, | 1722 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
| 1720 'testTerminateAfterExit': testTerminateAfterExit, | 1723 'testTerminateAfterExit': testTerminateAfterExit, |
| 1721 'testWebRequestAPI': testWebRequestAPI, | 1724 'testWebRequestAPI': testWebRequestAPI, |
| 1722 'testWebRequestAPIWithHeaders': testWebRequestAPIWithHeaders, | 1725 'testWebRequestAPIWithHeaders': testWebRequestAPIWithHeaders, |
| 1723 'testWebRequestAPIExistence': testWebRequestAPIExistence, | 1726 'testWebRequestAPIExistence': testWebRequestAPIExistence, |
| 1724 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty | 1727 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty |
| 1725 }; | 1728 }; |
| 1726 | 1729 |
| 1727 onload = function() { | 1730 onload = function() { |
| 1728 chrome.test.getConfig(function(config) { | 1731 chrome.test.getConfig(function(config) { |
| 1729 embedder.setUp_(config); | 1732 embedder.setUp_(config); |
| 1730 chrome.test.sendMessage('LAUNCHED'); | 1733 chrome.test.sendMessage('LAUNCHED'); |
| 1731 }); | 1734 }); |
| 1732 }; | 1735 }; |
| OLD | NEW |