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

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

Issue 984833004: Add color enhancer as a chromium accessibility extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update to 1.1.2 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
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 function injectContentScripts() { 5 function injectContentScripts() {
6 chrome.windows.getAll({'populate': true}, function(windows) { 6 chrome.windows.getAll({'populate': true}, function(windows) {
7 for (var i = 0; i < windows.length; i++) { 7 for (var i = 0; i < windows.length; i++) {
8 var tabs = windows[i].tabs; 8 var tabs = windows[i].tabs;
9 for (var j = 0; j < tabs.length; j++) { 9 for (var j = 0; j < tabs.length; j++) {
10 var url = tabs[j].url; 10 var url = tabs[j].url;
11 if (url.indexOf('chrome') == 0 || url.indexOf('about') == 0) { 11 if (isDisallowedUrl(url)) {
12 continue; 12 continue;
13 } 13 }
14 chrome.tabs.insertCSS( 14 chrome.tabs.insertCSS(
15 tabs[j].id, 15 tabs[j].id,
16 {file: 'highcontrast.css', allFrames: true}); 16 {file: 'res/cvd.css'});
17 chrome.tabs.executeScript( 17 chrome.tabs.executeScript(
18 tabs[j].id, 18 tabs[j].id,
19 {file: 'highcontrast.js', allFrames: true}); 19 {file: 'src/cvd.js'});
20 } 20 }
21 } 21 }
22 }); 22 });
23 } 23 }
24 24
25 function updateTabs() { 25 function updateTabs() {
26 var msg = {
27 'enabled': getEnabled()
28 };
29 chrome.windows.getAll({'populate': true}, function(windows) { 26 chrome.windows.getAll({'populate': true}, function(windows) {
30 for (var i = 0; i < windows.length; i++) { 27 for (var i = 0; i < windows.length; i++) {
31 var tabs = windows[i].tabs; 28 var tabs = windows[i].tabs;
32 for (var j = 0; j < tabs.length; j++) { 29 for (var j = 0; j < tabs.length; j++) {
33 var url = tabs[j].url; 30 var url = tabs[j].url;
34 if (isDisallowedUrl(url)) { 31 if (isDisallowedUrl(url)) {
35 continue; 32 continue;
36 } 33 }
34 console.log('sending to ' + siteFromUrl(url) + ' ' +
35 getSiteDelta(siteFromUrl(url)) + ',' +
36 getSiteSeverity(siteFromUrl(url)));
37 var msg = { 37 var msg = {
38 'enabled': getEnabled(), 38 'delta': getSiteDelta(siteFromUrl(url)),
39 'scheme': getSiteScheme(siteFromUrl(url)) 39 'severity': getSiteSeverity(siteFromUrl(url)),
40 'type': getDefaultType(),
41 'simulate': getDefaultSimulate()
40 }; 42 };
41 chrome.tabs.sendRequest(tabs[j].id, msg); 43 chrome.tabs.sendRequest(tabs[j].id, msg);
42 } 44 }
43 } 45 }
44 }); 46 });
45 } 47 }
46 48
47 function toggleEnabled() {
48 setEnabled(!getEnabled());
49 updateTabs();
50 }
51
52 function toggleSite(url) {
53 var site = siteFromUrl(url);
54 var scheme = getSiteScheme(site);
55 if (scheme > 0) {
56 scheme = 0;
57 } else if (getDefaultScheme() > 0) {
58 scheme = getDefaultScheme();
59 } else {
60 scheme = DEFAULT_SCHEME;
61 }
62 setSiteScheme(site, scheme);
63 updateTabs();
64 }
65
66 function init() { 49 function init() {
67 injectContentScripts(); 50 injectContentScripts();
68 updateTabs(); 51 updateTabs();
69 52
70 chrome.extension.onRequest.addListener( 53 chrome.extension.onRequest.addListener(
71 function(request, sender, sendResponse) { 54 function(request, sender, sendResponse) {
72 if (request['toggle_global']) {
73 toggleEnabled();
74 }
75 if (request['toggle_site']) {
76 toggleSite(sender.tab ? sender.tab.url : 'www.example.com');
77 }
78 if (request['init']) { 55 if (request['init']) {
79 var scheme = getDefaultScheme(); 56 var delta = getDefaultDelta();
80 if (sender.tab) { 57 if (sender.tab) {
81 scheme = getSiteScheme(siteFromUrl(sender.tab.url)); 58 delta = getSiteDelta(siteFromUrl(sender.tab.url));
82 } 59 }
60
61 var severity = getDefaultSeverity();
62 if (sender.tab) {
63 severity = getSiteSeverity(siteFromUrl(sender.tab.url));
64 }
65
66 var type = getDefaultType();
67 var simulate = getDefaultSimulate();
68
83 var msg = { 69 var msg = {
84 'enabled': getEnabled(), 70 'delta': delta,
85 'scheme': scheme 71 'severity': severity,
72 'type': getDefaultType(),
73 'simulate': getDefaultSimulate()
86 }; 74 };
87 sendResponse(msg); 75 sendResponse(msg);
88 } 76 }
89 }); 77 });
90 78
91 document.addEventListener('storage', function(evt) { 79 document.addEventListener('storage', function(evt) {
92 updateTabs(); 80 updateTabs();
93 }, false); 81 }, false);
94
95 if (navigator.appVersion.indexOf('Mac') != -1) {
96 chrome.browserAction.setTitle({'title': 'High Contrast (Cmd+Shift+F11)'});
97 }
98 } 82 }
99 83
100 init(); 84 init();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698