| OLD | NEW |
| 1 <script> | 1 <!-- |
| 2 // Content settings API test | 2 * Copyright (c) 2011 The Chromium Authors. All rights reserved. Use of this |
| 3 // Run with browser_tests --gtest_filter=ExtensionApiTest.PreferenceOnChange | 3 * source code is governed by a BSD-style license that can be found in the |
| 4 | 4 * LICENSE file. |
| 5 // Listen until |event| has fired with all of the values in |expected|. | 5 --> |
| 6 function listenUntil(event, expected) { | 6 <script src="test.js"></script> |
| 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 pw = chrome.experimental.privacy.websites; | |
| 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(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 26 'value': false, | |
| 27 'levelOfControl': 'controlled_by_this_extension' | |
| 28 }, | |
| 29 { | |
| 30 'value': false, | |
| 31 'incognitoSpecific': false, | |
| 32 'levelOfControl': 'controlled_by_this_extension' | |
| 33 }]); | |
| 34 pw.thirdPartyCookiesAllowed.set({ | |
| 35 'value':false | |
| 36 }, chrome.test.callbackPass()); | |
| 37 }, | |
| 38 function changeIncognitoOnly() { | |
| 39 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 40 'value': true, | |
| 41 'incognitoSpecific': true, | |
| 42 'levelOfControl': 'controlled_by_this_extension' | |
| 43 }]); | |
| 44 pw.thirdPartyCookiesAllowed.set({ | |
| 45 'value': true, | |
| 46 'scope': 'incognito_persistent' | |
| 47 }, chrome.test.callbackPass()); | |
| 48 }, | |
| 49 function changeDefaultOnly() { | |
| 50 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 51 'value': true, | |
| 52 'levelOfControl': 'controlled_by_this_extension' | |
| 53 }]); | |
| 54 pw.thirdPartyCookiesAllowed.set({ | |
| 55 'value': true | |
| 56 }, chrome.test.callbackPass()); | |
| 57 }, | |
| 58 function changeIncognitoOnlyBack() { | |
| 59 // Change the incognito setting back to false so that we get an event when | |
| 60 // clearing the value. | |
| 61 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 62 'value': false, | |
| 63 'incognitoSpecific': true, | |
| 64 'levelOfControl': 'controlled_by_this_extension' | |
| 65 }]); | |
| 66 pw.thirdPartyCookiesAllowed.set({ | |
| 67 'value': false, | |
| 68 'scope': 'incognito_persistent' | |
| 69 }, chrome.test.callbackPass()); | |
| 70 }, | |
| 71 function clearIncognito() { | |
| 72 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 73 'value': true, | |
| 74 'incognitoSpecific': false, | |
| 75 'levelOfControl': 'controlled_by_this_extension' | |
| 76 }]); | |
| 77 pw.thirdPartyCookiesAllowed.clear({ | |
| 78 'scope': 'incognito_persistent' | |
| 79 }, chrome.test.callbackPass()); | |
| 80 }, | |
| 81 function clearDefault() { | |
| 82 listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{ | |
| 83 'value': true, | |
| 84 'levelOfControl': 'controllable_by_this_extension' | |
| 85 }, | |
| 86 { | |
| 87 'value': true, | |
| 88 'incognitoSpecific': false, | |
| 89 'levelOfControl': 'controllable_by_this_extension' | |
| 90 }]); | |
| 91 pw.thirdPartyCookiesAllowed.clear({}, chrome.test.callbackPass()); | |
| 92 } | |
| 93 ]); | |
| 94 | |
| 95 </script> | |
| OLD | NEW |