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 @@
</cr-expand-button>
</label>
</div>
<div class="option" id="developerSpeechLogging">
<div class="option" id="developerSpeechLogging" hidden>
<label>
<input id="enableSpeechLogging" type="checkbox"
class="checkbox pref logging" name="enableSpeechLogging">
......@@ -190,7 +190,7 @@
</span>
</label>
</div>
<div class="option" id="developerEarconLogging">
<div class="option" id="developerEarconLogging" hidden>
<label>
<input id="enableEarconLogging" type="checkbox"
class="checkbox pref logging" name="enableEarconLogging">
......@@ -199,7 +199,7 @@
</span>
</label>
</div>
<div class="option" id="developerBrailleLogging">
<div class="option" id="developerBrailleLogging" hidden>
<label>
<input id="enableBrailleLogging" type="checkbox"
class="checkbox pref logging" name="enableBrailleLogging">
......@@ -208,7 +208,7 @@
</span>
</label>
</div>
<div class="option" id="developerEventStream">
<div class="option" id="developerEventStream" hidden>
<label>
<input id="enableEventStreamLogging" type="checkbox"
class="checkbox pref logging" name="enableEventStreamLogging">
......@@ -218,7 +218,7 @@
</label>
<button id="toggleEventStreamFilters"></button>
</div>
<div class="option" id="showDeveloperLog">
<div class="option" id="showDeveloperLog" hidden>
<label>
<cr-link-row class="developer-option-icon-button" id="openDeveloperLog"
using-slotted-label external embedded>
......@@ -230,6 +230,12 @@
</div>
<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">
<input name="activedescendantchanged" type="checkbox"
class="checkbox pref eventstream">
......
......@@ -11,7 +11,6 @@ goog.provide('cvox.OptionsPage');
goog.require('BluetoothBrailleDisplayUI');
goog.require('ConsoleTts');
goog.require('EventStreamLogger');
goog.require('Msgs');
goog.require('PanelCommand');
goog.require('cvox.BrailleTable');
......@@ -19,7 +18,6 @@ goog.require('cvox.BrailleTranslatorManager');
goog.require('cvox.ChromeVox');
goog.require('cvox.ChromeVoxKbHandler');
goog.require('cvox.ChromeVoxPrefs');
goog.require('cvox.CommandStore');
goog.require('cvox.ExtensionBridge');
/**
......@@ -105,7 +103,6 @@ cvox.OptionsPage.init = function() {
}
});
var registerEventStreamFiltersListener = function() {
$('toggleEventStreamFilters').addEventListener('click', function(evt) {
if ($('eventStreamFilters').hidden) {
$('eventStreamFilters').hidden = false;
......@@ -115,7 +112,13 @@ cvox.OptionsPage.init = function() {
$('toggleEventStreamFilters').textContent = showEventStreamFilters;
}
});
};
$('enableAllEventStreamFilters').addEventListener('click', () => {
cvox.OptionsPage.setAllEventStreamLoggingFilters(true);
});
$('disableAllEventStreamFilters').addEventListener('click', () => {
cvox.OptionsPage.setAllEventStreamLoggingFilters(false);
});
$('chromeVoxDeveloperOptions').addEventListener('expanded-changed', () => {
const hidden = !$('chromeVoxDeveloperOptions').expanded;
......@@ -131,14 +134,6 @@ cvox.OptionsPage.init = function() {
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);
cvox.OptionsPage.hidePlatformSpecifics();
......@@ -403,6 +398,30 @@ cvox.OptionsPage.disableEventStreamFilterCheckBoxes = function(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
* affect one of the preference controls.
......@@ -419,10 +438,7 @@ cvox.OptionsPage.eventListener = function(event) {
if (target.name == 'enableEventStreamLogging')
cvox.OptionsPage.disableEventStreamFilterCheckBoxes(!target.checked);
} else if (target.className.indexOf('eventstream') != -1) {
cvox.OptionsPage.prefs.setPref(target.name, target.checked);
chrome.extension.getBackgroundPage()
.EventStreamLogger.instance.notifyEventStreamFilterChanged(
target.name, target.checked);
cvox.OptionsPage.setEventStreamFilter(target.name, target.checked);
} else if (target.classList.contains('pref')) {
if (target.tagName == 'INPUT' && target.type == 'checkbox') {
cvox.OptionsPage.prefs.setPref(target.name, target.checked);
......
......@@ -595,6 +595,12 @@
<message desc="Hide event stream filters options for event stream logging." name="IDS_CHROMEVOX_OPTIONS_HIDE_EVENT_STREAM_FILTERS">
Hide event stream filters
</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">
Enable braille logging
</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