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