1// Copyright (c) 2014 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 DEFAULT_SCHEME = 3; 6var MAX_SCHEME = 5; 7 8function $(id) { 9 return document.getElementById(id); 10} 11 12function getEnabled() { 13 var result = localStorage['enabled']; 14 if (result === 'true' || result === 'false') { 15 return (result === 'true'); 16 } 17 localStorage['enabled'] = 'true'; 18 return true; 19} 20 21function setEnabled(enabled) { 22 localStorage['enabled'] = enabled; 23} 24 25function getKeyAction() { 26 var keyAction = localStorage['keyaction']; 27 if (keyAction == 'global' || keyAction == 'site') { 28 return keyAction; 29 } 30 keyAction = 'global'; 31 localStorage['keyaction'] = keyAction; 32 return keyAction; 33} 34 35function setKeyAction(keyAction) { 36 if (keyAction != 'global' && keyAction != 'site') { 37 keyAction = 'global'; 38 } 39 localStorage['keyaction'] = keyAction; 40} 41 42function getDefaultScheme() { 43 var scheme = localStorage['scheme']; 44 if (scheme >= 0 && scheme <= MAX_SCHEME) { 45 return scheme; 46 } 47 scheme = DEFAULT_SCHEME; 48 localStorage['scheme'] = scheme; 49 return scheme; 50} 51 52function setDefaultScheme(scheme) { 53 if (!(scheme >= 0 && scheme <= MAX_SCHEME)) { 54 scheme = DEFAULT_SCHEME; 55 } 56 localStorage['scheme'] = scheme; 57} 58 59function getSiteScheme(site) { 60 var scheme = getDefaultScheme(); 61 try { 62 var siteSchemes = JSON.parse(localStorage['siteschemes']); 63 scheme = siteSchemes[site]; 64 if (!(scheme >= 0 && scheme <= MAX_SCHEME)) { 65 scheme = getDefaultScheme(); 66 } 67 } catch (e) { 68 scheme = getDefaultScheme(); 69 } 70 return scheme; 71} 72 73function setSiteScheme(site, scheme) { 74 if (!(scheme >= 0 && scheme <= MAX_SCHEME)) { 75 scheme = getDefaultScheme(); 76 } 77 var siteSchemes = {}; 78 try { 79 siteSchemes = JSON.parse(localStorage['siteschemes']); 80 siteSchemes['www.example.com'] = getDefaultScheme(); 81 } catch (e) { 82 siteSchemes = {}; 83 } 84 siteSchemes[site] = scheme; 85 localStorage['siteschemes'] = JSON.stringify(siteSchemes); 86} 87 88function resetSiteSchemes() { 89 var siteSchemes = {}; 90 localStorage['siteschemes'] = JSON.stringify(siteSchemes); 91} 92 93function siteFromUrl(url) { 94 var a = document.createElement('a'); 95 a.href = url; 96 return a.hostname; 97} 98 99function isDisallowedUrl(url) { 100 return url.indexOf('chrome') == 0 || url.indexOf('about') == 0; 101} 102