| Index: chrome/test/data/webui/settings/site_list_tests.js
|
| diff --git a/chrome/test/data/webui/settings/site_list_tests.js b/chrome/test/data/webui/settings/site_list_tests.js
|
| index bb260e52320d361e6550ec24517c6bf251acbeae..57962f04f971d8c4ac02bcbc88dad6786653e43c 100644
|
| --- a/chrome/test/data/webui/settings/site_list_tests.js
|
| +++ b/chrome/test/data/webui/settings/site_list_tests.js
|
| @@ -282,6 +282,23 @@ cr.define('site_list', function() {
|
| }
|
| };
|
|
|
| + /**
|
| + * An example Javascript pref with a chrome-extension:// scheme.
|
| + * @type {SiteSettingsPref}
|
| + */
|
| + var prefsChromeExtension = {
|
| + exceptions: {
|
| + javascript: [
|
| + {
|
| + embeddingOrigin: '',
|
| + origin: 'chrome-extension://cfhgfbfpcbnnbibfphagcjmgjfjmojfa/',
|
| + setting: 'block',
|
| + source: 'preference',
|
| + },
|
| + ]
|
| + }
|
| + };
|
| +
|
| // Import necessary html before running suite.
|
| suiteSetup(function() {
|
| CrSettingsPrefs.setInitialized();
|
| @@ -499,11 +516,11 @@ cr.define('site_list', function() {
|
| MockInteractions.tap(menuItems[2]);
|
| return browserProxy.whenCalled(
|
| 'resetCategoryPermissionForOrigin');
|
| - }).then(function(arguments) {
|
| - assertEquals('http://foo.com', arguments[0]);
|
| - assertEquals('http://foo.com', arguments[1]);
|
| - assertEquals(settings.ContentSettingsTypes.COOKIES, arguments[2]);
|
| - assertFalse(arguments[3]); // Incognito.
|
| + }).then(function(args) {
|
| + assertEquals('http://foo.com', args[0]);
|
| + assertEquals('http://foo.com', args[1]);
|
| + assertEquals(settings.ContentSettingsTypes.COOKIES, args[2]);
|
| + assertFalse(args[3]); // Incognito.
|
| });
|
| });
|
|
|
| @@ -535,11 +552,11 @@ cr.define('site_list', function() {
|
| MockInteractions.tap(menuItems[1]);
|
| return browserProxy.whenCalled(
|
| 'resetCategoryPermissionForOrigin');
|
| - }).then(function(arguments) {
|
| - assertEquals('http://foo.com', arguments[0]);
|
| - assertEquals('http://foo.com', arguments[1]);
|
| - assertEquals(settings.ContentSettingsTypes.COOKIES, arguments[2]);
|
| - assertTrue(arguments[3]); // Incognito.
|
| + }).then(function(args) {
|
| + assertEquals('http://foo.com', args[0]);
|
| + assertEquals('http://foo.com', args[1]);
|
| + assertEquals(settings.ContentSettingsTypes.COOKIES, args[2]);
|
| + assertTrue(args[3]); // Incognito.
|
| });
|
| });
|
|
|
| @@ -768,6 +785,27 @@ cr.define('site_list', function() {
|
| return browserProxy.whenCalled('setCategoryPermissionForOrigin');
|
| });
|
| });
|
| +
|
| + test('Chrome Extension scheme', function() {
|
| + setupCategory(settings.ContentSettingsTypes.JAVASCRIPT,
|
| + settings.PermissionValues.BLOCK, prefsChromeExtension);
|
| + return browserProxy.whenCalled('getExceptionList').then(function(
|
| + contentType) {
|
| + Polymer.dom.flush();
|
| + assertMenu(['Allow', 'Remove'], testElement);
|
| +
|
| + var menuItems = getMenuItems(testElement.$.listContainer, 0);
|
| + assertTrue(!!menuItems);
|
| + MockInteractions.tap(menuItems[0]); // Action: Allow.
|
| + return browserProxy.whenCalled('setCategoryPermissionForOrigin');
|
| + }).then(function(args) {
|
| + assertEquals('chrome-extension://cfhgfbfpcbnnbibfphagcjmgjfjmojfa/',
|
| + args[0]);
|
| + assertEquals('', args[1]);
|
| + assertEquals(settings.ContentSettingsTypes.JAVASCRIPT, args[2]);
|
| + assertEquals('allow', args[3]);
|
| + });
|
| + });
|
| });
|
| }
|
| return {
|
|
|