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

Side by Side Diff: chrome/test/data/extensions/api_test/preference/onchange/test.html

Issue 7298005: Expose privacy-relevant preferences via Chrome's extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing. Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 <script> 1 <script>
2 // Content settings API test 2 // Content settings API test
3 // Run with browser_tests --gtest_filter=ExtensionApiTest.ContentSettingsOnChang e 3 // Run with browser_tests --gtest_filter=ExtensionApiTest.PreferenceOnChange
4 4
5 // Listen until |event| has fired with all of the values in |expected|. 5 // Listen until |event| has fired with all of the values in |expected|.
6 function listenUntil(event, expected) { 6 function listenUntil(event, expected) {
7 var done = chrome.test.listenForever(event, function(value) { 7 var done = chrome.test.listenForever(event, function(value) {
8 for (var i = 0; i < expected.length; i++) { 8 for (var i = 0; i < expected.length; i++) {
9 if (chrome.test.checkDeepEq(expected[i], value)) { 9 if (chrome.test.checkDeepEq(expected[i], value)) {
10 expected.splice(i, 1); 10 expected.splice(i, 1);
11 if (expected.length == 0) 11 if (expected.length == 0)
12 done(); 12 done();
13 return; 13 return;
14 } 14 }
15 } 15 }
16 chrome.test.fail("Unexpected event: " + JSON.stringify(value)); 16 chrome.test.fail("Unexpected event: " + JSON.stringify(value));
17 }); 17 });
18 } 18 }
19 19
20 var cs = chrome.experimental.contentSettings; 20 var pw = chrome.experimental.privacy.websites;
21 chrome.test.runTests([ 21 chrome.test.runTests([
22 function changeDefault() { 22 function changeDefault() {
23 // Changing the regular settings when no incognito-specific settings are 23 // Changing the regular settings when no incognito-specific settings are
24 // defined should fire two events. 24 // defined should fire two events.
25 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 25 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
26 'value': false, 26 'value': false,
27 'levelOfControl': 'controlled_by_this_extension' 27 'levelOfControl': 'controlled_by_this_extension'
28 }, 28 },
29 { 29 {
30 'value': false, 30 'value': false,
31 'incognitoSpecific': false, 31 'incognitoSpecific': false,
32 'levelOfControl': 'controlled_by_this_extension' 32 'levelOfControl': 'controlled_by_this_extension'
33 }]); 33 }]);
34 cs.global.thirdPartyCookiesAllowed.set({ 34 pw.thirdPartyCookiesAllowed.set({
35 'value':false 35 'value':false
36 }, chrome.test.callbackPass()); 36 }, chrome.test.callbackPass());
37 }, 37 },
38 function changeIncognitoOnly() { 38 function changeIncognitoOnly() {
39 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 39 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
40 'value': true, 40 'value': true,
41 'incognitoSpecific': true, 41 'incognitoSpecific': true,
42 'levelOfControl': 'controlled_by_this_extension' 42 'levelOfControl': 'controlled_by_this_extension'
43 }]); 43 }]);
44 cs.global.thirdPartyCookiesAllowed.set({ 44 pw.thirdPartyCookiesAllowed.set({
45 'value': true, 45 'value': true,
46 'scope': 'incognito_persistent' 46 'scope': 'incognito_persistent'
47 }, chrome.test.callbackPass()); 47 }, chrome.test.callbackPass());
48 }, 48 },
49 function changeDefaultOnly() { 49 function changeDefaultOnly() {
50 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 50 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
51 'value': true, 51 'value': true,
52 'levelOfControl': 'controlled_by_this_extension' 52 'levelOfControl': 'controlled_by_this_extension'
53 }]); 53 }]);
54 cs.global.thirdPartyCookiesAllowed.set({ 54 pw.thirdPartyCookiesAllowed.set({
55 'value': true 55 'value': true
56 }, chrome.test.callbackPass()); 56 }, chrome.test.callbackPass());
57 }, 57 },
58 function changeIncognitoOnlyBack() { 58 function changeIncognitoOnlyBack() {
59 // Change the incognito setting back to false so that we get an event when 59 // Change the incognito setting back to false so that we get an event when
60 // clearing the value. 60 // clearing the value.
61 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 61 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
62 'value': false, 62 'value': false,
63 'incognitoSpecific': true, 63 'incognitoSpecific': true,
64 'levelOfControl': 'controlled_by_this_extension' 64 'levelOfControl': 'controlled_by_this_extension'
65 }]); 65 }]);
66 cs.global.thirdPartyCookiesAllowed.set({ 66 pw.thirdPartyCookiesAllowed.set({
67 'value': false, 67 'value': false,
68 'scope': 'incognito_persistent' 68 'scope': 'incognito_persistent'
69 }, chrome.test.callbackPass()); 69 }, chrome.test.callbackPass());
70 }, 70 },
71 function clearIncognito() { 71 function clearIncognito() {
72 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 72 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
73 'value': true, 73 'value': true,
74 'incognitoSpecific': false, 74 'incognitoSpecific': false,
75 'levelOfControl': 'controlled_by_this_extension' 75 'levelOfControl': 'controlled_by_this_extension'
76 }]); 76 }]);
77 cs.global.thirdPartyCookiesAllowed.clear({ 77 pw.thirdPartyCookiesAllowed.clear({
78 'scope': 'incognito_persistent' 78 'scope': 'incognito_persistent'
79 }, chrome.test.callbackPass()); 79 }, chrome.test.callbackPass());
80 }, 80 },
81 function clearDefault() { 81 function clearDefault() {
82 listenUntil(cs.global.thirdPartyCookiesAllowed.onChange, [{ 82 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
83 'value': true, 83 'value': true,
84 'levelOfControl': 'controllable_by_this_extension' 84 'levelOfControl': 'controllable_by_this_extension'
85 }, 85 },
86 { 86 {
87 'value': true, 87 'value': true,
88 'incognitoSpecific': false, 88 'incognitoSpecific': false,
89 'levelOfControl': 'controllable_by_this_extension' 89 'levelOfControl': 'controllable_by_this_extension'
90 }]); 90 }]);
91 cs.global.thirdPartyCookiesAllowed.clear({}, chrome.test.callbackPass()); 91 pw.thirdPartyCookiesAllowed.clear({}, chrome.test.callbackPass());
92 } 92 }
93 ]); 93 ]);
94 94
95 </script> 95 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698