New issue
Advanced search Search tips

Issue 823359 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Team-Accessibility

Blocked on:
issue 836402



Sign in to add a comment

Add a Text-to-Speech settings page

Project Member Reported by katie@chromium.org, Mar 19 2018

Issue description

Parented under chrome://settings/manageAccessibility Text-to-Speech settings

Hidden by without enable-experimental-accessibility-features

 

Comment 1 by katie@chromium.org, Mar 29 2018

Attached:

Screenshots of what this might look like, from sgabriel@. Note that rate and pitch will probably need to be sliders.
Screenshot of how this looks at the first skeleton change, for reference.
Accessibility sub-page.png
82.7 KB View Download
Accessibility sub-page _ Text-to-speech voice settings.png
28.6 KB View Download
actual_tts_in_manage_a11y_page.png
98.0 KB View Download
skeleton_tts_subpage.png
55.9 KB View Download
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da10f5c47c294a376d0a64f0afb6ff9b353781b2

commit da10f5c47c294a376d0a64f0afb6ff9b353781b2
Author: Katie D <katie@chromium.org>
Date: Fri Mar 30 01:54:37 2018

Adds a skeleton text-to-speech settings subpage.

This subpage and link to it are hidden when the
--enable_experimental_accessibility_features flag is on.

Currently the subpage has no functionality, but what exists does match
the UI mock, except that I've also added a description to the link to
the subpage that lets users know they can manage TTS engines from that
page.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ia3e049cb0c9b64e861a7981d29a6642061029275
Reviewed-on: https://chromium-review.googlesource.com/969322
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547066}
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/app/settings_strings.grdp
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/a11y_page.html
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/a11y_page.js
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/compiled_resources2.gyp
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/manage_a11y_page.html
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/manage_a11y_page.js
[add] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[add] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/route.js
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/resources/settings/settings_resources.grd
[modify] https://crrev.com/da10f5c47c294a376d0a64f0afb6ff9b353781b2/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc52503aac8fe84ebe448150630411d59947e222

commit cc52503aac8fe84ebe448150630411d59947e222
Author: Owen Min <zmin@chromium.org>
Date: Wed Apr 04 14:42:00 2018

Revert "Add tests for accessibility pages in Chrome / Chrome OS settings."

This reverts commit 523c07e8cbe4e625c4bc71b2cb7e4c278c0bb6e1.

Reason for revert: SettingsAccessibilityTest.MANAGE_ACCESSIBILITY_aria_valid_attr_value is Flaky.

Original change's description:
> Add tests for accessibility pages in Chrome / Chrome OS settings.
> 
> Bug:  823359 
> Change-Id: I62707b079f9ee899feb7c624a498c5f16f6fe061
> Reviewed-on: https://chromium-review.googlesource.com/988226
> Reviewed-by: Hector Carmona <hcarmona@chromium.org>
> Commit-Queue: Katie Dektar <katie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#547747}

TBR=hcarmona@chromium.org,katie@chromium.org

Change-Id: I4c26092b8c2be2ee2a041a5ac420b57fe5b72a60
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  823359 
Reviewed-on: https://chromium-review.googlesource.com/995553
Reviewed-by: Owen Min <zmin@chromium.org>
Commit-Queue: Owen Min <zmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548053}
[modify] https://crrev.com/cc52503aac8fe84ebe448150630411d59947e222/chrome/test/data/webui/BUILD.gn
[delete] https://crrev.com/5979b690c2cb44fd079f8606e431d22c1c754f52/chrome/test/data/webui/settings/a11y/accessibility_a11y_test.js
[delete] https://crrev.com/5979b690c2cb44fd079f8606e431d22c1c754f52/chrome/test/data/webui/settings/a11y/manage_accessibility_a11y_test.js
[modify] https://crrev.com/cc52503aac8fe84ebe448150630411d59947e222/chrome/test/data/webui/settings/a11y/sign_out_a11y_test.js
[delete] https://crrev.com/5979b690c2cb44fd079f8606e431d22c1c754f52/chrome/test/data/webui/settings/a11y/tts_subpage_a11y_test.js

Comment 5 by zmin@chromium.org, Apr 4 2018

 Issue 828706  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc52af28dcc9a4816722f96461dd8fbe82d74e09

commit cc52af28dcc9a4816722f96461dd8fbe82d74e09
Author: Katie D <katie@chromium.org>
Date: Wed Apr 04 19:50:36 2018

Reland "Add tests for accessibility pages in Chrome / Chrome OS settings.""

This reverts commit cc52503aac8fe84ebe448150630411d59947e222.

Relands two tests, ACCESSIBILITY and TTS_SUBPAGE. Does not include
the flaky test, which I will try to re-add separately with
adjustments to make it not flake any more.

TBR=hcarmona@chromium.org,zmin@chromium.org

Bug:  823359 
Change-Id: If81e79fb8ea9a4870eb3886198c41ca166e38fda
Reviewed-on: https://chromium-review.googlesource.com/996016
Reviewed-by: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548164}
[modify] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/BUILD.gn
[add] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/accessibility_a11y_test.js
[modify] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/sign_out_a11y_test.js
[add] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/tts_subpage_a11y_test.js

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc52af28dcc9a4816722f96461dd8fbe82d74e09

commit cc52af28dcc9a4816722f96461dd8fbe82d74e09
Author: Katie D <katie@chromium.org>
Date: Wed Apr 04 19:50:36 2018

Reland "Add tests for accessibility pages in Chrome / Chrome OS settings.""

This reverts commit cc52503aac8fe84ebe448150630411d59947e222.

Relands two tests, ACCESSIBILITY and TTS_SUBPAGE. Does not include
the flaky test, which I will try to re-add separately with
adjustments to make it not flake any more.

TBR=hcarmona@chromium.org,zmin@chromium.org

Bug:  823359 
Change-Id: If81e79fb8ea9a4870eb3886198c41ca166e38fda
Reviewed-on: https://chromium-review.googlesource.com/996016
Reviewed-by: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548164}
[modify] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/BUILD.gn
[add] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/accessibility_a11y_test.js
[modify] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/sign_out_a11y_test.js
[add] https://crrev.com/cc52af28dcc9a4816722f96461dd8fbe82d74e09/chrome/test/data/webui/settings/a11y/tts_subpage_a11y_test.js

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb3773ac263c9bfbeb899af41e85ffb19ed33f66

commit bb3773ac263c9bfbeb899af41e85ffb19ed33f66
Author: Katie D <katie@chromium.org>
Date: Wed Apr 04 20:50:59 2018

Reland MANAGE_ACCESSIBILITY test for Chrome / Chrome OS settings.

Fix flakes from
SettingsAccessibilityTest.MANAGE_ACCESSIBILITY_aria_valid_attr_value
by correcting the aria-described-by to be a valid element ID in
manage_a11y_page.html.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I9e3ed7c93136b39de2d800d8350e533776f0fe6c
Reviewed-on: https://chromium-review.googlesource.com/996024
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548188}
[modify] https://crrev.com/bb3773ac263c9bfbeb899af41e85ffb19ed33f66/chrome/browser/resources/settings/a11y_page/manage_a11y_page.html
[modify] https://crrev.com/bb3773ac263c9bfbeb899af41e85ffb19ed33f66/chrome/test/data/webui/BUILD.gn
[add] https://crrev.com/bb3773ac263c9bfbeb899af41e85ffb19ed33f66/chrome/test/data/webui/settings/a11y/manage_accessibility_a11y_test.js

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87becb8a5dda0b420811ee8d8b03c6644c30c382

commit 87becb8a5dda0b420811ee8d8b03c6644c30c382
Author: Katie D <katie@chromium.org>
Date: Thu Apr 12 15:04:42 2018

Add tts preview functionality to the TTS settings subpage.

This uses window.speechSynthesis, which should be using the TTS
engine and voice prefs selected by the user.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I2b8cd29a2b1fd1da2a5cb002aeb877ed2e615196
Reviewed-on: https://chromium-review.googlesource.com/996764
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550199}
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/app/settings_strings.grdp
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/compiled_resources2.gyp
[add] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Comment 10 by katie@chromium.org, Apr 13 2018

Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87becb8a5dda0b420811ee8d8b03c6644c30c382

commit 87becb8a5dda0b420811ee8d8b03c6644c30c382
Author: Katie D <katie@chromium.org>
Date: Thu Apr 12 15:04:42 2018

Add tts preview functionality to the TTS settings subpage.

This uses window.speechSynthesis, which should be using the TTS
engine and voice prefs selected by the user.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I2b8cd29a2b1fd1da2a5cb002aeb877ed2e615196
Reviewed-on: https://chromium-review.googlesource.com/996764
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550199}
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/app/settings_strings.grdp
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/compiled_resources2.gyp
[add] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/87becb8a5dda0b420811ee8d8b03c6644c30c382/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a5d91bfca6323d135300d6ce23397d2890aa437

commit 8a5d91bfca6323d135300d6ce23397d2890aa437
Author: Katie D <katie@chromium.org>
Date: Thu Apr 19 02:50:32 2018

Adds TTS setting for volume, and prefs for voice name, rate, pitch and volume.

Does not yet hook these up to the tts controller or engine.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ic7faf1fde56f8738193b222ac9f05ae8573744b1
Reviewed-on: https://chromium-review.googlesource.com/1013058
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551925}
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/app/settings_strings.grdp
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/browser/chromeos/preferences.cc
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/browser/extensions/api/settings_private/prefs_util.cc
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/browser/resources/settings/a11y_page/a11y_page.html
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/common/pref_names.cc
[modify] https://crrev.com/8a5d91bfca6323d135300d6ce23397d2890aa437/chrome/common/pref_names.h

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6ceb3883385eb0f1b2cbc79588b7592d235187a1

commit 6ceb3883385eb0f1b2cbc79588b7592d235187a1
Author: Katie D <katie@chromium.org>
Date: Mon Apr 23 21:01:35 2018

Use user preferences for TTS speech rate, pitch and volume if not set.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I772e1fa78e0f3f7ed3a6ab858f4855f65f18513f
Reviewed-on: https://chromium-review.googlesource.com/1014491
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552826}
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/DEPS
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/chromeos/preferences.cc
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/speech/extension_api/tts_extension_api.cc
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/speech/tts_controller_impl.cc
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/speech/tts_controller_impl.h
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/chrome/browser/speech/tts_controller_unittest.cc
[add] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/third_party/blink/public/platform/web_speech_synthesis_constants.h
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.cc
[modify] https://crrev.com/6ceb3883385eb0f1b2cbc79588b7592d235187a1/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.h

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48d140d3295144364a687528ba1b8be76a783e2a

commit 48d140d3295144364a687528ba1b8be76a783e2a
Author: Lei Zhang <thestig@chromium.org>
Date: Tue Apr 24 00:50:08 2018

Revert "Use user preferences for TTS speech rate, pitch and volume if not set."

This reverts commit 6ceb3883385eb0f1b2cbc79588b7592d235187a1.

Reason for revert: New tests have memory leaks.

https://ci.chromium.org/buildbot/chromium.memory/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/27171

Original change's description:
> Use user preferences for TTS speech rate, pitch and volume if not set.
> 
> Bug:  823359 
> Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
> Change-Id: I772e1fa78e0f3f7ed3a6ab858f4855f65f18513f
> Reviewed-on: https://chromium-review.googlesource.com/1014491
> Commit-Queue: Katie Dektar <katie@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: David Tseng <dtseng@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#552826}

TBR=thakis@chromium.org,dtseng@chromium.org,jochen@chromium.org,katie@chromium.org

Change-Id: I8702500882bf4e8a499c7798306976bd18ad260b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Reviewed-on: https://chromium-review.googlesource.com/1025290
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552929}
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/DEPS
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/chromeos/preferences.cc
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/speech/extension_api/tts_extension_api.cc
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/speech/tts_controller_impl.cc
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/speech/tts_controller_impl.h
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/chrome/browser/speech/tts_controller_unittest.cc
[delete] https://crrev.com/4e18f956e54ca1e4491cb164350aa160f493ff74/third_party/blink/public/platform/web_speech_synthesis_constants.h
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.cc
[modify] https://crrev.com/48d140d3295144364a687528ba1b8be76a783e2a/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.h

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8236c3a370055c8e162c6cc4a2b4811490538402

commit 8236c3a370055c8e162c6cc4a2b4811490538402
Author: Katie D <katie@chromium.org>
Date: Tue Apr 24 18:49:27 2018

Reland "Use user preferences for TTS speech rate, pitch and volume if not set."

This reverts commit 48d140d3295144364a687528ba1b8be76a783e2a.

Original reason for revert: New tests have memory leaks:
https://ci.chromium.org/buildbot/chromium.memory/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/27171

Original change description:
Use user preferences for TTS speech rate, pitch and volume if not set.

TBR=thakis@chromium.org,dtseng@chromium.org,jochen@chromium.org,thestig@chromium.org

Bug:  823359 
Change-Id: I2e8ac4995a1bd84533cc8f7be3bae4a1f5fcaad7
Reviewed-on: https://chromium-review.googlesource.com/1026087
Reviewed-by: Katie Dektar <katie@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553217}
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/DEPS
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/chromeos/preferences.cc
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/speech/extension_api/tts_extension_api.cc
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/speech/tts_controller_impl.cc
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/speech/tts_controller_impl.h
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/chrome/browser/speech/tts_controller_unittest.cc
[add] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/third_party/blink/public/platform/web_speech_synthesis_constants.h
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.cc
[modify] https://crrev.com/8236c3a370055c8e162c6cc4a2b4811490538402/third_party/blink/renderer/platform/speech/platform_speech_synthesis_utterance.h

Comment 16 by katie@chromium.org, Apr 24 2018

Blockedon: 836402
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90e6d7014837977410c9263df83bc76dbbedc985

commit 90e6d7014837977410c9263df83bc76dbbedc985
Author: Katie D <katie@chromium.org>
Date: Thu Apr 26 04:19:00 2018

Text-to-Speech settings to pick default voice per language.

Because language -> voice pref is a DICTONARY type pref, this
change extends settings-dropdown-menu to work with dictionary
prefs given a new parameter, prefKey. When set, prefKey tells
the settings dropdown which key in the dictionary is associated
with the value it represents.

This is not yet hooked up to the Text-to-Speech controller. In
addition, we don't yet define default voices per language.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I6b7ae800ed6f0230076da5d65114d305fc1dc64d
Reviewed-on: https://chromium-review.googlesource.com/1020456
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553911}
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/resources/settings/a11y_page/compiled_resources2.gyp
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/resources/settings/controls/settings_dropdown_menu.js
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/ui/webui/settings/tts_handler.cc
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/browser/ui/webui/settings/tts_handler.h
[modify] https://crrev.com/90e6d7014837977410c9263df83bc76dbbedc985/chrome/test/data/webui/settings/dropdown_menu_tests.js

Project Member

Comment 18 by bugdroid1@chromium.org, May 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d8be1e4677738267099d88517051506a9be4b8a

commit 0d8be1e4677738267099d88517051506a9be4b8a
Author: Katie D <katie@chromium.org>
Date: Tue May 01 00:58:36 2018

Adds links to Text-to-Speech extensions settings pages from tts settings.

Any extension that supports the Text-to-Speech callbacks will be able to
be linked from the Text-to-Speech settings page.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I2f2ae0d9008e48faccd8c3929b902cb925afb877
Reviewed-on: https://chromium-review.googlesource.com/1030755
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554947}
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/speech/extension_api/tts_engine_extension_observer.cc
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/speech/extension_api/tts_engine_extension_observer.h
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/ui/webui/settings/tts_handler.cc
[modify] https://crrev.com/0d8be1e4677738267099d88517051506a9be4b8a/chrome/browser/ui/webui/settings/tts_handler.h

Comment 19 by katie@chromium.org, May 10 2018

Still TODO:
* Set default TTS voices per language
* Use default TTS voices per language
* Searchable combobox for picking voice to preview
* Hide some of the languages: We can either hide those without multiple voices, or hide those that aren't in the default local (with a "show all" toggle)
Project Member

Comment 20 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a17e664dfe3731589906cb43df181dd486762caa

commit a17e664dfe3731589906cb43df181dd486762caa
Author: Katie D <katie@chromium.org>
Date: Wed May 16 22:44:29 2018

Changes the sliders on tts settings to have value, marked points.

Per UI review, the TTS settings page sliders should have their current
values shown on the screen and dots showing that they have steps, similar
to the slider in the display settings page.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I9a52d25c11a95439f90e767a02744c162f693605
Reviewed-on: https://chromium-review.googlesource.com/1054558
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559320}
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/app/settings_strings.grdp
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/browser/resources/settings/a11y_page/BUILD.gn
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/browser/resources/settings/device_page/display_size_slider.html
[modify] https://crrev.com/a17e664dfe3731589906cb43df181dd486762caa/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Project Member

Comment 21 by bugdroid1@chromium.org, May 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/211910c956d70611f707c7b7b7a73d49e406f559

commit 211910c956d70611f707c7b7b7a73d49e406f559
Author: Katie D <katie@chromium.org>
Date: Thu May 17 00:20:06 2018

Re-order TTS settings page and add voices to speech preview options.

Users need to be able to preview any of the possible voices in order to
be able to pick a reasonable default. Now, to preview the voice, the
tts_handler requests the tts_controller to speak directly, which allows
for more control over the voice used than window.speechsynthesis.

Re-ordering page after discussion with a11y team about common use-cases.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I0e12d1a2865ae5ab9281b5a08d578ad49b1999f2
Reviewed-on: https://chromium-review.googlesource.com/1052925
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559359}
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/app/settings_strings.grdp
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/resources/settings/a11y_page/BUILD.gn
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/ui/webui/settings/tts_handler.cc
[modify] https://crrev.com/211910c956d70611f707c7b7b7a73d49e406f559/chrome/browser/ui/webui/settings/tts_handler.h

Project Member

Comment 22 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf9ba79f96c7a1718f2cbb3dceeb1235caeec953

commit bf9ba79f96c7a1718f2cbb3dceeb1235caeec953
Author: Katie D <katie@chromium.org>
Date: Tue May 22 18:42:17 2018

Use default text-to-speech voices from preferences.

This is the lowest priority when chosing a TTS voice in tts_controller_impl.

Tested using the TTS settings page with default English voice set to
Chrome OS Indian English, then running:
chrome.tts.speak('hi there i\'m a voice');  // Indian English
chrome.tts.speak('hi there i\'m a voice', {lang: "en-US"});  // US English

Bug:  823359 
Change-Id: Ifdbbc3a19e1e2911f3624404555cc13ed271a9c5
Reviewed-on: https://chromium-review.googlesource.com/1064560
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560713}
[modify] https://crrev.com/bf9ba79f96c7a1718f2cbb3dceeb1235caeec953/chrome/browser/speech/tts_controller_impl.cc
[modify] https://crrev.com/bf9ba79f96c7a1718f2cbb3dceeb1235caeec953/chrome/browser/speech/tts_controller_impl.h
[modify] https://crrev.com/bf9ba79f96c7a1718f2cbb3dceeb1235caeec953/chrome/browser/speech/tts_controller_unittest.cc

Project Member

Comment 23 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/943454ade053c440c026f8bc76d2393d4c3c9d25

commit 943454ade053c440c026f8bc76d2393d4c3c9d25
Author: Katie D <katie@chromium.org>
Date: Wed May 23 00:27:12 2018

Use "default" instead of "normal" per UI review.

Bug:  823359 
Change-Id: I9f5bb1ee23b32fb3522eaa4a2de9203fcbc805a6
Reviewed-on: https://chromium-review.googlesource.com/1069711
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560852}
[modify] https://crrev.com/943454ade053c440c026f8bc76d2393d4c3c9d25/chrome/app/settings_strings.grdp
[add] https://crrev.com/943454ade053c440c026f8bc76d2393d4c3c9d25/chrome/app/settings_strings_grdp/IDS_SETTINGS_DEFAULT_PERCENTAGE.png.sha1

Project Member

Comment 24 by bugdroid1@chromium.org, May 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa2fae254af8cf2ec0548d63a06aa998982387f2

commit fa2fae254af8cf2ec0548d63a06aa998982387f2
Author: Katie D <katie@chromium.org>
Date: Fri May 25 00:27:59 2018

Set default Text-to-Speech voices on the TTS settings page.

Finds the voice that best matches the app locale so that the default voice
is as close as possible to the app locale in the user's preferred language.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I3374e2d38051cd7dbc089da2a9483887befc9fe4
Reviewed-on: https://chromium-review.googlesource.com/1067540
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561705}
[modify] https://crrev.com/fa2fae254af8cf2ec0548d63a06aa998982387f2/chrome/browser/resources/settings/a11y_page/externs.js
[modify] https://crrev.com/fa2fae254af8cf2ec0548d63a06aa998982387f2/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/fa2fae254af8cf2ec0548d63a06aa998982387f2/chrome/browser/ui/webui/settings/tts_handler.cc
[modify] https://crrev.com/fa2fae254af8cf2ec0548d63a06aa998982387f2/chrome/browser/ui/webui/settings/tts_handler.h

Project Member

Comment 25 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3

commit c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3
Author: Katie D <katie@chromium.org>
Date: Fri Jun 08 05:02:06 2018

Add a toggle button to show/hide additional languages on TTS settings page.

Per UI review, we only want to show the relevant languages to the user by
default to reduce page clutter.

Tested by using a brand new profile and seeing that the English languages show
up, and by adding "German" as another preferred language and seeing that
both English and German show up in the preferred languages list.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I19b264b8b92921135acf0c2064e7a8bd9c8f881f
Reviewed-on: https://chromium-review.googlesource.com/1074329
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565551}
[modify] https://crrev.com/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3/chrome/app/settings_strings.grdp
[add] https://crrev.com/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3/chrome/app/settings_strings_grdp/IDS_SETTINGS_TEXT_TO_SPEECH_MORE_LANGUAGES.png.sha1
[modify] https://crrev.com/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/c7ffb3f9f9f36b843b24f7848c1a99fb73c3ece3/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/403c7270fca9f0381253e96b4c8f1f47f3d7164a

commit 403c7270fca9f0381253e96b4c8f1f47f3d7164a
Author: Katie D <katie@chromium.org>
Date: Tue Jun 12 03:05:28 2018

Adds a UMA metrics for TTS voice preview and TTS set default voices.

These metrics will record a hash of the voice picked; built-in chrome
TTS voice hashes are included in enums.xml.

Also adds an enum for the new tts settings page.

Bug:  823359 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I3b65e52c8428f5702325bec2143ac7b2ad1ab914
Reviewed-on: https://chromium-review.googlesource.com/1093260
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566289}
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/chrome/browser/resources/settings/a11y_page/tts_subpage.html
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/chrome/browser/resources/settings/a11y_page/tts_subpage.js
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/chrome/browser/resources/settings/controls/settings_dropdown_menu.js
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/chrome/test/data/webui/settings/dropdown_menu_tests.js
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/403c7270fca9f0381253e96b4c8f1f47f3d7164a/tools/metrics/histograms/histograms.xml

Comment 27 by katie@chromium.org, Jun 14 2018

Status: Fixed (was: Started)
I think this is done enough for launch in 69!

Sign in to add a comment