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

Side by Side Diff: chrome/test/data/extensions/platform_apps/web_view/shim/main.js

Issue 237793003: Use default CSP for resource loading in webview (instead of platform app's CSP) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add comment to added file Created 6 years, 8 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
OLDNEW
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 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 typeof webview.contentWindow.postMessage); 298 typeof webview.contentWindow.postMessage);
299 embedder.test.succeed(); 299 embedder.test.succeed();
300 }); 300 });
301 webview.setAttribute('src', 'data:text/html,webview check api'); 301 webview.setAttribute('src', 'data:text/html,webview check api');
302 document.body.appendChild(webview); 302 document.body.appendChild(webview);
303 } 303 }
304 304
305 // This test verifies that the loadstop event fires when loading a webview 305 // This test verifies that the loadstop event fires when loading a webview
306 // accessible resource from a partition that is privileged. 306 // accessible resource from a partition that is privileged.
307 function testChromeExtensionURL() { 307 function testChromeExtensionURL() {
308 var localResource = chrome.runtime.getURL('guest.html'); 308 var localResource = chrome.runtime.getURL('guest_with_inline_script.html');
309 var webview = document.createElement('webview'); 309 var webview = document.createElement('webview');
310 // foobar is a privileged partition according to the manifest file. 310 // foobar is a privileged partition according to the manifest file.
311 webview.partition = 'foobar'; 311 webview.partition = 'foobar';
312 webview.addEventListener('loadabort', function(e) { 312 webview.addEventListener('loadabort', function(e) {
313 embedder.test.fail(); 313 embedder.test.fail();
314 }); 314 });
315 webview.addEventListener('loadstop', function(e) { 315 webview.addEventListener('loadstop', function(e) {
316 embedder.test.succeed(); 316 embedder.test.succeed();
317 }); 317 });
318 webview.setAttribute('src', localResource); 318 webview.setAttribute('src', localResource);
319 document.body.appendChild(webview); 319 document.body.appendChild(webview);
320 } 320 }
321 321
322 // This test verifies that the loadstop event fires when loading a webview 322 // This test verifies that the loadstop event fires when loading a webview
323 // accessible resource from a partition that is privileged if the src URL 323 // accessible resource from a partition that is privileged if the src URL
324 // is not fully qualified. 324 // is not fully qualified.
325 function testChromeExtensionRelativePath() { 325 function testChromeExtensionRelativePath() {
326 var webview = document.createElement('webview'); 326 var webview = document.createElement('webview');
327 // foobar is a privileged partition according to the manifest file. 327 // foobar is a privileged partition according to the manifest file.
328 webview.partition = 'foobar'; 328 webview.partition = 'foobar';
329 webview.addEventListener('loadabort', function(e) { 329 webview.addEventListener('loadabort', function(e) {
330 embedder.test.fail(); 330 embedder.test.fail();
331 }); 331 });
332 webview.addEventListener('loadstop', function(e) { 332 webview.addEventListener('loadstop', function(e) {
333 embedder.test.succeed(); 333 embedder.test.succeed();
334 }); 334 });
335 webview.setAttribute('src', 'guest.html'); 335 webview.setAttribute('src', 'guest_with_inline_script.html');
336 document.body.appendChild(webview); 336 document.body.appendChild(webview);
337 } 337 }
338 338
339 // Makes sure inline scripts works inside guest that was loaded from
340 // accessible_resources.
341 function testInlineScriptFromAccessibleResources() {
342 var webview = document.createElement('webview');
343 // foobar is a privileged partition according to the manifest file.
344 webview.partition = 'foobar';
345 webview.addEventListener('loadabort', function(e) {
346 embedder.test.fail();
347 });
348 webview.addEventListener('consolemessage', function(e) {
349 window.console.log('consolemessage: ' + e.message);
350 if (e.message == 'guest_with_inline_script.html: Inline script ran') {
351 embedder.test.succeed();
352 }
353 });
354 webview.setAttribute('src', 'guest_with_inline_script.html');
355 document.body.appendChild(webview);
356 }
357
339 // This tests verifies that webview fires a loadabort event instead of crashing 358 // This tests verifies that webview fires a loadabort event instead of crashing
340 // the browser if we attempt to navigate to a chrome-extension: URL with an 359 // the browser if we attempt to navigate to a chrome-extension: URL with an
341 // extension ID that does not exist. 360 // extension ID that does not exist.
342 function testInvalidChromeExtensionURL() { 361 function testInvalidChromeExtensionURL() {
343 var invalidResource = 'chrome-extension://abc123/guest.html'; 362 var invalidResource = 'chrome-extension://abc123/guest.html';
344 var webview = document.createElement('webview'); 363 var webview = document.createElement('webview');
345 // foobar is a privileged partition according to the manifest file. 364 // foobar is a privileged partition according to the manifest file.
346 webview.partition = 'foobar'; 365 webview.partition = 'foobar';
347 webview.addEventListener('loadabort', function(e) { 366 webview.addEventListener('loadabort', function(e) {
348 embedder.test.succeed(); 367 embedder.test.succeed();
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1495 }; 1514 };
1496 1515
1497 embedder.test.testList = { 1516 embedder.test.testList = {
1498 'testAutosizeAfterNavigation': testAutosizeAfterNavigation, 1517 'testAutosizeAfterNavigation': testAutosizeAfterNavigation,
1499 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation, 1518 'testAutosizeBeforeNavigation': testAutosizeBeforeNavigation,
1500 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes, 1519 'testAutosizeRemoveAttributes': testAutosizeRemoveAttributes,
1501 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes, 1520 'testAutosizeWithPartialAttributes': testAutosizeWithPartialAttributes,
1502 'testAPIMethodExistence': testAPIMethodExistence, 1521 'testAPIMethodExistence': testAPIMethodExistence,
1503 'testChromeExtensionURL': testChromeExtensionURL, 1522 'testChromeExtensionURL': testChromeExtensionURL,
1504 'testChromeExtensionRelativePath': testChromeExtensionRelativePath, 1523 'testChromeExtensionRelativePath': testChromeExtensionRelativePath,
1524 'testInlineScriptFromAccessibleResources':
1525 testInlineScriptFromAccessibleResources,
1505 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL, 1526 'testInvalidChromeExtensionURL': testInvalidChromeExtensionURL,
1506 'testWebRequestAPIExistence': testWebRequestAPIExistence, 1527 'testWebRequestAPIExistence': testWebRequestAPIExistence,
1507 'testEventName': testEventName, 1528 'testEventName': testEventName,
1508 'testOnEventProperties': testOnEventProperties, 1529 'testOnEventProperties': testOnEventProperties,
1509 'testLoadProgressEvent': testLoadProgressEvent, 1530 'testLoadProgressEvent': testLoadProgressEvent,
1510 'testDestroyOnEventListener': testDestroyOnEventListener, 1531 'testDestroyOnEventListener': testDestroyOnEventListener,
1511 'testCannotMutateEventName': testCannotMutateEventName, 1532 'testCannotMutateEventName': testCannotMutateEventName,
1512 'testPartitionRaisesException': testPartitionRaisesException, 1533 'testPartitionRaisesException': testPartitionRaisesException,
1513 'testExecuteScriptFail': testExecuteScriptFail, 1534 'testExecuteScriptFail': testExecuteScriptFail,
1514 'testExecuteScript': testExecuteScript, 1535 'testExecuteScript': testExecuteScript,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1552 'testFindAPI': testFindAPI, 1573 'testFindAPI': testFindAPI,
1553 'testFindAPI_findupdate': testFindAPI 1574 'testFindAPI_findupdate': testFindAPI
1554 }; 1575 };
1555 1576
1556 onload = function() { 1577 onload = function() {
1557 chrome.test.getConfig(function(config) { 1578 chrome.test.getConfig(function(config) {
1558 embedder.setUp_(config); 1579 embedder.setUp_(config);
1559 chrome.test.sendMessage("Launched"); 1580 chrome.test.sendMessage("Launched");
1560 }); 1581 });
1561 }; 1582 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698