summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/collected_cookies.js
blob: ca3cbb076fa6c4ceb58d3d482434cd324c994191 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// 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);