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

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

Issue 10559052: Split mode incognito extension can get misleading pref changed events from regular mode (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Deleted commented-out lines in extension_preference_api.cc Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/extensions/api_test/preference/onchange/test.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/extensions/api_test/preference/onchange/test.js
diff --git a/chrome/test/data/extensions/api_test/preference/onchange/test.js b/chrome/test/data/extensions/api_test/preference/onchange/test.js
index f67ec474733c43aa531d18abcb8b8e87973ec57e..097d5bf4ba36f8368a7573ac51231d92b1fb7aea 100644
--- a/chrome/test/data/extensions/api_test/preference/onchange/test.js
+++ b/chrome/test/data/extensions/api_test/preference/onchange/test.js
@@ -20,8 +20,21 @@ function listenUntil(event, expected) {
});
}
+// Fail if |event| is fired with |expected|. Because listenUntil stops listening
+// when |event| has fired with all the values in |expected|, it may not capture
+// superfluous unexpected events.
+function listenAndFailWhen(event, expected) {
+ return chrome.test.listenForever(event, function(value) {
+ if (chrome.test.checkDeepEq(expected, value))
+ chrome.test.fail("Unexpected event: " + JSON.stringify(value));
Bernhard Bauer 2012/06/20 20:55:27 Nit: Use single quotes (I realize we did this wron
+ });
+}
+
var pw = chrome.privacy.websites;
chrome.test.runTests([
+ function openIncognito() {
Bernhard Bauer 2012/06/20 20:55:27 What is this for?
+ chrome.windows.create({incognito: true}, chrome.test.callbackPass());
+ },
function changeDefault() {
// Changing the regular settings when no incognito-specific settings are
// defined should fire two events.
@@ -35,7 +48,7 @@ chrome.test.runTests([
'levelOfControl': 'controlled_by_this_extension'
}]);
pw.thirdPartyCookiesAllowed.set({
- 'value':false
+ 'value': false
}, chrome.test.callbackPass());
},
function changeIncognitoOnly() {
@@ -44,19 +57,28 @@ chrome.test.runTests([
'incognitoSpecific': true,
'levelOfControl': 'controlled_by_this_extension'
}]);
+ var done = listenAndFailWhen(pw.thirdPartyCookiesAllowed.onChange, {
+ 'value': true,
+ 'levelOfControl': 'controlled_by_this_extension'
+ });
pw.thirdPartyCookiesAllowed.set({
'value': true,
- 'scope': 'incognito_persistent'
- }, chrome.test.callbackPass());
+ 'scope': 'incognito_session_only'
+ }, done());
},
function changeDefaultOnly() {
listenUntil(pw.thirdPartyCookiesAllowed.onChange, [{
'value': true,
'levelOfControl': 'controlled_by_this_extension'
}]);
+ var done = listenAndFailWhen(pw.thirdPartyCookiesAllowed.onChange, {
+ 'value': true,
+ 'incognitoSpecific': true,
+ 'levelOfControl': 'controlled_by_this_extension'
+ });
pw.thirdPartyCookiesAllowed.set({
'value': true
- }, chrome.test.callbackPass());
+ }, done());
},
function changeIncognitoOnlyBack() {
// Change the incognito setting back to false so that we get an event when
@@ -68,7 +90,7 @@ chrome.test.runTests([
}]);
pw.thirdPartyCookiesAllowed.set({
'value': false,
- 'scope': 'incognito_persistent'
+ 'scope': 'incognito_session_only'
}, chrome.test.callbackPass());
},
function clearIncognito() {
@@ -78,7 +100,7 @@ chrome.test.runTests([
'levelOfControl': 'controlled_by_this_extension'
}]);
pw.thirdPartyCookiesAllowed.clear({
- 'scope': 'incognito_persistent'
+ 'scope': 'incognito_session_only'
}, chrome.test.callbackPass());
},
function clearDefault() {
« no previous file with comments | « chrome/test/data/extensions/api_test/preference/onchange/test.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698