| 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 2538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2549 ); | 2549 ); |
| 2550 } | 2550 } |
| 2551 ); | 2551 ); |
| 2552 } | 2552 } |
| 2553 ); | 2553 ); |
| 2554 }); | 2554 }); |
| 2555 }); | 2555 }); |
| 2556 document.body.appendChild(webview); | 2556 document.body.appendChild(webview); |
| 2557 }; | 2557 }; |
| 2558 | 2558 |
| 2559 var testFindPage = | |
| 2560 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2561 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2562 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2563 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2564 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2565 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2566 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2567 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2568 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + | |
| 2569 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + | |
| 2570 '<a href="about:blank">Click here!</a>'; | |
| 2571 | |
| 2572 function testFindAPI() { | 2559 function testFindAPI() { |
| 2573 var webview = new WebView(); | 2560 var webview = new WebView(); |
| 2574 webview.src = testFindPage; | 2561 webview.src = 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2562 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2563 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2564 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2565 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2566 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2567 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2568 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2569 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2570 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + |
| 2571 '<a href="about:blank">Click here!</a>'; |
| 2575 | 2572 |
| 2576 var loadstopListener2 = function(e) { | 2573 var loadstopListener2 = function(e) { |
| 2577 embedder.test.assertEq(webview.src, "about:blank"); | 2574 embedder.test.assertEq(webview.src, "about:blank"); |
| 2578 // Test find results when looking for nothing. | 2575 // Test find results when looking for nothing. |
| 2579 webview.find("", {}, function(results) { | 2576 webview.find("", {}, function(results) { |
| 2580 embedder.test.assertEq(results.numberOfMatches, 0); | 2577 embedder.test.assertEq(results.numberOfMatches, 0); |
| 2581 embedder.test.assertEq(results.activeMatchOrdinal, 0); | 2578 embedder.test.assertEq(results.activeMatchOrdinal, 0); |
| 2582 embedder.test.assertEq(results.selectionRect.left, 0); | 2579 embedder.test.assertEq(results.selectionRect.left, 0); |
| 2583 embedder.test.assertEq(results.selectionRect.top, 0); | 2580 embedder.test.assertEq(results.selectionRect.top, 0); |
| 2584 embedder.test.assertEq(results.selectionRect.width, 0); | 2581 embedder.test.assertEq(results.selectionRect.width, 0); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2638 }); | 2635 }); |
| 2639 }); | 2636 }); |
| 2640 }; | 2637 }; |
| 2641 | 2638 |
| 2642 webview.addEventListener('loadstop', loadstopListener1); | 2639 webview.addEventListener('loadstop', loadstopListener1); |
| 2643 document.body.appendChild(webview); | 2640 document.body.appendChild(webview); |
| 2644 }; | 2641 }; |
| 2645 | 2642 |
| 2646 function testFindAPI_findupdate() { | 2643 function testFindAPI_findupdate() { |
| 2647 var webview = new WebView(); | 2644 var webview = new WebView(); |
| 2648 webview.src = testFindPage; | 2645 webview.src = 'data:text/html,Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2649 | 2646 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2647 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2648 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2649 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2650 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2651 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2652 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2653 'Dog dog dog Dog dog dogcatDog dogDogdog.<br>' + |
| 2654 'Dog dog dog Dog dog dogcatDog dogDogdog.<br><br>' + |
| 2655 '<a href="about:blank">Click here!</a>'; |
| 2650 var canceledTest = false; | 2656 var canceledTest = false; |
| 2651 webview.addEventListener('loadstop', function(e) { | 2657 webview.addEventListener('loadstop', function(e) { |
| 2652 // Test the |findupdate| event. | 2658 // Test the |findupdate| event. |
| 2653 webview.addEventListener('findupdate', function(e) { | 2659 webview.addEventListener('findupdate', function(e) { |
| 2654 if (e.activeMatchOrdinal > 0) { | 2660 if (e.activeMatchOrdinal > 0) { |
| 2655 embedder.test.assertTrue(e.numberOfMatches >= e.activeMatchOrdinal) | 2661 embedder.test.assertTrue(e.numberOfMatches >= e.activeMatchOrdinal) |
| 2656 embedder.test.assertTrue(e.selectionRect.width > 0); | 2662 embedder.test.assertTrue(e.selectionRect.width > 0); |
| 2657 embedder.test.assertTrue(e.selectionRect.height > 0); | 2663 embedder.test.assertTrue(e.selectionRect.height > 0); |
| 2658 } | 2664 } |
| 2659 | 2665 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2670 } | 2676 } |
| 2671 }); | 2677 }); |
| 2672 webview.find("dog"); | 2678 webview.find("dog"); |
| 2673 webview.find("cat"); | 2679 webview.find("cat"); |
| 2674 webview.find("dog"); | 2680 webview.find("dog"); |
| 2675 }); | 2681 }); |
| 2676 | 2682 |
| 2677 document.body.appendChild(webview); | 2683 document.body.appendChild(webview); |
| 2678 }; | 2684 }; |
| 2679 | 2685 |
| 2680 function testFindInMultipleWebViews() { | |
| 2681 var webviews = [new WebView(), new WebView(), new WebView()]; | |
| 2682 var promises = []; | |
| 2683 | |
| 2684 // Search in all WebViews simultaneously. | |
| 2685 for (var i in webviews) { | |
| 2686 webviews[i].src = testFindPage; | |
| 2687 promises[i] = new Promise((resolve, reject) => { | |
| 2688 webviews[i].addEventListener('loadstop', function(id, event) { | |
| 2689 LOG("Searching WebView " + id + "."); | |
| 2690 | |
| 2691 var webview = webviews[id]; | |
| 2692 webview.find("dog", {}, (results_a) => { | |
| 2693 embedder.test.assertEq(results_a.numberOfMatches, 100); | |
| 2694 embedder.test.assertTrue(results_a.selectionRect.width > 0); | |
| 2695 embedder.test.assertTrue(results_a.selectionRect.height > 0); | |
| 2696 | |
| 2697 // Test finding next active matches. | |
| 2698 webview.find("dog"); | |
| 2699 webview.find("dog"); | |
| 2700 webview.find("dog"); | |
| 2701 webview.find("dog"); | |
| 2702 webview.find("dog", {}, (results_b) => { | |
| 2703 embedder.test.assertEq(results_b.activeMatchOrdinal, 6); | |
| 2704 LOG("Searched WebView " + id + " successfully."); | |
| 2705 resolve(); | |
| 2706 }); | |
| 2707 }); | |
| 2708 }.bind(undefined, i)); | |
| 2709 }); | |
| 2710 document.body.appendChild(webviews[i]); | |
| 2711 } | |
| 2712 | |
| 2713 Promise.all(promises) | |
| 2714 .then(() => { | |
| 2715 LOG("All searches finished."); | |
| 2716 embedder.test.succeed(); | |
| 2717 }) | |
| 2718 .catch((error) => { | |
| 2719 LOG("Failing test."); | |
| 2720 embedder.test.fail(error); | |
| 2721 }); | |
| 2722 } | |
| 2723 | |
| 2724 function testLoadDataAPI() { | 2686 function testLoadDataAPI() { |
| 2725 var webview = new WebView(); | 2687 var webview = new WebView(); |
| 2726 webview.src = 'about:blank'; | 2688 webview.src = 'about:blank'; |
| 2727 | 2689 |
| 2728 var loadstopListener2 = function(e) { | 2690 var loadstopListener2 = function(e) { |
| 2729 // Test the virtual URL. | 2691 // Test the virtual URL. |
| 2730 embedder.test.assertEq(webview.src, embedder.virtualURL); | 2692 embedder.test.assertEq(webview.src, embedder.virtualURL); |
| 2731 | 2693 |
| 2732 // Test that the image was loaded from the right source. | 2694 // Test that the image was loaded from the right source. |
| 2733 webview.executeScript( | 2695 webview.executeScript( |
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3172 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 3134 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 3173 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 3135 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 3174 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, | 3136 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
| 3175 'testResizeWebviewWithDisplayNoneResizesContent': | 3137 'testResizeWebviewWithDisplayNoneResizesContent': |
| 3176 testResizeWebviewWithDisplayNoneResizesContent, | 3138 testResizeWebviewWithDisplayNoneResizesContent, |
| 3177 'testPostMessageCommChannel': testPostMessageCommChannel, | 3139 'testPostMessageCommChannel': testPostMessageCommChannel, |
| 3178 'testScreenshotCapture' : testScreenshotCapture, | 3140 'testScreenshotCapture' : testScreenshotCapture, |
| 3179 'testZoomAPI' : testZoomAPI, | 3141 'testZoomAPI' : testZoomAPI, |
| 3180 'testFindAPI': testFindAPI, | 3142 'testFindAPI': testFindAPI, |
| 3181 'testFindAPI_findupdate': testFindAPI_findupdate, | 3143 'testFindAPI_findupdate': testFindAPI_findupdate, |
| 3182 'testFindInMultipleWebViews': testFindInMultipleWebViews, | |
| 3183 'testLoadDataAPI': testLoadDataAPI, | 3144 'testLoadDataAPI': testLoadDataAPI, |
| 3184 'testResizeEvents': testResizeEvents, | 3145 'testResizeEvents': testResizeEvents, |
| 3185 'testPerOriginZoomMode': testPerOriginZoomMode, | 3146 'testPerOriginZoomMode': testPerOriginZoomMode, |
| 3186 'testPerViewZoomMode': testPerViewZoomMode, | 3147 'testPerViewZoomMode': testPerViewZoomMode, |
| 3187 'testDisabledZoomMode': testDisabledZoomMode, | 3148 'testDisabledZoomMode': testDisabledZoomMode, |
| 3188 'testZoomBeforeNavigation': testZoomBeforeNavigation, | 3149 'testZoomBeforeNavigation': testZoomBeforeNavigation, |
| 3189 'testPlugin': testPlugin, | 3150 'testPlugin': testPlugin, |
| 3190 'testGarbageCollect': testGarbageCollect, | 3151 'testGarbageCollect': testGarbageCollect, |
| 3191 'testCloseNewWindowCleanup': testCloseNewWindowCleanup, | 3152 'testCloseNewWindowCleanup': testCloseNewWindowCleanup, |
| 3192 'testFocusWhileFocused': testFocusWhileFocused, | 3153 'testFocusWhileFocused': testFocusWhileFocused, |
| 3193 'testPDFInWebview': testPDFInWebview, | 3154 'testPDFInWebview': testPDFInWebview, |
| 3194 'testNavigateToPDFInWebview': testNavigateToPDFInWebview, | 3155 'testNavigateToPDFInWebview': testNavigateToPDFInWebview, |
| 3195 'testMailtoLink': testMailtoLink, | 3156 'testMailtoLink': testMailtoLink, |
| 3196 'testRendererNavigationRedirectWhileUnattached': | 3157 'testRendererNavigationRedirectWhileUnattached': |
| 3197 testRendererNavigationRedirectWhileUnattached, | 3158 testRendererNavigationRedirectWhileUnattached, |
| 3198 'testBlobURL': testBlobURL | 3159 'testBlobURL': testBlobURL |
| 3199 }; | 3160 }; |
| 3200 | 3161 |
| 3201 onload = function() { | 3162 onload = function() { |
| 3202 chrome.test.getConfig(function(config) { | 3163 chrome.test.getConfig(function(config) { |
| 3203 embedder.setUp_(config); | 3164 embedder.setUp_(config); |
| 3204 chrome.test.sendMessage("Launched"); | 3165 chrome.test.sendMessage("Launched"); |
| 3205 }); | 3166 }); |
| 3206 }; | 3167 }; |
| OLD | NEW |