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

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

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

Powered by Google App Engine
This is Rietveld 408576698