// 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.
function closeDialog() {
chrome.send('DialogClose', ['']);
}
function setInfobarLabel(text) {
$('info-banner').textContent = text;
$('info-banner').hidden = !text.length;
}
function updateControlState() {
var allowedCookies = $('allowed-cookies');
$('block-button').disabled = !allowedCookies.children.length ||
!allowedCookies.selectedItem ||
allowedCookies.selectedItem.data.type != 'origin';
var blockedCookies = $('blocked-cookies');
$('allow-button').disabled =
$('allow-this-session-button').disabled = !blockedCookies.children.length ||
!blockedCookies.selectedItem ||
blockedCookies.selectedItem.data.type != 'origin';
}
function handleCookiesTreeChange(e) {
updateControlState();
}
function handleBlockButtonClick(e) {
var selected = $('allowed-cookies').selectedItem;
if (!selected)
return;
chrome.send('Block', [selected.pathId]);
}
function handleAllowButtonClick(e) {
var selected = $('blocked-cookies').selectedItem;
if (selected)
chrome.send('Allow', [selected.pathId]);
}
function handleAllowThisSessionButtonClick(e) {
var selected = $('blocked-cookies').selectedItem;
if (selected)
chrome.send('AllowThisSession', [selected.pathId]);
}
function load() {
ui.CookiesTree.decorate($('allowed-cookies'));
ui.CookiesTree.decorate($('blocked-cookies'));
chrome.send('BindCookiesTreeModel', []);
$('allowed-cookies').addEventListener('change', handleCookiesTreeChange);
$('blocked-cookies').addEventListener('change', handleCookiesTreeChange);
$('block-button').addEventListener('click', handleBlockButtonClick);
$('allow-button').addEventListener('click', handleAllowButtonClick);
$('allow-this-session-button').addEventListener('click',
handleAllowThisSessionButtonClick);
$('close-button').addEventListener('click', closeDialog);
document.oncontextmenu = function(e) {
e.preventDefault();
}
document.onkeydown = function(e) {
if (e.keyCode == 27) // Esc
closeDialog();
}
updateControlState();
}
document.addEventListener('DOMContentLoaded', load);