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

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

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

Powered by Google App Engine
This is Rietveld 408576698