blob: 269709ab022b19db51f527cace320e4abd16951f (
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
|
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
<link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html">
<link rel="import" href="chrome://resources/cr_elements/cr_link_row/cr_link_row.html">
<link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
<link rel="import" href="chrome://resources/cr_elements/icons.html">
<link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
<link rel="import" href="../i18n_setup.html">
<link rel="import" href="../settings_shared_css.html">
<link rel="import" href="../site_favicon.html">
<link rel="import" href="site_settings_behavior.html">
<link rel="import" href="site_settings_prefs_browser_proxy.html">
<dom-module id="protocol-handlers">
<template>
<style include="settings-shared">
:host {
display: block;
}
.column-header {
margin-bottom: 15px;
margin-inline-start: 20px;
margin-top: 15px;
}
</style>
<div class="settings-box first two-line">
<div id="categoryLabel" class="start" on-click="categoryLabelClicked_"
actionable>
[[computeHandlersDescription_(categoryEnabled)]]
</div>
<cr-toggle id="toggle" checked="{{categoryEnabled}}"
on-change="onToggleChange_" aria-labelledby="categoryLabel">
</cr-toggle>
</div>
<template is="dom-repeat" items="[[protocols]]" as="protocol">
<div class="column-header">[[protocol.protocol_display_name]]</div>
<div class="list-frame menu-content vertical-list">
<template is="dom-repeat" items="[[protocol.handlers]]">
<div class="list-item">
<site-favicon url="[[item.host]]"></site-favicon>
<div class="middle" >
<div class="protocol-host">
<span class="url-directionality">[[item.host]]</span>
</div>
<div class="secondary protocol-default"
hidden$="[[!item.is_default]]">
$i18n{handlerIsDefault}
</div>
</div>
<cr-icon-button class="icon-more-vert" on-click="showMenu_"
title="$i18n{moreActions}"></cr-icon-button>
</div>
</template>
</div>
</template>
<cr-action-menu>
<button class="dropdown-item" on-click="onDefaultClick_"
id="defaultButton" hidden$="[[actionMenuModel_.is_default]]">
$i18n{handlerSetDefault}
</button>
<button class="dropdown-item" on-click="onRemoveClick_"
id="removeButton">
$i18n{handlerRemove}
</button>
</cr-action-menu>
<template is="dom-if" if="[[ignoredProtocols.length]]">
<div class="column-header">$i18n{siteSettingsBlocked}</div>
<div class="list-frame menu-content vertical-list">
<template is="dom-repeat" items="[[ignoredProtocols]]">
<div class="list-item">
<site-favicon url="[[item.host]]"></site-favicon>
<div class="middle" >
<div class="protocol-host">
<span class="url-directionality">[[item.host]]</span></div>
<div class="secondary protocol-protocol">
[[item.protocol_display_name]]
</div>
</div>
<cr-icon-button class="icon-clear" id="removeIgnoredButton"
on-click="onRemoveIgnored_" title="$i18n{handlerRemove}">
</cr-icon-button>
</div>
</template>
</div>
</template>
<if expr="chromeos">
<template is="dom-if" if="[[settingsAppAvailable_]]">
<cr-link-row on-click="onManageAndroidAppsClick_"
label="$i18n{androidAppsManageAppLinks}" external></cr-link-row>
</template>
</if>
</template>
<script src="protocol_handlers.js"></script>
</dom-module>
|