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 |