Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <html> | |
|
kurrik.chromium
2011/04/14 17:53:43
Please add a DOCTYPE to popups
Bernhard Bauer
2011/04/15 16:34:32
Done.
| |
| 2 <head> | |
| 3 <script> | |
| 4 var cs = chrome.experimental.contentSettings; | |
| 5 var pref = cs.misc.enableReferrers; | |
| 6 | |
| 7 function settingIsControllable(levelOfControl) { | |
|
kurrik.chromium
2011/04/14 17:53:43
I'd prefer to see some lightweight JSdoc for each
Bernhard Bauer
2011/04/15 16:34:32
Done.
| |
| 8 return (levelOfControl == "ControllableByThisExtension" || levelOfControl == " ControlledByThisExtension"); | |
|
kurrik.chromium
2011/04/14 17:53:43
Minor nit but you could wrap this line so as to be
Bernhard Bauer
2011/04/15 16:34:32
Done.
| |
| 9 } | |
| 10 | |
| 11 function updateUI(settings) { | |
| 12 var disableUI = !settingIsControllable(settings.levelOfControl); | |
| 13 document.getElementById("regularValue").disabled = disableUI; | |
| 14 document.getElementById("useSeparateIncognitoSettings").disabled = disableUI; | |
| 15 if (settings.hasOwnProperty('incognitoSpecific')) { | |
| 16 var hasIncognitoValue = settings.incognitoSpecific; | |
| 17 document.getElementById("useSeparateIncognitoSettings").checked = hasIncogni toValue; | |
| 18 document.getElementById("incognitoValue").disabled = disableUI || !hasIncogn itoValue; | |
| 19 document.getElementById("incognitoValue").checked = settings.value; | |
| 20 } else { | |
| 21 document.getElementById("regularValue").checked = settings.value; | |
| 22 } | |
| 23 } | |
| 24 | |
| 25 function updateUIFromGet(settings) { | |
| 26 if (settings) { | |
| 27 console.log('pref.get result:' + JSON.stringify(settings)); | |
| 28 updateUI(settings); | |
| 29 } | |
| 30 } | |
| 31 | |
| 32 function updateUIFromOnChange(settings) { | |
| 33 console.log('pref.onChange event:' + JSON.stringify(settings)); | |
| 34 updateUI(settings); | |
| 35 } | |
| 36 | |
| 37 function init() { | |
| 38 chrome.extension.isAllowedIncognitoAccess(function(allowed) { | |
| 39 if (allowed) { | |
| 40 pref.get({'incognito': true}, updateUIFromGet); | |
| 41 document.getElementById("incognito").style.display = "block"; | |
| 42 document.getElementById("incognito-forbidden").style.display = "none"; | |
| 43 } | |
| 44 }); | |
| 45 pref.get({}, updateUIFromGet); | |
| 46 pref.onChange.addListener(updateUIFromOnChange); | |
| 47 } | |
| 48 | |
| 49 function setPrefValue(enabled, incognito) { | |
| 50 pref.set({'value':enabled, 'incognito': incognito}); | |
| 51 } | |
| 52 | |
| 53 function setUseSeparateIncognitoSettings(value) { | |
| 54 if (!value) { | |
| 55 pref.clear({'incognito': true}); | |
| 56 } else { | |
| 57 // Explicitly set the value for incognito mode. | |
| 58 pref.get({'incognito': true}, function(settings) { | |
| 59 pref.set({'incognito': true, 'value': settings.value}); | |
| 60 }); | |
| 61 } | |
| 62 document.getElementById("incognitoValue").disabled = !value; | |
| 63 } | |
| 64 | |
| 65 </script> | |
| 66 </head> | |
| 67 <body onload="init()"> | |
| 68 | |
| 69 <div style="width: 300px"> | |
| 70 <input type="checkbox" onclick="setPrefValue(this.checked)" id="regularValue" /> Enable referrers | |
| 71 | |
| 72 <div id="incognito" style="display:none"> | |
| 73 <input type="checkbox" onclick="setUseSeparateIncognitoSettings(this.checked)" i d="useSeparateIncognitoSettings" /> Use separate setting for incognito mode: | |
| 74 <br> | |
| 75 <input type="checkbox" onclick="setPrefValue(this.checked, true)" id="incognitoV alue" disabled="disabled"/> Enable referrers in incognito sessions | |
| 76 </div> | |
| 77 <div id="incognito-forbidden"> | |
| 78 Select "Allow in incognito" to access incognito preferences | |
| 79 </div> | |
| 80 </div> | |
| 81 | |
| 82 </body> | |
| 83 </html> | |
| OLD | NEW |