Chromium Code Reviews| 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 6699a5e0f20c95ba5e7b09f86317f36a89e081e9..430e3c9ba902da5e064f5cebb8ee52fa6b23912e 100644 |
| --- a/chrome/test/data/webui/settings/site_list_tests.js |
| +++ b/chrome/test/data/webui/settings/site_list_tests.js |
| @@ -126,6 +126,29 @@ var prefsMixedProvider = { |
| } |
| }; |
| +/** |
| + * An example pref with with and without embeddingOrigin. |
|
dpapad
2017/05/10 21:44:57
s/with with/with
dschuyler
2017/05/10 22:05:37
Done.
|
| + * @type {SiteSettingsPref} |
| + */ |
| +var prefsMixedEmbeddingOrigin = { |
| + exceptions: { |
| + geolocation: [ |
| + { |
| + origin: 'https://foo.com', |
| + embeddingOrigin: 'https://example.com', |
| + setting: 'allow', |
| + source: 'preference', |
| + }, |
| + { |
| + origin: 'https://bar.com', |
| + embeddingOrigin: '', |
| + setting: 'allow', |
| + source: 'preference', |
| + }, |
| + ], |
| + } |
| +}; |
| + |
| /** |
| * An example pref with mixed origin and pattern. |
| * @type {SiteSettingsPref} |
| @@ -139,7 +162,7 @@ var prefsMixedOriginAndPattern = { |
| geolocation: [ |
| { |
| origin: 'https://foo.com', |
| - embeddingOrigin: '*', |
| + embeddingOrigin: 'https://example.com', |
| setting: 'allow', |
| source: 'preference', |
| }, |
| @@ -148,7 +171,7 @@ var prefsMixedOriginAndPattern = { |
| javascript: [ |
| { |
| origin: 'https://[*.]foo.com', |
| - embeddingOrigin: '*', |
| + embeddingOrigin: '', |
| setting: 'allow', |
| source: 'preference', |
| }, |
| @@ -177,14 +200,14 @@ var prefsVarious = { |
| cookies: [], |
| geolocation: [ |
| { |
| - embeddingOrigin: 'https://foo.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://foo.com', |
| setting: 'allow', |
| source: 'preference', |
| }, |
| { |
| - embeddingOrigin: 'https://bar.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://bar.com', |
| setting: 'block', |
| @@ -197,21 +220,21 @@ var prefsVarious = { |
| midiDevices: [], |
| notifications: [ |
| { |
| - embeddingOrigin: 'https://google.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://google.com', |
| setting: 'block', |
| source: 'preference', |
| }, |
| { |
| - embeddingOrigin: 'https://bar.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://bar.com', |
| setting: 'block', |
| source: 'preference', |
| }, |
| { |
| - embeddingOrigin: 'https://foo.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://foo.com', |
| setting: 'block', |
| @@ -234,7 +257,7 @@ var prefsOneEnabled = { |
| exceptions: { |
| geolocation: [ |
| { |
| - embeddingOrigin: 'https://foo-allow.com:443', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://foo-allow.com:443', |
| setting: 'allow', |
| @@ -252,7 +275,7 @@ var prefsOneDisabled = { |
| exceptions: { |
| geolocation: [ |
| { |
| - embeddingOrigin: 'https://foo-block.com:443', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'https://foo-block.com:443', |
| setting: 'block', |
| @@ -270,21 +293,21 @@ var prefsSessionOnly = { |
| exceptions: { |
| cookies: [ |
| { |
| - embeddingOrigin: 'http://foo-block.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'http://foo-block.com', |
| setting: 'block', |
| source: 'preference', |
| }, |
| { |
| - embeddingOrigin: 'http://foo-allow.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'http://foo-allow.com', |
| setting: 'allow', |
| source: 'preference', |
| }, |
| { |
| - embeddingOrigin: 'http://foo-session.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'http://foo-session.com', |
| setting: 'session_only', |
| @@ -303,13 +326,13 @@ var prefsIncognito = { |
| cookies: [ |
| // foo.com is blocked for regular sessions. |
| { |
| - embeddingOrigin: 'http://foo.com', |
| + embeddingOrigin: '', |
| incognito: false, |
| origin: 'http://foo.com', |
| setting: 'block', |
| source: 'preference', |
| }, |
| - // bar.com is an allowed incognito item without an embedder. |
| + // bar.com is an allowed incognito item. |
| { |
| embeddingOrigin: '', |
| incognito: true, |
| @@ -319,7 +342,7 @@ var prefsIncognito = { |
| }, |
| // foo.com is allowed in incognito (overridden). |
| { |
| - embeddingOrigin: 'http://foo.com', |
| + embeddingOrigin: '', |
| incognito: true, |
| origin: 'http://foo.com', |
| setting: 'allow', |
| @@ -683,7 +706,7 @@ suite('SiteList', function() { |
| }) |
| .then(function(args) { |
| assertEquals('http://foo.com', args[0]); |
| - assertEquals('http://foo.com', args[1]); |
| + assertEquals('', args[1]); |
| assertEquals(contentType, args[2]); |
| assertFalse(args[3]); // Incognito. |
| }); |
| @@ -721,7 +744,7 @@ suite('SiteList', function() { |
| }) |
| .then(function(args) { |
| assertEquals('http://foo.com', args[0]); |
| - assertEquals('http://foo.com', args[1]); |
| + assertEquals('', args[1]); |
| assertEquals(contentType, args[2]); |
| assertTrue(args[3]); // Incognito. |
| }); |
| @@ -763,7 +786,7 @@ suite('SiteList', function() { |
| }) |
| .then(function(args) { |
| assertEquals('https://foo-allow.com:443', args[0]); |
| - assertEquals('https://foo-allow.com:443', args[1]); |
| + assertEquals('', args[1]); |
| assertEquals(contentType, args[2]); |
| }); |
| }); |
| @@ -1012,6 +1035,25 @@ suite('SiteList', function() { |
| }); |
| }); |
| + test('Mixed embeddingOrigin', function() { |
| + setUpCategory( |
| + settings.ContentSettingsTypes.GEOLOCATION, |
|
dpapad
2017/05/10 21:44:57
Should we use a different category for this test,
dschuyler
2017/05/10 22:05:37
Done.
|
| + settings.PermissionValues.ALLOW, prefsMixedEmbeddingOrigin); |
| + return browserProxy.whenCalled('getExceptionList') |
| + .then(function(contentType) { |
| + // Required for firstItem to be found below. |
| + Polymer.dom.flush(); |
| + // Validate that embeddingOrigin sites cannot be edited. |
| + var firstItem = testElement.$.listContainer.children[0]; |
| + assertTrue(firstItem.querySelector('#actionMenuButton').hidden); |
| + assertFalse(firstItem.querySelector('#resetSite').hidden); |
| + // Validate that non-embeddingOrigin sites can be edited. |
| + var secondItem = testElement.$.listContainer.children[1]; |
| + assertFalse(secondItem.querySelector('#actionMenuButton').hidden); |
| + assertTrue(secondItem.querySelector('#resetSite').hidden); |
| + }); |
| + }); |
| + |
| test('Mixed schemes (present and absent)', function() { |
| // Prefs: One item with scheme and one without. |
| setUpCategory( |