OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var incognito; | 5 var incognito; |
6 var url; | 6 var url; |
7 | 7 |
8 function settingChanged() { | 8 function settingChanged() { |
9 var type = this.id; | 9 var type = this.id; |
10 var setting = this.value; | 10 var setting = this.value; |
11 var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*'); | 11 var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*'); |
12 console.log(type+' setting for '+pattern+': '+setting); | 12 console.log(type+' setting for '+pattern+': '+setting); |
13 // HACK: [type] is not recognised by the docserver's sample crawler, so | 13 // HACK: [type] is not recognised by the docserver's sample crawler, so |
14 // mention an explicit | 14 // mention an explicit |
15 // type: chrome.contentSettings.cookies.set - See http://crbug.com/299634 | 15 // type: chrome.contentSettings.cookies.set - See http://crbug.com/299634 |
16 chrome.contentSettings[type].set({ | 16 chrome.contentSettings[type].set({ |
17 'primaryPattern': pattern, | 17 'primaryPattern': pattern, |
18 'setting': setting, | 18 'setting': setting, |
19 'scope': (incognito ? 'incognito_session_only' : 'regular') | 19 'scope': (incognito ? 'incognito_session_only' : 'regular') |
20 }); | 20 }); |
21 } | 21 } |
22 | 22 |
23 document.addEventListener('DOMContentLoaded', function () { | 23 document.addEventListener('DOMContentLoaded', function () { |
24 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { | 24 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { |
25 var current = tabs[0]; | 25 var current = tabs[0]; |
26 incognito = current.incognito; | 26 incognito = current.incognito; |
27 url = current.url; | 27 url = current.url; |
28 var types = ['cookies', 'images', 'javascript', 'plugins', 'popups', | 28 var types = ['cookies', 'images', 'javascript', 'location', 'plugins', |
29 'notifications']; | 29 'popups', 'notifications', 'fullscreen', 'mouselock', |
| 30 'microphone', 'camera', 'unsandboxedPlugins', |
| 31 'automaticDownloads']; |
30 types.forEach(function(type) { | 32 types.forEach(function(type) { |
31 // HACK: [type] is not recognised by the docserver's sample crawler, so | 33 // HACK: [type] is not recognised by the docserver's sample crawler, so |
32 // mention an explicit | 34 // mention an explicit |
33 // type: chrome.contentSettings.cookies.get - See http://crbug.com/299634 | 35 // type: chrome.contentSettings.cookies.get - See http://crbug.com/299634 |
34 chrome.contentSettings[type].get({ | 36 chrome.contentSettings[type] && chrome.contentSettings[type].get({ |
35 'primaryUrl': url, | 37 'primaryUrl': url, |
36 'incognito': incognito | 38 'incognito': incognito |
37 }, | 39 }, |
38 function(details) { | 40 function(details) { |
| 41 document.getElementById(type).disabled = false; |
39 document.getElementById(type).value = details.setting; | 42 document.getElementById(type).value = details.setting; |
40 }); | 43 }); |
41 }); | 44 }); |
42 }); | 45 }); |
43 | 46 |
44 var selects = document.querySelectorAll('select'); | 47 var selects = document.querySelectorAll('select'); |
45 for (var i = 0; i < selects.length; i++) { | 48 for (var i = 0; i < selects.length; i++) { |
46 selects[i].addEventListener('change', settingChanged); | 49 selects[i].addEventListener('change', settingChanged); |
47 } | 50 } |
48 }); | 51 }); |
49 | 52 |
OLD | NEW |