| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| var incognito; |
| var url; |
| |
| function settingChanged() { |
| var type = this.id; |
| var setting = this.value; |
| var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*'); |
| console.log(type+' setting for '+pattern+': '+setting); |
| // HACK: [type] is not recognised by the docserver's sample crawler, so |
| // mention an explicit |
| // type: chrome.contentSettings.cookies.set - See http://crbug.com/299634 |
| chrome.contentSettings[type].set({ |
| 'primaryPattern': pattern, |
| 'setting': setting, |
| 'scope': (incognito ? 'incognito_session_only' : 'regular') |
| }); |
| } |
| |
| document.addEventListener('DOMContentLoaded', function () { |
| chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { |
| var current = tabs[0]; |
| incognito = current.incognito; |
| url = current.url; |
| var types = ['cookies', 'images', 'javascript', 'plugins', 'popups', |
| 'notifications']; |
| types.forEach(function(type) { |
| // HACK: [type] is not recognised by the docserver's sample crawler, so |
| // mention an explicit |
| // type: chrome.contentSettings.cookies.get - See http://crbug.com/299634 |
| chrome.contentSettings[type].get({ |
| 'primaryUrl': url, |
| 'incognito': incognito |
| }, |
| function(details) { |
| document.getElementById(type).value = details.setting; |
| }); |
| }); |
| }); |
| |
| var selects = document.querySelectorAll('select'); |
| for (var i = 0; i < selects.length; i++) { |
| selects[i].addEventListener('change', settingChanged); |
| } |
| }); |
| |