summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/settings/site_settings/site_list.html
blob: 4f0141e4d32158db415e51f2a56b4af03fb64e9b (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<link rel="import" href="chrome://resources/html/polymer.html">

<link rel="import" href="chrome://resources/html/assert.html">
<link rel="import" href="chrome://resources/html/cr/ui/focus_without_ink.html">
<link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_pref_indicator.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
<link rel="import" href="../i18n_setup.html">
<link rel="import" href="../icons.html">
<link rel="import" href="../route.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="add_site_dialog.html">
<link rel="import" href="constants.html">
<link rel="import" href="edit_exception_dialog.html">
<link rel="import" href="site_settings_behavior.html">
<link rel="import" href="site_settings_prefs_browser_proxy.html">

<dom-module id="site-list">
  <template>
    <style include="settings-shared">
      .settings-row {
        flex: 1
      }
    </style>
    <div id="category">
      <div class="settings-box first">
        <h2 class="start">[[categoryHeader]]</h2>
        <paper-button id="addSite"
            class="secondary-button header-aligned-button"
            hidden="[[readOnlyList]]" on-tap="onAddSiteTap_">
          $i18n{add}
        </paper-button>
      </div>

      <dialog is="cr-action-menu">
        <button class="dropdown-item" id="allow"
            on-tap="onAllowTap_" hidden$="[[!showAllowAction_]]">
          $i18n{siteSettingsActionAllow}
        </button>
        <button class="dropdown-item" id="block"
            on-tap="onBlockTap_" hidden$="[[!showBlockAction_]]">
          $i18n{siteSettingsActionBlock}
        </button>
        <button class="dropdown-item" id="sessionOnly"
            on-tap="onSessionOnlyTap_"
            hidden$="[[!showSessionOnlyActionForSite_(actionMenuSite_)]]">
          $i18n{siteSettingsActionSessionOnly}
        </button>
        <button class="dropdown-item" id="edit" on-tap="onEditTap_">
          $i18n{edit}
        </button>
        <button class="dropdown-item" id="reset" on-tap="onResetTap_">
          $i18n{siteSettingsActionReset}
        </button>
      </dialog>

      <div class="list-frame" hidden$="[[hasSites_(sites)]]">
        <div class="list-item secondary">$i18n{noSitesAdded}</div>
      </div>
      <div class="list-frame menu-content vertical-list" id="listContainer">
        <template is="dom-repeat" items="[[sites]]">
          <div class="list-item">
            <div class="settings-row"
                actionable$="[[enableSiteSettings_]]" on-tap="onOriginTap_">
              <div class="favicon-image"
                  style$="[[computeSiteIcon(item.origin)]]">
              </div>
              <div class="middle no-min-width">
                <div class="text-elide">[[item.displayName]]</div>

                <!-- This div must not contain extra whitespace. -->
                <div class="secondary text-elide"
                    id="siteDescription">[[computeSiteDescription_(item)]]</div>
              </div>
              <template is="dom-if" if="[[enableSiteSettings_]]">
                <div on-tap="onOriginTap_" actionable>
                  <button class="subpage-arrow" is="paper-icon-button-light"
                      aria-label$="[[item.displayName]]"
                      aria-describedby="siteDescription"></button>
                </div>
                <div class="separator"></div>
              </template>
            </div>
            <template is="dom-if" if="[[item.controlledBy]]">
              <cr-policy-pref-indicator pref="[[item]]"
                  icon-aria-label="[[label]]">
              </cr-policy-pref-indicator>
            </template>
            <button is="paper-icon-button-light" id="resetSite"
                class="icon-delete-gray" on-tap="onResetButtonTap_"
                hidden="[[shouldHideResetButton_(item, readOnlyList)]]"
                alt="$i18n{siteSettingsActionReset}">
            </button>
            <button is="paper-icon-button-light" id="actionMenuButton"
                class="icon-more-vert" on-tap="onShowActionMenuTap_"
                hidden="[[shouldHideActionMenu_(item, readOnlyList)]]"
                title="$i18n{moreActions}">
            </button>
          </div>
        </template>
      </div>
    </div>
    <template is="dom-if" if="[[showEditExceptionDialog_]]" restamp>
      <settings-edit-exception-dialog model="[[actionMenuSite_]]"
          on-close="onEditExceptionDialogClosed_">
      </settings-edit-exception-dialog>
    </template>
  </template>
  <script src="site_list.js"></script>
</dom-module>