Chromium Code Reviews| Index: ui/accessibility/extensions/colorenhancer/src/popup.js |
| diff --git a/ui/accessibility/extensions/colorenhancer/src/popup.js b/ui/accessibility/extensions/colorenhancer/src/popup.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b0b152a53ffee25ddaca3a773495bf51f6324b73 |
| --- /dev/null |
| +++ b/ui/accessibility/extensions/colorenhancer/src/popup.js |
| @@ -0,0 +1,130 @@ |
| +// Copyright 2015 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. |
| + |
| +var site; |
| + |
| + |
| +/** |
| + * Update the popup controls based on settings for this site or the default. |
| + */ |
| +function update() { |
| + if (site) { |
| + console.log('updated site ' + site + ' to ' + |
| + getSiteDelta(site) + ',' + getSiteSeverity(site)); |
|
kevers
2015/03/10 14:07:51
Please wrap console.log output so that it only app
Peter Wen
2015/03/10 19:00:55
I changed it so we automatically enable logging fo
|
| + $('delta').value = getSiteDelta(site); |
| + $('severity').value = getSiteSeverity(site); |
| + } else { |
| + console.log('updated site ' + site + ' to ' + |
| + getDefaultDelta() + ',' + getDefaultSeverity()); |
| + $('delta').value = getDefaultDelta(); |
| + $('severity').value = getDefaultSeverity(); |
| + } |
| + |
| + console.log('updated site ' + site + ' type ' + getDefaultType()); |
| + $('type').value = getDefaultType(); |
| + |
| + // TODO(mustaq): Finish simulate feature. |
| + //console.log('updated site ' + site + ' simulate ' + getDefaultSimulate()); |
| + //$('simulate').checked = getDefaultSimulate(); |
| + |
| + chrome.extension.getBackgroundPage().updateTabs(); |
| +} |
| + |
| + |
| +/** |
| + * Callback for color rotation slider. |
|
kevers
2015/03/10 14:07:51
@param here and below.
Peter Wen
2015/03/10 19:00:56
Done.
|
| + */ |
| +function onDeltaChange(value) { |
| + console.log('delta changing to ' + value + ' for site ' + site); |
| + if (site) { |
| + setSiteDelta(site, value); |
| + } |
| + setDefaultDelta(value); |
| + update(); |
| +} |
| + |
| + |
| +/** |
| + * Callback for severity slider. |
| + */ |
| +function onSeverityChange(value) { |
| + console.log('severity changing to ' + value + ' for site ' + site); |
| + if (site) { |
| + setSiteSeverity(site, value); |
| + } |
| + setDefaultSeverity(value); |
| + update(); |
| +} |
| + |
| + |
| +/** |
| + * Callback for changing color deficiency type. |
| + */ |
| +function onTypeChange(value) { |
| + console.log('type changing to ' + value + ' for site ' + site); |
| + setDefaultType(value); |
| + update(); |
| +} |
| + |
| + |
| +/** |
| + * TODO(mustaq): JsDoc. |
| + */ |
| +function onSimulateChange(value) { |
| + console.log('simulate changing to ' + value + ' for site ' + site); |
| + setDefaultSimulate(value); |
| + update(); |
| +} |
| + |
| + |
| +/** |
| + * Reset all stored per-site and default values. |
| + */ |
| +function onReset() { |
| + console.log('resetting sites'); |
| + resetSiteDeltas(); |
| + resetSiteSeverities(); |
| + update(); |
| +} |
| + |
| + |
| +/** |
| + * Attach event handlers to controls and update the filter config values for the |
| + * currently visible tab. |
| + */ |
| +function initialize() { |
| + $('delta').addEventListener('input', function() { |
| + onDeltaChange(parseFloat(this.value)); |
| + }); |
| + $('severity').addEventListener('input', function() { |
| + onSeverityChange(parseFloat(this.value)); |
| + }); |
| + $('type').addEventListener('input', function() { |
| + onTypeChange(this.value); |
| + }); |
| + // TODO(mustaq): Finish simulate feature. |
|
kevers
2015/03/10 14:07:51
Do we want the simulate feature in the color enhan
Peter Wen
2015/03/10 19:00:55
Originally yes, but we thought it would be benefic
|
| + //$('simulate').addEventListener('change', function() { |
| + // onSimulateChange(!this.checked); |
| + //}); |
| + $('resetall').addEventListener('click', function() { |
| + onReset(); |
| + }); |
| + |
| + chrome.windows.getLastFocused({'populate': true}, function(window) { |
| + for (var i = 0; i < window.tabs.length; i++) { |
| + var tab = window.tabs[i]; |
| + if (tab.active) { |
| + site = siteFromUrl(tab.url); |
| + console.log('active tab update ' + site); |
| + update(); |
| + return; |
| + } |
| + } |
| + site = 'unknown site'; |
| + update(); |
| + }); |
| +} |
| + |
| +// TODO(wnwen): Use Promise instead, more reliable. |
| +window.addEventListener('load', initialize, false); |