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

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/extensions/searchvox/search.js

Issue 604423002: Use an enum for ChromeVox queue mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 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 5
6 /** 6 /**
7 * @fileoverview Uses ChromeVox API to enhance the search experience. 7 * @fileoverview Uses ChromeVox API to enhance the search experience.
8 */ 8 */
9 9
10 goog.provide('cvox.Search'); 10 goog.provide('cvox.Search');
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 cvox.Search.isPane = false; 95 cvox.Search.isPane = false;
96 }; 96 };
97 97
98 /** 98 /**
99 * Sync the search result index to ChromeVox. 99 * Sync the search result index to ChromeVox.
100 */ 100 */
101 cvox.Search.syncToIndex = function() { 101 cvox.Search.syncToIndex = function() {
102 cvox.ChromeVox.tts.stop(); 102 cvox.ChromeVox.tts.stop();
103 var prop = { endCallback: cvox.Search.speakSync_ }; 103 var prop = { endCallback: cvox.Search.speakSync_ };
104 if (cvox.Search.index === 0) { 104 if (cvox.Search.index === 0) {
105 cvox.ChromeVox.tts.speak('First result', 1, prop); 105 cvox.ChromeVox.tts.speak('First result', cvox.QueueMode.QUEUE, prop);
106 } else if (cvox.Search.index === cvox.Search.results.length - 1) { 106 } else if (cvox.Search.index === cvox.Search.results.length - 1) {
107 cvox.ChromeVox.tts.speak('Last result', 1, prop); 107 cvox.ChromeVox.tts.speak('Last result', cvox.QueueMode.QUEUE, prop);
108 } else { 108 } else {
109 cvox.Search.speakSync_(); 109 cvox.Search.speakSync_();
110 } 110 }
111 }; 111 };
112 112
113 /** 113 /**
114 * Sync the current pane index to ChromeVox. 114 * Sync the current pane index to ChromeVox.
115 */ 115 */
116 cvox.Search.syncPaneToIndex = function() { 116 cvox.Search.syncPaneToIndex = function() {
117 var pane = cvox.Search.panes[cvox.Search.paneIndex]; 117 var pane = cvox.Search.panes[cvox.Search.paneIndex];
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 var navEnds = document.getElementsByClassName(NAV_END_CLASS); 166 var navEnds = document.getElementsByClassName(NAV_END_CLASS);
167 var navEnd = next ? navEnds[1] : navEnds[0]; 167 var navEnd = next ? navEnds[1] : navEnds[0];
168 var url = cvox.SearchUtil.extractURL(navEnd); 168 var url = cvox.SearchUtil.extractURL(navEnd);
169 var navToUrl = function() { 169 var navToUrl = function() {
170 window.location = url; 170 window.location = url;
171 }; 171 };
172 var prop = { endCallback: navToUrl }; 172 var prop = { endCallback: navToUrl };
173 if (url) { 173 if (url) {
174 var pageNumber = cvox.Search.getPageNumber(url); 174 var pageNumber = cvox.Search.getPageNumber(url);
175 if (!isNaN(pageNumber)) { 175 if (!isNaN(pageNumber)) {
176 cvox.ChromeVox.tts.speak('Page ' + pageNumber, 0, prop); 176 cvox.ChromeVox.tts.speak('Page ' + pageNumber, cvox.QueueMode.FLUSH,
177 prop);
177 } else { 178 } else {
178 cvox.ChromeVox.tts.speak('Unknown page.', 0, prop); 179 cvox.ChromeVox.tts.speak('Unknown page.', cvox.QueueMode.FLUSH, prop);
179 } 180 }
180 } 181 }
181 }; 182 };
182 183
183 /** 184 /**
184 * Navigates to the currently synced pane. 185 * Navigates to the currently synced pane.
185 */ 186 */
186 cvox.Search.goToPane = function() { 187 cvox.Search.goToPane = function() {
187 var pane = cvox.Search.panes[cvox.Search.paneIndex]; 188 var pane = cvox.Search.panes[cvox.Search.paneIndex];
188 if (pane.className === cvox.Search.SELECTED_PANE_CLASS) { 189 if (pane.className === cvox.Search.SELECTED_PANE_CLASS) {
189 cvox.ChromeVox.tts.speak('You are already on that page.'); 190 cvox.ChromeVox.tts.speak('You are already on that page.',
191 cvox.QueueMode.QUEUE);
190 return; 192 return;
191 } 193 }
192 var anchor = pane.querySelector('a'); 194 var anchor = pane.querySelector('a');
193 cvox.ChromeVox.tts.speak(anchor.textContent); 195 cvox.ChromeVox.tts.speak(anchor.textContent, cvox.QueueMode.QUEUE);
194 var url = cvox.SearchUtil.extractURL(pane); 196 var url = cvox.SearchUtil.extractURL(pane);
195 if (url) { 197 if (url) {
196 window.location = url; 198 window.location = url;
197 } 199 }
198 }; 200 };
199 201
200 /** 202 /**
201 * Follow the link to the current result. 203 * Follow the link to the current result.
202 */ 204 */
203 cvox.Search.goToResult = function() { 205 cvox.Search.goToResult = function() {
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 return; 432 return;
431 } 433 }
432 434
433 cvox.Search.populateResults(); 435 cvox.Search.populateResults();
434 cvox.Search.populatePanes(); 436 cvox.Search.populatePanes();
435 cvox.Search.paneIndex = cvox.Search.getSelectedPaneIndex(); 437 cvox.Search.paneIndex = cvox.Search.getSelectedPaneIndex();
436 438
437 cvox.Search.initialSync(); 439 cvox.Search.initialSync();
438 440
439 }; 441 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698