OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <script> |
| 5 var settings = { |
| 6 "cookies": ["allow", "session_only", "block"], |
| 7 "images": ["allow", "block"], |
| 8 "javascript": ["allow", "block"], |
| 9 "plugins": ["allow", "block"], |
| 10 "popups": ["allow", "block"], |
| 11 // "location": ["allow", "ask", "block"], |
| 12 "notifications": ["allow", "ask", "block"], |
| 13 }; |
| 14 |
| 15 var incognito; |
| 16 var url; |
| 17 |
| 18 function init() { |
| 19 chrome.tabs.getSelected(undefined, function(tab) { |
| 20 incognito = tab.incognito; |
| 21 url = tab.url; |
| 22 var types = ["cookies", "images", "javascript", "plugins", "popups", |
| 23 "notifications"]; |
| 24 types.forEach(function(type) { |
| 25 chrome.experimental.contentSettings[type].get({ |
| 26 'topLevelUrl': url, |
| 27 'embeddedUrl': url, |
| 28 'incognito': incognito |
| 29 }, |
| 30 function(details) { |
| 31 document.getElementById(type).value = details.setting; |
| 32 }); |
| 33 }); |
| 34 }); |
| 35 } |
| 36 |
| 37 function settingChanged(element) { |
| 38 var type = element.id; |
| 39 var setting = element.value; |
| 40 var pattern = { |
| 41 'pattern': url |
| 42 }; |
| 43 console.log(type+" setting for "+pattern+": "+setting); |
| 44 chrome.experimental.contentSettings[type].set({ |
| 45 'topLevelPattern': pattern, |
| 46 'embeddedPattern': pattern, |
| 47 'setting': setting, |
| 48 'scope': (incognito ? 'incognito_session_only' : 'regular') |
| 49 }); |
| 50 } |
| 51 </script> |
| 52 </head> |
| 53 <body onload="init()"> |
| 54 |
| 55 <fieldset> |
| 56 <dl> |
| 57 <dt><label for="cookies">Cookies: </label></dt> |
| 58 <dd><select id="cookies" onchange="settingChanged(this);"> |
| 59 <option value="allow">Allow</option> |
| 60 <option value="session_only">Session only</option> |
| 61 <option value="block">Block</option> |
| 62 </select></dd> |
| 63 <dt><label for="images">Images: </label></dt> |
| 64 <dd><select id="images" onchange="settingChanged(this);"> |
| 65 <option value="allow">Allow</option> |
| 66 <option value="block">Block</option> |
| 67 </select> |
| 68 <dt><label for="javascript">Javascript: </label></dt> |
| 69 <dd><select id="javascript" onchange="settingChanged(this);"> |
| 70 <option value="allow">Allow</option> |
| 71 <option value="block">Block</option> |
| 72 </select></dd> |
| 73 <dt><label for="plugins">Plug-ins: </label></dt> |
| 74 <dd><select id="plugins" onchange="settingChanged(this);"> |
| 75 <option value="allow">Allow</option> |
| 76 <option value="ask">Click-to-play</option> |
| 77 <option value="block">Block</option> |
| 78 </select></dd> |
| 79 <dt><label for="popups">Pop-ups: </label></dt> |
| 80 <dd><select id="popups" onchange="settingChanged(this);"> |
| 81 <option value="allow">Allow</option> |
| 82 <option value="block">Block</option> |
| 83 </select></dd> |
| 84 <dt><label for="location">Location: </label></dt> |
| 85 <dd><select id="location" onchange="settingChanged(this);" disabled> |
| 86 <option value="allow">Allow</option> |
| 87 <option value="ask">Ask</option> |
| 88 <option value="block">Block</option> |
| 89 </select></dd> |
| 90 <dt><label for="notifications">Notifications: </label></dt> |
| 91 <dd><select id="notifications" onchange="settingChanged(this);"> |
| 92 <option value="allow">Allow</option> |
| 93 <option value="ask">Ask</option> |
| 94 <option value="block">Block</option> |
| 95 </select></dd> |
| 96 </dl> |
| 97 </fieldset> |
| 98 |
| 99 |
| 100 </body> |
| 101 </html> |
OLD | NEW |