Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Side by Side Diff: extensions/test/data/web_view/apitest/main.js

Issue 2649213002: Fix regression of webview loadstart events firing for same page navigations. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/test/data/web_view/apitest/guest_same_page_navigation.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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;
11 } 11 }
12 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port; 12 embedder.baseGuestURL = 'http://localhost:' + config.testServer.port;
13 embedder.closeSocketURL = embedder.baseGuestURL + '/close-socket'; 13 embedder.closeSocketURL = embedder.baseGuestURL + '/close-socket';
14 embedder.emptyGuestURL = embedder.baseGuestURL + '/empty_guest.html'; 14 embedder.emptyGuestURL = embedder.baseGuestURL + '/empty_guest.html';
15 embedder.noReferrerGuestURL = 15 embedder.noReferrerGuestURL =
16 embedder.baseGuestURL + '/guest_noreferrer.html'; 16 embedder.baseGuestURL + '/guest_noreferrer.html';
17 embedder.detectUserAgentURL = embedder.baseGuestURL + '/detect-user-agent'; 17 embedder.detectUserAgentURL = embedder.baseGuestURL + '/detect-user-agent';
18 embedder.redirectGuestURL = embedder.baseGuestURL + '/server-redirect'; 18 embedder.redirectGuestURL = embedder.baseGuestURL + '/server-redirect';
19 embedder.redirectGuestURLDest = 19 embedder.redirectGuestURLDest =
20 embedder.baseGuestURL + '/guest_redirect.html'; 20 embedder.baseGuestURL + '/guest_redirect.html';
21 embedder.windowOpenGuestURL = embedder.baseGuestURL + '/guest.html'; 21 embedder.windowOpenGuestURL = embedder.baseGuestURL + '/guest.html';
22 embedder.samePageNavigationURL =
23 embedder.baseGuestURL + '/guest_same_page_navigation.html';
22 }; 24 };
23 25
24 window.runTest = function(testName) { 26 window.runTest = function(testName) {
25 if (!embedder.test.testList[testName]) { 27 if (!embedder.test.testList[testName]) {
26 window.console.warn('Incorrect testName: ' + testName); 28 window.console.warn('Incorrect testName: ' + testName);
27 embedder.test.fail(); 29 embedder.test.fail();
28 return; 30 return;
29 } 31 }
30 32
31 // Run the test. 33 // Run the test.
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 embedder.test.succeed(); 1045 embedder.test.succeed();
1044 }); 1046 });
1045 webview.addEventListener('exit', function(e) { 1047 webview.addEventListener('exit', function(e) {
1046 // We should not crash. 1048 // We should not crash.
1047 embedder.test.fail(); 1049 embedder.test.fail();
1048 }); 1050 });
1049 webview.src = chromeGuestURL; 1051 webview.src = chromeGuestURL;
1050 document.body.appendChild(webview); 1052 document.body.appendChild(webview);
1051 }; 1053 };
1052 1054
1055 // This test verifies that the loadStart isn't sent for same page navigations,
1056 // while loadCommit is (per docs).
1057 function testLoadEventsSamePageNavigation() {
1058 var webview = new WebView();
1059 var loadStartCount = 0;
1060 var loadCommitCount = 0;
1061 webview.addEventListener('loadstart', function(evt) {
1062 loadStartCount++;
1063 });
1064 webview.addEventListener('loadcommit', function(e) {
1065 loadCommitCount++;
1066 });
1067 webview.addEventListener('loadstop', function(evt) {
1068 embedder.test.assertEq(1, loadStartCount);
1069 embedder.test.assertEq(2, loadCommitCount);
1070 embedder.test.succeed();
1071 });
1072
1073 webview.src = embedder.samePageNavigationURL;
1074 document.body.appendChild(webview);
1075 }
1076
1053 // Tests that the 'loadprogress' event is triggered correctly. 1077 // Tests that the 'loadprogress' event is triggered correctly.
1054 function testLoadProgressEvent() { 1078 function testLoadProgressEvent() {
1055 var webview = document.createElement('webview'); 1079 var webview = document.createElement('webview');
1056 var progress = 0; 1080 var progress = 0;
1057 1081
1058 webview.addEventListener('loadstop', function(evt) { 1082 webview.addEventListener('loadstop', function(evt) {
1059 embedder.test.assertEq(1, progress); 1083 embedder.test.assertEq(1, progress);
1060 embedder.test.succeed(); 1084 embedder.test.succeed();
1061 }); 1085 });
1062 1086
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1749 testInlineScriptFromAccessibleResources, 1773 testInlineScriptFromAccessibleResources,
1750 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL, 1774 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL,
1751 'testLoadAbortChromeExtensionURLWrongPartition': 1775 'testLoadAbortChromeExtensionURLWrongPartition':
1752 testLoadAbortChromeExtensionURLWrongPartition, 1776 testLoadAbortChromeExtensionURLWrongPartition,
1753 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, 1777 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse,
1754 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, 1778 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL,
1755 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, 1779 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL,
1756 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL, 1780 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL,
1757 'testLoadAbortInvalidNavigation': testLoadAbortInvalidNavigation, 1781 'testLoadAbortInvalidNavigation': testLoadAbortInvalidNavigation,
1758 'testLoadAbortNonWebSafeScheme': testLoadAbortNonWebSafeScheme, 1782 'testLoadAbortNonWebSafeScheme': testLoadAbortNonWebSafeScheme,
1783 'testLoadEventsSamePageNavigation': testLoadEventsSamePageNavigation,
1759 'testLoadProgressEvent': testLoadProgressEvent, 1784 'testLoadProgressEvent': testLoadProgressEvent,
1760 'testLoadStartLoadRedirect': testLoadStartLoadRedirect, 1785 'testLoadStartLoadRedirect': testLoadStartLoadRedirect,
1761 'testNavigateAfterResize': testNavigateAfterResize, 1786 'testNavigateAfterResize': testNavigateAfterResize,
1762 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, 1787 'testNavigationToExternalProtocol': testNavigationToExternalProtocol,
1763 'testNavOnConsecutiveSrcAttributeChanges': 1788 'testNavOnConsecutiveSrcAttributeChanges':
1764 testNavOnConsecutiveSrcAttributeChanges, 1789 testNavOnConsecutiveSrcAttributeChanges,
1765 'testNavOnSrcAttributeChange': testNavOnSrcAttributeChange, 1790 'testNavOnSrcAttributeChange': testNavOnSrcAttributeChange,
1766 'testNewWindow': testNewWindow, 1791 'testNewWindow': testNewWindow,
1767 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault, 1792 'testNewWindowNoPreventDefault': testNewWindowNoPreventDefault,
1768 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink, 1793 'testNewWindowNoReferrerLink': testNewWindowNoReferrerLink,
(...skipping 16 matching lines...) Expand all
1785 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty, 1810 'testWebRequestAPIGoogleProperty': testWebRequestAPIGoogleProperty,
1786 'testCaptureVisibleRegion': testCaptureVisibleRegion 1811 'testCaptureVisibleRegion': testCaptureVisibleRegion
1787 }; 1812 };
1788 1813
1789 onload = function() { 1814 onload = function() {
1790 chrome.test.getConfig(function(config) { 1815 chrome.test.getConfig(function(config) {
1791 embedder.setUp_(config); 1816 embedder.setUp_(config);
1792 chrome.test.sendMessage('LAUNCHED'); 1817 chrome.test.sendMessage('LAUNCHED');
1793 }); 1818 });
1794 }; 1819 };
OLDNEW
« no previous file with comments | « extensions/test/data/web_view/apitest/guest_same_page_navigation.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698