Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: ui/accessibility/extensions/colorenhancer/src/popup.js

Issue 984833004: Add color enhancer as a chromium accessibility extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More docs. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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 var site;
6
7
8 /**
9 * Update the popup controls based on settings for this site or the default.
10 */
11 function update() {
12 if (site) {
13 debugPrint('updated site ' + site + ' to ' +
14 getSiteDelta(site) + ',' + getSiteSeverity(site));
15 $('delta').value = getSiteDelta(site);
16 $('severity').value = getSiteSeverity(site);
17 } else {
18 debugPrint('updated site ' + site + ' to ' +
19 getDefaultDelta() + ',' + getDefaultSeverity());
20 $('delta').value = getDefaultDelta();
21 $('severity').value = getDefaultSeverity();
22 }
23
24 debugPrint('updated site ' + site + ' type ' + getDefaultType());
25 $('type').value = getDefaultType();
26
27 // TODO(mustaq): Finish simulate feature.
28 //debugPrint('updated site ' + site + ' simulate ' + getDefaultSimulate());
29 //$('simulate').checked = getDefaultSimulate();
30
31 chrome.extension.getBackgroundPage().updateTabs();
32 }
33
34
35 /**
36 * Callback for color rotation slider.
37 *
38 * @param {number} value Parsed value of slider element.
39 */
40 function onDeltaChange(value) {
41 debugPrint('delta changing to ' + value + ' for site ' + site);
42 if (site) {
43 setSiteDelta(site, value);
44 }
45 setDefaultDelta(value);
46 update();
47 }
48
49
50 /**
51 * Callback for severity slider.
52 *
53 * @param {number} value Parsed value of slider element.
54 */
55 function onSeverityChange(value) {
56 debugPrint('severity changing to ' + value + ' for site ' + site);
57 if (site) {
58 setSiteSeverity(site, value);
59 }
60 setDefaultSeverity(value);
61 update();
62 }
63
64
65 /**
66 * Callback for changing color deficiency type.
67 *
68 * @param {string} value Value of dropdown element.
69 */
70 function onTypeChange(value) {
71 debugPrint('type changing to ' + value + ' for site ' + site);
72 setDefaultType(value);
73 update();
74 }
75
76
77 /**
78 * TODO(mustaq): JsDoc.
79 */
80 function onSimulateChange(value) {
81 debugPrint('simulate changing to ' + value + ' for site ' + site);
82 setDefaultSimulate(value);
83 update();
84 }
85
86
87 /**
88 * Reset all stored per-site and default values.
89 */
90 function onReset() {
91 debugPrint('resetting sites');
92 resetSiteDeltas();
93 resetSiteSeverities();
94 update();
95 }
96
97
98 /**
99 * Attach event handlers to controls and update the filter config values for the
100 * currently visible tab.
101 */
102 function initialize() {
103 $('delta').addEventListener('input', function() {
104 onDeltaChange(parseFloat(this.value));
105 });
106 $('severity').addEventListener('input', function() {
107 onSeverityChange(parseFloat(this.value));
108 });
109 $('type').addEventListener('input', function() {
110 onTypeChange(this.value);
111 });
112 // TODO(mustaq): Finish simulate feature.
113 //$('simulate').addEventListener('change', function() {
114 // onSimulateChange(!this.checked);
115 //});
116 $('resetall').addEventListener('click', function() {
117 onReset();
118 });
119
120 chrome.windows.getLastFocused({'populate': true}, function(window) {
121 for (var i = 0; i < window.tabs.length; i++) {
122 var tab = window.tabs[i];
123 if (tab.active) {
124 site = siteFromUrl(tab.url);
125 debugPrint('active tab update ' + site);
126 update();
127 return;
128 }
129 }
130 site = 'unknown site';
131 update();
132 });
133 }
134
135 // TODO(wnwen): Use Promise instead, more reliable.
136 window.addEventListener('load', initialize, false);
OLDNEW
« no previous file with comments | « ui/accessibility/extensions/colorenhancer/src/popup.html ('k') | ui/accessibility/extensions/colorenhancer/src/storage.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698