| 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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 webview.addEventListener('contentload', function(e) { | 751 webview.addEventListener('contentload', function(e) { |
| 752 embedder.test.succeed(); | 752 embedder.test.succeed(); |
| 753 }); | 753 }); |
| 754 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 754 webview.setAttribute('src', 'data:text/html,trigger navigation'); |
| 755 document.body.appendChild(webview); | 755 document.body.appendChild(webview); |
| 756 } | 756 } |
| 757 | 757 |
| 758 // This test verifies that the WebRequest API onBeforeRequest event fires on | 758 // This test verifies that the WebRequest API onBeforeRequest event fires on |
| 759 // webview. | 759 // webview. |
| 760 function testWebRequestAPI() { | 760 function testWebRequestAPI() { |
| 761 var webview = document.createElement('webview'); | 761 var webview = new WebView(); |
| 762 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 762 webview.request.onBeforeRequest.addListener(function(e) { |
| 763 var firstLoad = function() { | 763 embedder.test.succeed(); |
| 764 webview.removeEventListener('loadstop', firstLoad); | 764 }, { urls: ['<all_urls>']}) ; |
| 765 webview.onBeforeRequest.addListener(function(e) { | 765 webview.src = embedder.windowOpenGuestURL; |
| 766 embedder.test.succeed(); | |
| 767 }, { urls: ['<all_urls>']}, ['blocking']) ; | |
| 768 webview.src = embedder.windowOpenGuestURL; | |
| 769 }; | |
| 770 webview.addEventListener('loadstop', firstLoad); | |
| 771 document.body.appendChild(webview); | 766 document.body.appendChild(webview); |
| 772 } | 767 } |
| 773 | 768 |
| 774 // This test verifies that the WebRequest API onBeforeRequest event fires on | 769 // This test verifies that the WebRequest API onBeforeRequest event fires on |
| 775 // clients*.google.com URLs. | 770 // clients*.google.com URLs. |
| 776 function testWebRequestAPIGoogleProperty() { | 771 function testWebRequestAPIGoogleProperty() { |
| 777 var webview = document.createElement('webview'); | 772 var webview = new WebView(); |
| 778 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 773 webview.request.onBeforeRequest.addListener(function(e) { |
| 779 var firstLoad = function() { | 774 embedder.test.succeed(); |
| 780 webview.removeEventListener('loadstop', firstLoad); | 775 return {cancel: true}; |
| 781 webview.onBeforeRequest.addListener(function(e) { | 776 }, { urls: ['<all_urls>']}, ['blocking']) ; |
| 782 embedder.test.succeed(); | 777 webview.src = 'http://clients6.google.com'; |
| 783 return {cancel: true}; | |
| 784 }, { urls: ['<all_urls>']}, ['blocking']) ; | |
| 785 webview.src = 'http://clients6.google.com'; | |
| 786 }; | |
| 787 webview.addEventListener('loadstop', firstLoad); | |
| 788 document.body.appendChild(webview); | 778 document.body.appendChild(webview); |
| 789 } | 779 } |
| 790 | 780 |
| 781 // This test verifies that the WebRequest event listener for onBeforeRequest |
| 782 // survives reparenting of the <webview>. |
| 783 function testWebRequestListenerSurvivesReparenting() { |
| 784 var webview = new WebView(); |
| 785 var count = 0; |
| 786 webview.request.onBeforeRequest.addListener(function(e) { |
| 787 if (++count == 2) { |
| 788 embedder.test.succeed(); |
| 789 } |
| 790 }, { urls: ['<all_urls>']}); |
| 791 var onLoadStop = function(e) { |
| 792 webview.removeEventListener('loadstop', onLoadStop); |
| 793 webview.parentNode.removeChild(webview); |
| 794 var container = document.getElementById('object-container'); |
| 795 if (!container) { |
| 796 embedder.test.fail('Container for object not found.'); |
| 797 return; |
| 798 } |
| 799 container.appendChild(webview); |
| 800 }; |
| 801 webview.addEventListener('loadstop', onLoadStop); |
| 802 webview.src = embedder.emptyGuestURL; |
| 803 document.body.appendChild(webview); |
| 804 } |
| 805 |
| 791 // This test verifies that getProcessId is defined and returns a non-zero | 806 // This test verifies that getProcessId is defined and returns a non-zero |
| 792 // value corresponding to the processId of the guest process. | 807 // value corresponding to the processId of the guest process. |
| 793 function testGetProcessId() { | 808 function testGetProcessId() { |
| 794 var webview = document.createElement('webview'); | 809 var webview = document.createElement('webview'); |
| 795 webview.setAttribute('src', 'data:text/html,trigger navigation'); | 810 webview.setAttribute('src', 'data:text/html,trigger navigation'); |
| 796 var firstLoad = function() { | 811 var firstLoad = function() { |
| 797 webview.removeEventListener('loadstop', firstLoad); | 812 webview.removeEventListener('loadstop', firstLoad); |
| 798 embedder.test.assertTrue(webview.getProcessId() > 0); | 813 embedder.test.assertTrue(webview.getProcessId() > 0); |
| 799 embedder.test.succeed(); | 814 embedder.test.succeed(); |
| 800 }; | 815 }; |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1006 'testReassignSrcAttribute': testReassignSrcAttribute, | 1021 'testReassignSrcAttribute': testReassignSrcAttribute, |
| 1007 'testRemoveSrcAttribute': testRemoveSrcAttribute, | 1022 'testRemoveSrcAttribute': testRemoveSrcAttribute, |
| 1008 'testBrowserPluginNotAllowed': testBrowserPluginNotAllowed, | 1023 'testBrowserPluginNotAllowed': testBrowserPluginNotAllowed, |
| 1009 'testNewWindow': testNewWindow, | 1024 'testNewWindow': testNewWindow, |
| 1010 'testNewWindowTwoListeners': testNewWindowTwoListeners, | 1025 'testNewWindowTwoListeners': testNewWindowTwoListeners, |
| 1011 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, | 1026 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, |
| 1012 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, | 1027 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, |
| 1013 'testContentLoadEvent': testContentLoadEvent, | 1028 'testContentLoadEvent': testContentLoadEvent, |
| 1014 'testWebRequestAPI': testWebRequestAPI, | 1029 'testWebRequestAPI': testWebRequestAPI, |
| 1015 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty, | 1030 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty, |
| 1031 'testWebRequestListenerSurvivesReparenting': |
| 1032 testWebRequestListenerSurvivesReparenting, |
| 1016 'testGetProcessId': testGetProcessId, | 1033 'testGetProcessId': testGetProcessId, |
| 1017 'testLoadStartLoadRedirect': testLoadStartLoadRedirect, | 1034 'testLoadStartLoadRedirect': testLoadStartLoadRedirect, |
| 1018 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, | 1035 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, |
| 1019 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, | 1036 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, |
| 1020 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, | 1037 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, |
| 1021 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, | 1038 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, |
| 1022 'testReload': testReload, | 1039 'testReload': testReload, |
| 1023 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 1040 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 1024 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 1041 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 1025 'testResizeWebviewResizesContent': testResizeWebviewResizesContent | 1042 'testResizeWebviewResizesContent': testResizeWebviewResizesContent |
| 1026 }; | 1043 }; |
| 1027 | 1044 |
| 1028 onload = function() { | 1045 onload = function() { |
| 1029 chrome.test.getConfig(function(config) { | 1046 chrome.test.getConfig(function(config) { |
| 1030 embedder.setUp_(config); | 1047 embedder.setUp_(config); |
| 1031 chrome.test.sendMessage("Launched"); | 1048 chrome.test.sendMessage("Launched"); |
| 1032 }); | 1049 }); |
| 1033 }; | 1050 }; |
| OLD | NEW |