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

Unified 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 side-by-side diff with in-line comments
Download patch
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..a63ff8738223031e80f53394e3c62160ac859a00
--- /dev/null
+++ b/ui/accessibility/extensions/colorenhancer/src/popup.js
@@ -0,0 +1,136 @@
+// 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) {
+ debugPrint('updated site ' + site + ' to ' +
+ getSiteDelta(site) + ',' + getSiteSeverity(site));
+ $('delta').value = getSiteDelta(site);
+ $('severity').value = getSiteSeverity(site);
+ } else {
+ debugPrint('updated site ' + site + ' to ' +
+ getDefaultDelta() + ',' + getDefaultSeverity());
+ $('delta').value = getDefaultDelta();
+ $('severity').value = getDefaultSeverity();
+ }
+
+ debugPrint('updated site ' + site + ' type ' + getDefaultType());
+ $('type').value = getDefaultType();
+
+ // TODO(mustaq): Finish simulate feature.
+ //debugPrint('updated site ' + site + ' simulate ' + getDefaultSimulate());
+ //$('simulate').checked = getDefaultSimulate();
+
+ chrome.extension.getBackgroundPage().updateTabs();
+}
+
+
+/**
+ * Callback for color rotation slider.
+ *
+ * @param {number} value Parsed value of slider element.
+ */
+function onDeltaChange(value) {
+ debugPrint('delta changing to ' + value + ' for site ' + site);
+ if (site) {
+ setSiteDelta(site, value);
+ }
+ setDefaultDelta(value);
+ update();
+}
+
+
+/**
+ * Callback for severity slider.
+ *
+ * @param {number} value Parsed value of slider element.
+ */
+function onSeverityChange(value) {
+ debugPrint('severity changing to ' + value + ' for site ' + site);
+ if (site) {
+ setSiteSeverity(site, value);
+ }
+ setDefaultSeverity(value);
+ update();
+}
+
+
+/**
+ * Callback for changing color deficiency type.
+ *
+ * @param {string} value Value of dropdown element.
+ */
+function onTypeChange(value) {
+ debugPrint('type changing to ' + value + ' for site ' + site);
+ setDefaultType(value);
+ update();
+}
+
+
+/**
+ * TODO(mustaq): JsDoc.
+ */
+function onSimulateChange(value) {
+ debugPrint('simulate changing to ' + value + ' for site ' + site);
+ setDefaultSimulate(value);
+ update();
+}
+
+
+/**
+ * Reset all stored per-site and default values.
+ */
+function onReset() {
+ debugPrint('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.
+ //$('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);
+ debugPrint('active tab update ' + site);
+ update();
+ return;
+ }
+ }
+ site = 'unknown site';
+ update();
+ });
+}
+
+// TODO(wnwen): Use Promise instead, more reliable.
+window.addEventListener('load', initialize, false);
« 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