Commit 8f89167c authored by Hiroki Sato's avatar Hiroki Sato Committed by Commit Bot

Add buttons to set all event stream logging on/off in ChromeVox Developer Option

This CL adds buttons to set all event stream logging to on or off in
ChromeVox Developer option.

Bug: None
Test: manual
Change-Id: If28b6c03427bf2c9a1109346bc79aa601eb2ad0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1880212Reviewed-by: default avatarDavid Tseng <dtseng@chromium.org>
Commit-Queue: Hiroki Sato <hirokisato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710649}
parent be2288bd
...@@ -181,7 +181,7 @@ ...@@ -181,7 +181,7 @@
</cr-expand-button> </cr-expand-button>
</label> </label>
</div> </div>
<div class="option" id="developerSpeechLogging"> <div class="option" id="developerSpeechLogging" hidden>
<label> <label>
<input id="enableSpeechLogging" type="checkbox" <input id="enableSpeechLogging" type="checkbox"
class="checkbox pref logging" name="enableSpeechLogging"> class="checkbox pref logging" name="enableSpeechLogging">
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</span> </span>
</label> </label>
</div> </div>
<div class="option" id="developerEarconLogging"> <div class="option" id="developerEarconLogging" hidden>
<label> <label>
<input id="enableEarconLogging" type="checkbox" <input id="enableEarconLogging" type="checkbox"
class="checkbox pref logging" name="enableEarconLogging"> class="checkbox pref logging" name="enableEarconLogging">
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
</span> </span>
</label> </label>
</div> </div>
<div class="option" id="developerBrailleLogging"> <div class="option" id="developerBrailleLogging" hidden>
<label> <label>
<input id="enableBrailleLogging" type="checkbox" <input id="enableBrailleLogging" type="checkbox"
class="checkbox pref logging" name="enableBrailleLogging"> class="checkbox pref logging" name="enableBrailleLogging">
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
</span> </span>
</label> </label>
</div> </div>
<div class="option" id="developerEventStream"> <div class="option" id="developerEventStream" hidden>
<label> <label>
<input id="enableEventStreamLogging" type="checkbox" <input id="enableEventStreamLogging" type="checkbox"
class="checkbox pref logging" name="enableEventStreamLogging"> class="checkbox pref logging" name="enableEventStreamLogging">
...@@ -218,7 +218,7 @@ ...@@ -218,7 +218,7 @@
</label> </label>
<button id="toggleEventStreamFilters"></button> <button id="toggleEventStreamFilters"></button>
</div> </div>
<div class="option" id="showDeveloperLog"> <div class="option" id="showDeveloperLog" hidden>
<label> <label>
<cr-link-row class="developer-option-icon-button" id="openDeveloperLog" <cr-link-row class="developer-option-icon-button" id="openDeveloperLog"
using-slotted-label external embedded> using-slotted-label external embedded>
...@@ -230,6 +230,12 @@ ...@@ -230,6 +230,12 @@
</div> </div>
<div id="eventStreamFilters" hidden> <div id="eventStreamFilters" hidden>
<div class="option">
<button id="enableAllEventStreamFilters" class="i18n"
msgid="options_enable_all_event_stream_filters"></button>
<button id="disableAllEventStreamFilters" class="i18n"
msgid="options_disable_all_event_stream_filters"></button>
</div>
<label><div class="option-eventstream"> <label><div class="option-eventstream">
<input name="activedescendantchanged" type="checkbox" <input name="activedescendantchanged" type="checkbox"
class="checkbox pref eventstream"> class="checkbox pref eventstream">
......
...@@ -11,7 +11,6 @@ goog.provide('cvox.OptionsPage'); ...@@ -11,7 +11,6 @@ goog.provide('cvox.OptionsPage');
goog.require('BluetoothBrailleDisplayUI'); goog.require('BluetoothBrailleDisplayUI');
goog.require('ConsoleTts'); goog.require('ConsoleTts');
goog.require('EventStreamLogger');
goog.require('Msgs'); goog.require('Msgs');
goog.require('PanelCommand'); goog.require('PanelCommand');
goog.require('cvox.BrailleTable'); goog.require('cvox.BrailleTable');
...@@ -19,7 +18,6 @@ goog.require('cvox.BrailleTranslatorManager'); ...@@ -19,7 +18,6 @@ goog.require('cvox.BrailleTranslatorManager');
goog.require('cvox.ChromeVox'); goog.require('cvox.ChromeVox');
goog.require('cvox.ChromeVoxKbHandler'); goog.require('cvox.ChromeVoxKbHandler');
goog.require('cvox.ChromeVoxPrefs'); goog.require('cvox.ChromeVoxPrefs');
goog.require('cvox.CommandStore');
goog.require('cvox.ExtensionBridge'); goog.require('cvox.ExtensionBridge');
/** /**
...@@ -105,7 +103,6 @@ cvox.OptionsPage.init = function() { ...@@ -105,7 +103,6 @@ cvox.OptionsPage.init = function() {
} }
}); });
var registerEventStreamFiltersListener = function() {
$('toggleEventStreamFilters').addEventListener('click', function(evt) { $('toggleEventStreamFilters').addEventListener('click', function(evt) {
if ($('eventStreamFilters').hidden) { if ($('eventStreamFilters').hidden) {
$('eventStreamFilters').hidden = false; $('eventStreamFilters').hidden = false;
...@@ -115,7 +112,13 @@ cvox.OptionsPage.init = function() { ...@@ -115,7 +112,13 @@ cvox.OptionsPage.init = function() {
$('toggleEventStreamFilters').textContent = showEventStreamFilters; $('toggleEventStreamFilters').textContent = showEventStreamFilters;
} }
}); });
};
$('enableAllEventStreamFilters').addEventListener('click', () => {
cvox.OptionsPage.setAllEventStreamLoggingFilters(true);
});
$('disableAllEventStreamFilters').addEventListener('click', () => {
cvox.OptionsPage.setAllEventStreamLoggingFilters(false);
});
$('chromeVoxDeveloperOptions').addEventListener('expanded-changed', () => { $('chromeVoxDeveloperOptions').addEventListener('expanded-changed', () => {
const hidden = !$('chromeVoxDeveloperOptions').expanded; const hidden = !$('chromeVoxDeveloperOptions').expanded;
...@@ -131,14 +134,6 @@ cvox.OptionsPage.init = function() { ...@@ -131,14 +134,6 @@ cvox.OptionsPage.init = function() {
chrome.tabs.create(logPage); chrome.tabs.create(logPage);
}); });
// Hide developer options by default.
$('developerSpeechLogging').hidden = true;
$('developerEarconLogging').hidden = true;
$('developerBrailleLogging').hidden = true;
$('developerEventStream').hidden = true;
$('showDeveloperLog').hidden = true;
registerEventStreamFiltersListener();
Msgs.addTranslatedMessagesToDom(document); Msgs.addTranslatedMessagesToDom(document);
cvox.OptionsPage.hidePlatformSpecifics(); cvox.OptionsPage.hidePlatformSpecifics();
...@@ -403,6 +398,30 @@ cvox.OptionsPage.disableEventStreamFilterCheckBoxes = function(disable) { ...@@ -403,6 +398,30 @@ cvox.OptionsPage.disableEventStreamFilterCheckBoxes = function(disable) {
filters[i].disabled = disable; filters[i].disabled = disable;
}; };
/**
* Set all event stream logging filter to on or off.
* @param {boolean} enabled
*/
cvox.OptionsPage.setAllEventStreamLoggingFilters = function(enabled) {
for (let checkbox of document.querySelectorAll(
'.option-eventstream > input')) {
if (checkbox.checked != enabled) {
cvox.OptionsPage.setEventStreamFilter(checkbox.name, enabled);
}
}
};
/**
* Set the specified event logging filter to on or off.
* @param {name} string
* @param {enabled} boolean
*/
cvox.OptionsPage.setEventStreamFilter = function(name, enabled) {
cvox.OptionsPage.prefs.setPref(name, enabled);
chrome.extension.getBackgroundPage()
.EventStreamLogger.instance.notifyEventStreamFilterChanged(name, enabled);
};
/** /**
* Event listener, called when an event occurs in the page that might * Event listener, called when an event occurs in the page that might
* affect one of the preference controls. * affect one of the preference controls.
...@@ -419,10 +438,7 @@ cvox.OptionsPage.eventListener = function(event) { ...@@ -419,10 +438,7 @@ cvox.OptionsPage.eventListener = function(event) {
if (target.name == 'enableEventStreamLogging') if (target.name == 'enableEventStreamLogging')
cvox.OptionsPage.disableEventStreamFilterCheckBoxes(!target.checked); cvox.OptionsPage.disableEventStreamFilterCheckBoxes(!target.checked);
} else if (target.className.indexOf('eventstream') != -1) { } else if (target.className.indexOf('eventstream') != -1) {
cvox.OptionsPage.prefs.setPref(target.name, target.checked); cvox.OptionsPage.setEventStreamFilter(target.name, target.checked);
chrome.extension.getBackgroundPage()
.EventStreamLogger.instance.notifyEventStreamFilterChanged(
target.name, target.checked);
} else if (target.classList.contains('pref')) { } else if (target.classList.contains('pref')) {
if (target.tagName == 'INPUT' && target.type == 'checkbox') { if (target.tagName == 'INPUT' && target.type == 'checkbox') {
cvox.OptionsPage.prefs.setPref(target.name, target.checked); cvox.OptionsPage.prefs.setPref(target.name, target.checked);
......
...@@ -595,6 +595,12 @@ ...@@ -595,6 +595,12 @@
<message desc="Hide event stream filters options for event stream logging." name="IDS_CHROMEVOX_OPTIONS_HIDE_EVENT_STREAM_FILTERS"> <message desc="Hide event stream filters options for event stream logging." name="IDS_CHROMEVOX_OPTIONS_HIDE_EVENT_STREAM_FILTERS">
Hide event stream filters Hide event stream filters
</message> </message>
<message desc="Set all event stream logging filters to on." name="IDS_CHROMEVOX_OPTIONS_ENABLE_ALL_EVENT_STREAM_FILTERS">
Enable all event filters
</message>
<message desc="Set all event stream logging filters to off." name="IDS_CHROMEVOX_OPTIONS_DISABLE_ALL_EVENT_STREAM_FILTERS">
Disable all event filters
</message>
<message desc="Enable chromevox braille logging." name="IDS_CHROMEVOX_OPTIONS_DEVELOPER_BRAILLE_LOGGING"> <message desc="Enable chromevox braille logging." name="IDS_CHROMEVOX_OPTIONS_DEVELOPER_BRAILLE_LOGGING">
Enable braille logging Enable braille logging
</message> </message>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment