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 3// found in the LICENSE file. 4 5var incognito; 6var url; 7 8function settingChanged() { 9 var type = this.id; 10 var setting = this.value; 11 var pattern = /^file:/.test(url) ? url : url.replace(/\/[^\/]*?$/, '/*'); 12 console.log(type+' setting for '+pattern+': '+setting); 13 // HACK: [type] is not recognised by the docserver's sample crawler, so 14 // mention an explicit 15 // type: chrome.contentSettings.cookies.set - See http://crbug.com/299634 16 chrome.contentSettings[type].set({ 17 'primaryPattern': pattern, 18 'setting': setting, 19 'scope': (incognito ? 'incognito_session_only' : 'regular') 20 }); 21} 22 23document.addEventListener('DOMContentLoaded', function () { 24 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 25 var current = tabs[0]; 26 incognito = current.incognito; 27 url = current.url; 28 var types = ['cookies', 'images', 'javascript', 'plugins', 'popups', 29 'notifications']; 30 types.forEach(function(type) { 31 // HACK: [type] is not recognised by the docserver's sample crawler, so 32 // mention an explicit 33 // type: chrome.contentSettings.cookies.get - See http://crbug.com/299634 34 chrome.contentSettings[type].get({ 35 'primaryUrl': url, 36 'incognito': incognito 37 }, 38 function(details) { 39 document.getElementById(type).value = details.setting; 40 }); 41 }); 42 }); 43 44 var selects = document.querySelectorAll('select'); 45 for (var i = 0; i < selects.length; i++) { 46 selects[i].addEventListener('change', settingChanged); 47 } 48}); 49 50