Chromium Code Reviews| 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 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1255 }); | 1255 }); |
| 1256 }); | 1256 }); |
| 1257 | 1257 |
| 1258 webview.style.width = '100px'; | 1258 webview.style.width = '100px'; |
| 1259 webview.style.height = '100px'; | 1259 webview.style.height = '100px'; |
| 1260 webview.setAttribute('src', | 1260 webview.setAttribute('src', |
| 1261 'data:text/html,<body style="background-color: red"></body>'); | 1261 'data:text/html,<body style="background-color: red"></body>'); |
| 1262 document.body.appendChild(webview); | 1262 document.body.appendChild(webview); |
| 1263 } | 1263 } |
| 1264 | 1264 |
| 1265 function testNavigateToWebStore() { | |
| 1266 var CHROME_WEB_STORE = 'https://chrome.google.com/webstore'; | |
| 1267 var webview = new WebView(); | |
| 1268 webview.src = 'about:blank'; | |
| 1269 webview.addEventListener('loadstop', function(e) { | |
| 1270 webview.executeScript( | |
| 1271 {file: 'inject_comm_channel.js'}, | |
| 1272 function(results) { | |
| 1273 window.console.log('The guest script for a two-way comm channel has ' + | |
| 1274 'been injected into webview.'); | |
| 1275 // Establish a communication channel with the guest. | |
| 1276 var msg = ['connect']; | |
| 1277 webview.contentWindow.postMessage(JSON.stringify(msg), '*'); | |
| 1278 } | |
| 1279 ); | |
| 1280 webview.executeScript( | |
| 1281 {file: 'inject_webstore_nav_test.js'}, | |
| 1282 function(results) { | |
| 1283 window.console.log( | |
| 1284 'The WebStore navigation test has been injected into webview.'); | |
| 1285 } | |
| 1286 ); | |
| 1287 }); | |
| 1288 | |
| 1289 webview.addEventListener('loadabort', function(e) { | |
| 1290 e.preventDefault(); | |
| 1291 window.console.log('Navigation to \'' + e.url + '\' has been aborted.'); | |
|
sadrul
2014/01/16 21:43:55
Considering the console logs show up in the test-r
Fady Samuel
2014/01/16 23:40:27
I feel they are useful. If a test hangs in the fut
| |
| 1292 embedder.test.assertEq('ERR_ABORTED', e.reason); | |
| 1293 embedder.test.assertEq(CHROME_WEB_STORE, e.url); | |
| 1294 // Ask the guest process if it's still alive. If the guest process has | |
| 1295 // crashed then this message will never be received. | |
| 1296 window.console.log('Checking if the guest process is still alive.'); | |
| 1297 var msg = ['isalive']; | |
| 1298 webview.contentWindow.postMessage(JSON.stringify(msg), '*'); | |
| 1299 //embedder.test.succeed(); | |
|
sadrul
2014/01/16 21:43:55
remove?
Fady Samuel
2014/01/16 23:40:27
Done.
| |
| 1300 }); | |
| 1301 | |
| 1302 webview.addEventListener('exit', function(e) { | |
| 1303 window.console.log('The guest process has crashed.'); | |
| 1304 embedder.test.fail(); | |
| 1305 }); | |
| 1306 | |
| 1307 window.addEventListener('message', function(e) { | |
| 1308 var data = JSON.parse(e.data); | |
| 1309 switch (data[0]) { | |
| 1310 case 'connected': { | |
| 1311 window.console.log( | |
| 1312 'A communication channel has been established with webview.'); | |
| 1313 window.console.log('Requesting a guest-initiated navigation to \'' + | |
| 1314 CHROME_WEB_STORE + '\''); | |
| 1315 var msg = ['navigate', CHROME_WEB_STORE]; | |
|
lazyboy
2014/01/16 22:31:24
The assumption here is that inject_webstore_nav_te
Fady Samuel
2014/01/16 23:40:27
Ohh, good catch! Fixed!
| |
| 1316 webview.contentWindow.postMessage(JSON.stringify(msg), '*'); | |
| 1317 return; | |
| 1318 } | |
| 1319 case 'alive': { | |
| 1320 window.console.log('The guest process is alive!'); | |
| 1321 embedder.test.succeed(); | |
| 1322 return; | |
| 1323 } | |
| 1324 case 'error': { | |
| 1325 window.console.log('The guest received an unexpected message: \'' + | |
| 1326 data[1] + '\''); | |
| 1327 embedder.test.fail(); | |
| 1328 return; | |
| 1329 } | |
| 1330 } | |
| 1331 console.log('Unexpected message: \'' + data[0] + '\''); | |
|
lazyboy
2014/01/16 22:31:24
nit: try being consistent within the file, console
Fady Samuel
2014/01/16 23:40:27
Done.
| |
| 1332 embedder.test.fail(); | |
| 1333 }); | |
| 1334 | |
| 1335 document.body.appendChild(webview); | |
| 1336 } | |
| 1337 | |
| 1265 embedder.test.testList = { | 1338 embedder.test.testList = { |
| 1266 'testAutosizeAfterNavigation': testAutosizeAfterNavigation, | 1339 'testAutosizeAfterNavigation': testAutosizeAfterNavigation, |
| 1267 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation, | 1340 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation, |
| 1268 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes, | 1341 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes, |
| 1269 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes, | 1342 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes, |
| 1270 'testAPIMethodExistence': testAPIMethodExistence, | 1343 'testAPIMethodExistence': testAPIMethodExistence, |
| 1271 'testChromeExtensionURL': testChromeExtensionURL, | 1344 'testChromeExtensionURL': testChromeExtensionURL, |
| 1272 'testChromeExtensionRelativePath': testChromeExtensionRelativePath, | 1345 'testChromeExtensionRelativePath': testChromeExtensionRelativePath, |
| 1273 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL, | 1346 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL, |
| 1274 'testWebRequestAPIExistence': testWebRequestAPIExistence, | 1347 'testWebRequestAPIExistence': testWebRequestAPIExistence, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1306 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, | 1379 'testLoadAbortEmptyResponse': testLoadAbortEmptyResponse, |
| 1307 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, | 1380 'testLoadAbortIllegalChromeURL': testLoadAbortIllegalChromeURL, |
| 1308 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, | 1381 'testLoadAbortIllegalFileURL': testLoadAbortIllegalFileURL, |
| 1309 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL, | 1382 'testLoadAbortIllegalJavaScriptURL': testLoadAbortIllegalJavaScriptURL, |
| 1310 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, | 1383 'testNavigationToExternalProtocol': testNavigationToExternalProtocol, |
| 1311 'testReload': testReload, | 1384 'testReload': testReload, |
| 1312 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, | 1385 'testRemoveWebviewOnExit': testRemoveWebviewOnExit, |
| 1313 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, | 1386 'testRemoveWebviewAfterNavigation': testRemoveWebviewAfterNavigation, |
| 1314 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, | 1387 'testResizeWebviewResizesContent': testResizeWebviewResizesContent, |
| 1315 'testPostMessageCommChannel': testPostMessageCommChannel, | 1388 'testPostMessageCommChannel': testPostMessageCommChannel, |
| 1316 'testScreenshotCapture' : testScreenshotCapture | 1389 'testScreenshotCapture' : testScreenshotCapture, |
| 1390 'testNavigateToWebStore' : testNavigateToWebStore | |
| 1317 }; | 1391 }; |
| 1318 | 1392 |
| 1319 onload = function() { | 1393 onload = function() { |
| 1320 chrome.test.getConfig(function(config) { | 1394 chrome.test.getConfig(function(config) { |
| 1321 embedder.setUp_(config); | 1395 embedder.setUp_(config); |
| 1322 chrome.test.sendMessage("Launched"); | 1396 chrome.test.sendMessage("Launched"); |
| 1323 }); | 1397 }); |
| 1324 }; | 1398 }; |
| OLD | NEW |