| 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 2560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2571 ); | 2571 ); |
| 2572 } | 2572 } |
| 2573 ); | 2573 ); |
| 2574 } | 2574 } |
| 2575 ); | 2575 ); |
| 2576 }); | 2576 }); |
| 2577 }); | 2577 }); |
| 2578 document.body.appendChild(webview); | 2578 document.body.appendChild(webview); |
| 2579 }; | 2579 }; |
| 2580 | 2580 |
| 2581 var testFindPage = |
| 2582 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2583 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2584 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2585 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2586 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2587 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2588 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2589 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2590 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2591 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + |
| 2592 '<a href="about:blank">Click here!</a>'; |
| 2593 |
| 2581 function testFindAPI() { | 2594 function testFindAPI() { |
| 2582 var webview = new WebView(); | 2595 var webview = new WebView(); |
| 2583 webview.src = 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | 2596 webview.src = testFindPage; |
| 2584 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2585 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2586 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2587 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2588 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2589 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2590 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2591 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2592 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + | |
| 2593 '<a href="about:blank">Click here!</a>'; | |
| 2594 | 2597 |
| 2595 var loadstopListener2 = function(e) { | 2598 var loadstopListener2 = function(e) { |
| 2596 embedder.test.assertEq(webview.src, "about:blank"); | 2599 embedder.test.assertEq(webview.src, "about:blank"); |
| 2597 // Test find results when looking for nothing. | 2600 // Test find results when looking for nothing. |
| 2598 webview.find("", {}, function(results) { | 2601 webview.find("", {}, function(results) { |
| 2599 embedder.test.assertEq(results.numberOfMatches, 0); | 2602 embedder.test.assertEq(results.numberOfMatches, 0); |
| 2600 embedder.test.assertEq(results.activeMatchOrdinal, 0); | 2603 embedder.test.assertEq(results.activeMatchOrdinal, 0); |
| 2601 embedder.test.assertEq(results.selectionRect.left, 0); | 2604 embedder.test.assertEq(results.selectionRect.left, 0); |
| 2602 embedder.test.assertEq(results.selectionRect.top, 0); | 2605 embedder.test.assertEq(results.selectionRect.top, 0); |
| 2603 embedder.test.assertEq(results.selectionRect.width, 0); | 2606 embedder.test.assertEq(results.selectionRect.width, 0); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2657 }); | 2660 }); |
| 2658 }); | 2661 }); |
| 2659 }; | 2662 }; |
| 2660 | 2663 |
| 2661 webview.addEventListener('loadstop', loadstopListener1); | 2664 webview.addEventListener('loadstop', loadstopListener1); |
| 2662 document.body.appendChild(webview); | 2665 document.body.appendChild(webview); |
| 2663 }; | 2666 }; |
| 2664 | 2667 |
| 2665 function testFindAPI_findupdate() { | 2668 function testFindAPI_findupdate() { |
| 2666 var webview = new WebView(); | 2669 var webview = new WebView(); |
| 2667 webview.src = 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | 2670 webview.src = testFindPage; |
| 2668 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | 2671 |
| 2669 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2670 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2671 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2672 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2673 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2674 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2675 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2676 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + | |
| 2677 '<a href="about:blank">Click here!</a>'; | |
| 2678 var canceledTest = false; | 2672 var canceledTest = false; |
| 2679 webview.addEventListener('loadstop', function(e) { | 2673 webview.addEventListener('loadstop', function(e) { |
| 2680 // Test the |findupdate| event. | 2674 // Test the |findupdate| event. |
| 2681 webview.addEventListener('findupdate', function(e) { | 2675 webview.addEventListener('findupdate', function(e) { |
| 2682 if (e.activeMatchOrdinal > 0) { | 2676 if (e.activeMatchOrdinal > 0) { |
| 2683 embedder.test.assertTrue(e.numberOfMatches >= e.activeMatchOrdinal) | 2677 embedder.test.assertTrue(e.numberOfMatches >= e.activeMatchOrdinal) |
| 2684 embedder.test.assertTrue(e.selectionRect.width > 0); | 2678 embedder.test.assertTrue(e.selectionRect.width > 0); |
| 2685 embedder.test.assertTrue(e.selectionRect.height > 0); | 2679 embedder.test.assertTrue(e.selectionRect.height > 0); |
| 2686 } | 2680 } |
| 2687 | 2681 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2698 } | 2692 } |
| 2699 }); | 2693 }); |
| 2700 webview.find("dog"); | 2694 webview.find("dog"); |
| 2701 webview.find("cat"); | 2695 webview.find("cat"); |
| 2702 webview.find("dog"); | 2696 webview.find("dog"); |
| 2703 }); | 2697 }); |
| 2704 | 2698 |
| 2705 document.body.appendChild(webview); | 2699 document.body.appendChild(webview); |
| 2706 }; | 2700 }; |
| 2707 | 2701 |
| 2702 function testFindInMultipleWebViews() { |
| 2703 var webviews = [new WebView(), new WebView(), new WebView()]; |
| 2704 var promises = []; |
| 2705 |
| 2706 // Search in all WebViews simultaneously. |
| 2707 for (var i in webviews) { |
| 2708 webviews[i].src = testFindPage; |
| 2709 promises[i] = new Promise((resolve, reject) => { |
| 2710 webviews[i].addEventListener('loadstop', function(id, event) { |
| 2711 LOG("Searching WebView " + id + "."); |
| 2712 |
| 2713 var webview = webviews[id]; |
| 2714 webview.find("dog", {}, (results_a) => { |
| 2715 embedder.test.assertEq(results_a.numberOfMatches, 100); |
| 2716 embedder.test.assertTrue(results_a.selectionRect.width > 0); |
| 2717 embedder.test.assertTrue(results_a.selectionRect.height > 0); |
| 2718 |
| 2719 // Test finding next active matches. |
| 2720 webview.find("dog"); |
| 2721 webview.find("dog"); |
| 2722 webview.find("dog"); |
| 2723 webview.find("dog"); |
| 2724 webview.find("dog", {}, (results_b) => { |
| 2725 embedder.test.assertEq(results_b.activeMatchOrdinal, 6); |
| 2726 LOG("Searched WebView " + id + " successfully."); |
| 2727 resolve(); |
| 2728 }); |
| 2729 }); |
| 2730 }.bind(undefined, i)); |
| 2731 }); |
| 2732 document.body.appendChild(webviews[i]); |
| 2733 } |
| 2734 |
| 2735 Promise.all(promises) |
| 2736 .then(() => { |
| 2737 LOG("All searches finished."); |
| 2738 embedder.test.succeed(); |
| 2739 }) |
| 2740 .catch((error) => { |
| 2741 LOG("Failing test."); |
| 2742 embedder.test.fail(error); |
| 2743 }); |
| 2744 } |
| 2745 |
| 2708 function testLoadDataAPI() { | 2746 function testLoadDataAPI() { |
| 2709 var webview = new WebView(); | 2747 var webview = new WebView(); |
| 2710 webview.src = 'about:blank'; | 2748 webview.src = 'about:blank'; |
| 2711 | 2749 |
| 2712 var loadstopListener2 = function(e) { | 2750 var loadstopListener2 = function(e) { |
| 2713 // Test the virtual URL. | 2751 // Test the virtual URL. |
| 2714 embedder.test.assertEq(webview.src, embedder.virtualURL); | 2752 embedder.test.assertEq(webview.src, embedder.virtualURL); |
| 2715 | 2753 |
| 2716 // Test that the image was loaded from the right source. | 2754 // Test that the image was loaded from the right source. |
| 2717 webview.executeScript( | 2755 webview.executeScript( |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3158 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 3196 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 3159 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 3197 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 3160 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, | 3198 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
| 3161 'testResizeWebviewWithDisplayNoneResizesContent': | 3199 'testResizeWebviewWithDisplayNoneResizesContent': |
| 3162 testResizeWebviewWithDisplayNoneResizesContent, | 3200 testResizeWebviewWithDisplayNoneResizesContent, |
| 3163 'testPostMessageCommChannel': testPostMessageCommChannel, | 3201 'testPostMessageCommChannel': testPostMessageCommChannel, |
| 3164 'testScreenshotCapture' : testScreenshotCapture, | 3202 'testScreenshotCapture' : testScreenshotCapture, |
| 3165 'testZoomAPI' : testZoomAPI, | 3203 'testZoomAPI' : testZoomAPI, |
| 3166 'testFindAPI': testFindAPI, | 3204 'testFindAPI': testFindAPI, |
| 3167 'testFindAPI_findupdate': testFindAPI_findupdate, | 3205 'testFindAPI_findupdate': testFindAPI_findupdate, |
| 3206 'testFindInMultipleWebViews': testFindInMultipleWebViews, |
| 3168 'testLoadDataAPI': testLoadDataAPI, | 3207 'testLoadDataAPI': testLoadDataAPI, |
| 3169 'testResizeEvents': testResizeEvents, | 3208 'testResizeEvents': testResizeEvents, |
| 3170 'testPerOriginZoomMode': testPerOriginZoomMode, | 3209 'testPerOriginZoomMode': testPerOriginZoomMode, |
| 3171 'testPerViewZoomMode': testPerViewZoomMode, | 3210 'testPerViewZoomMode': testPerViewZoomMode, |
| 3172 'testDisabledZoomMode': testDisabledZoomMode, | 3211 'testDisabledZoomMode': testDisabledZoomMode, |
| 3173 'testZoomBeforeNavigation': testZoomBeforeNavigation, | 3212 'testZoomBeforeNavigation': testZoomBeforeNavigation, |
| 3174 'testPlugin': testPlugin, | 3213 'testPlugin': testPlugin, |
| 3175 'testGarbageCollect': testGarbageCollect, | 3214 'testGarbageCollect': testGarbageCollect, |
| 3176 'testCloseNewWindowCleanup': testCloseNewWindowCleanup, | 3215 'testCloseNewWindowCleanup': testCloseNewWindowCleanup, |
| 3177 'testFocusWhileFocused': testFocusWhileFocused, | 3216 'testFocusWhileFocused': testFocusWhileFocused, |
| 3178 'testPDFInWebview': testPDFInWebview, | 3217 'testPDFInWebview': testPDFInWebview, |
| 3179 'testNavigateToPDFInWebview': testNavigateToPDFInWebview, | 3218 'testNavigateToPDFInWebview': testNavigateToPDFInWebview, |
| 3180 'testMailtoLink': testMailtoLink, | 3219 'testMailtoLink': testMailtoLink, |
| 3181 'testRendererNavigationRedirectWhileUnattached': | 3220 'testRendererNavigationRedirectWhileUnattached': |
| 3182 testRendererNavigationRedirectWhileUnattached, | 3221 testRendererNavigationRedirectWhileUnattached, |
| 3183 'testBlobURL': testBlobURL | 3222 'testBlobURL': testBlobURL |
| 3184 }; | 3223 }; |
| 3185 | 3224 |
| 3186 onload = function() { | 3225 onload = function() { |
| 3187 chrome.test.getConfig(function(config) { | 3226 chrome.test.getConfig(function(config) { |
| 3188 embedder.setUp_(config); | 3227 embedder.setUp_(config); |
| 3189 chrome.test.sendMessage("Launched"); | 3228 chrome.test.sendMessage("Launched"); |
| 3190 }); | 3229 }); |
| 3191 }; | 3230 }; |
| OLD | NEW |