Home | History | Annotate | Download | only in resources
      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 
      5 function closeDialog() {
      6   chrome.send('DialogClose', ['']);
      7 }
      8 
      9 function setInfobarLabel(text) {
     10   $('info-banner').textContent = text;
     11   $('info-banner').hidden = !text.length;
     12 }
     13 
     14 function updateControlState() {
     15   var allowedCookies = $('allowed-cookies');
     16   $('block-button').disabled = !allowedCookies.children.length ||
     17       !allowedCookies.selectedItem ||
     18       allowedCookies.selectedItem.data.type != 'origin';
     19 
     20   var blockedCookies = $('blocked-cookies');
     21   $('allow-button').disabled =
     22   $('allow-this-session-button').disabled = !blockedCookies.children.length ||
     23       !blockedCookies.selectedItem ||
     24       blockedCookies.selectedItem.data.type != 'origin';
     25 }
     26 
     27 function handleCookiesTreeChange(e) {
     28   updateControlState();
     29 }
     30 
     31 function handleBlockButtonClick(e) {
     32   var selected = $('allowed-cookies').selectedItem;
     33   if (!selected)
     34     return;
     35 
     36   chrome.send('Block', [selected.pathId]);
     37 }
     38 
     39 function handleAllowButtonClick(e) {
     40   var selected = $('blocked-cookies').selectedItem;
     41   if (selected)
     42     chrome.send('Allow', [selected.pathId]);
     43 }
     44 
     45 function handleAllowThisSessionButtonClick(e) {
     46   var selected = $('blocked-cookies').selectedItem;
     47   if (selected)
     48     chrome.send('AllowThisSession', [selected.pathId]);
     49 }
     50 
     51 function load() {
     52   ui.CookiesTree.decorate($('allowed-cookies'));
     53   ui.CookiesTree.decorate($('blocked-cookies'));
     54 
     55   chrome.send('BindCookiesTreeModel', []);
     56 
     57   $('allowed-cookies').addEventListener('change', handleCookiesTreeChange);
     58   $('blocked-cookies').addEventListener('change', handleCookiesTreeChange);
     59 
     60   $('block-button').addEventListener('click', handleBlockButtonClick);
     61   $('allow-button').addEventListener('click', handleAllowButtonClick);
     62   $('allow-this-session-button').addEventListener('click',
     63       handleAllowThisSessionButtonClick);
     64 
     65   $('close-button').addEventListener('click', closeDialog);
     66 
     67   document.oncontextmenu = function(e) {
     68     e.preventDefault();
     69   }
     70 
     71   document.onkeydown = function(e) {
     72     if (e.keyCode == 27)  // Esc
     73       closeDialog();
     74   }
     75 
     76   updateControlState();
     77 }
     78 
     79 document.addEventListener('DOMContentLoaded', load);
     80