| Index: chrome/test/data/extensions/api_test/content_settings/session_only_incognito/test.html
|
| diff --git a/chrome/test/data/extensions/api_test/content_settings/session_only_incognito/test.html b/chrome/test/data/extensions/api_test/content_settings/session_only_incognito/test.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3fac32a78e1b00d087185baff7ff019aebb9d8ae
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/content_settings/session_only_incognito/test.html
|
| @@ -0,0 +1,82 @@
|
| +<script>
|
| +// Content settings API test
|
| +// Run with browser_tests --gtest_filter=ExtensionApiTest.SessionOnlyIncognitoContentSettings
|
| +
|
| +var cs = chrome.experimental.contentSettings;
|
| +function expect(expected, message) {
|
| + return chrome.test.callbackPass(function(value) {
|
| + chrome.test.assertNoLastError();
|
| + chrome.test.assertEq(expected, value, message);
|
| + });
|
| +}
|
| +chrome.test.runTests([
|
| + function getRegular() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + {},
|
| + expect({ 'value': false,
|
| + 'levelOfControl': "ControllableByThisExtension" },
|
| + "third-party cookies should not be blocked"));
|
| + },
|
| + function getIncognito() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + { 'incognito': true },
|
| + expect({ 'value': false,
|
| + 'incognitoSpecific': false,
|
| + 'levelOfControl': "ControllableByThisExtension" },
|
| + "third-party cookies should not be blocked in incognito mode"));
|
| + },
|
| + function set() {
|
| + cs.misc.blockThirdPartyCookies.set(
|
| + { 'scope': 'incognito_persistent', 'value': true },
|
| + chrome.test.callbackPass());
|
| + },
|
| + function getRegular2() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + {},
|
| + expect({ 'value': false,
|
| + 'levelOfControl': "ControllableByThisExtension" },
|
| + "third-party cookies should not be blocked"));
|
| + },
|
| + function getIncognito2() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + { 'incognito': true },
|
| + expect({ 'value': true,
|
| + 'incognitoSpecific': true,
|
| + 'levelOfControl': "ControlledByThisExtension" },
|
| + "third-party cookies should be blocked in incognito mode"));
|
| + },
|
| + // We cannot set session_only_persistent preferences if there is no incognito
|
| + // session.
|
| + function set2() {
|
| + cs.misc.blockThirdPartyCookies.set(
|
| + { 'scope': 'incognito_session_only', 'value': false },
|
| + chrome.test.callbackFail("You cannot set a preference with scope " +
|
| + "'incognito_session_only' when no incognito " +
|
| + "window is open."));
|
| + },
|
| + function openIncognito() {
|
| + chrome.windows.create({incognito: true}, chrome.test.callbackPass());
|
| + },
|
| + // session_only_persistent overrides incognito_persistent.
|
| + function set3() {
|
| + cs.misc.blockThirdPartyCookies.set(
|
| + { 'scope': 'incognito_session_only', 'value': false },
|
| + chrome.test.callbackPass());
|
| + },
|
| + function getRegular3() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + {},
|
| + expect({ 'value': false,
|
| + 'levelOfControl': "ControllableByThisExtension" },
|
| + "third-party cookies should not be blocked"));
|
| + },
|
| + function getIncognito3() {
|
| + cs.misc.blockThirdPartyCookies.get(
|
| + { 'incognito': true },
|
| + expect({ 'value': false,
|
| + 'incognitoSpecific': true,
|
| + 'levelOfControl': "ControlledByThisExtension" },
|
| + "third-party cookies should be blocked in incognito mode"));
|
| + },
|
| +]);
|
| +</script>
|
|
|