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

Side by Side Diff: ui/accessibility/extensions/longdesc/lastRightClick.js

Issue 593293002: Initial checkin of accessibility extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix license issues Created 6 years, 2 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 (c) 2014 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 borderColor;
6 var borderStyle;
7 var borderWidth;
8
9 chrome.storage.onChanged.addListener(function(changes, namespace) {
10 if (changes.addBorder.newValue) {
11 addBorders();
12 } else {
13 removeBorders();
14 }
15 });
16
17 chrome.storage.sync.get("addBorder", function(item) {
18 if (item.addBorder) {
19 addBorders();
20 }
21 });
22
23 document.addEventListener('contextmenu', function(element) {
24 updateContextMenuItem(element);
25 }, false);
26
27 document.addEventListener('mouseover', function(element) {
28 updateContextMenuItem(element);
29 }, false);
30
31 document.addEventListener('focus', function(element) {
32 updateContextMenuItem(element);
33 });
34
35 /**
36 * Sends a message to the backgrond script notifying it to
37 * enable or disable the context menu item.
38 *
39 * @param element
40 */
41 function updateContextMenuItem(element) {
42 var longDesc = '';
43 var ariaDescribedAt = '';
44
45 if (element.target.hasAttribute("longdesc")) {
46 longDesc = element.target.getAttribute("longdesc");
47 }
48
49 if (element.target.hasAttribute("aria-describedat")) {
50 ariaDescribedAt = element.target.getAttribute("aria-describedat");
51 }
52
53 if (longDesc !== '' || ariaDescribedAt !== '') {
54 chrome.runtime.sendMessage({
55 ariaDescribedAt: ariaDescribedAt,
56 longDesc: longDesc,
57 enabled: true
58 });
59 } else {
60 chrome.runtime.sendMessage({
61 enabled: false
62 });
63 }
64 }
65
66 /**
67 * Modify border to make the HTML element more visible.
68 */
69 function addBorders() {
70 var elementArray = new Array(document.querySelectorAll('[longdesc]'));
71 elementArray.concat(new Array(document.querySelectorAll('[aria-describedat]')) );
72
73 for (var i = 0; i < elementArray.length; i++) {
74 borderColor = elementArray[0][i].style.borderColor;
75 borderStyle = elementArray[0][i].style.borderStyle;
76 borderWidth = elementArray[0][i].style.borderWidth;
77
78 elementArray[0][i].style.borderColor = 'blue';
79 elementArray[0][i].style.borderStyle = 'groove';
80 elementArray[0][i].style.borderWidth = '15px';
81 }
82 }
83
84 /**
85 * Revert back to the original border styling.
86 */
87 function removeBorders() {
88 var elementArray = new Array(document.querySelectorAll('[longdesc]'));
89 elementArray.concat(new Array(document.querySelectorAll('[aria-describedat]')) );
90
91 for (var i = 0; i < elementArray.length; i++) {
92 elementArray[0][i].style.borderColor = borderColor;
93 elementArray[0][i].style.borderStyle = borderStyle;
94 elementArray[0][i].style.borderWidth = borderWidth;
95 }
96 }
OLDNEW
« no previous file with comments | « ui/accessibility/extensions/longdesc/icon.png ('k') | ui/accessibility/extensions/longdesc/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698