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

Issue 27034009: Implement Google network speech synthesis (Closed)

Created:
7 years, 2 months ago by dmazzoni
Modified:
7 years, 1 month ago
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, arv+watch_chromium.org, extensions-reviews_chromium.org
Visibility:
Public.

Description

Implement Google network speech synthesis. See bug for context. Implements a component extension that provides speech synthesis using Google's speech synthesis API. Adds a "remote" flag to the TTS and TTS Engine APIs so that it's possible for clients to distinguish between local and remote speech engines. Adds a new private extension API to expose Google's API key, needed to make the request. BUG=308250 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232242 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232412

Patch Set 1 #

Patch Set 2 : Use system api key #

Patch Set 3 : Add remote flag, clean up #

Total comments: 2

Patch Set 4 : Fix getApiKey description #

Total comments: 4

Patch Set 5 : Change client name, truncate utterance length #

Patch Set 6 : Change client name, truncate utterance length #

Total comments: 32

Patch Set 7 : Add test and add more jsdoc #

Patch Set 8 : Upload again #

Patch Set 9 : Support voice names #

Patch Set 10 : Multiple voices with the same language #

Total comments: 10

Patch Set 11 : Address feedback #

Patch Set 12 : Rebase #

Patch Set 13 : Fix uninitialized value caught by test #

Patch Set 14 : Mark new voices as remote #

Patch Set 15 : Rebase #

Patch Set 16 : Load extension in non-official build when testing #

Patch Set 17 : Rebase #

Patch Set 18 : Revert change to register_engine for now, rebase for relanding #

Unified diffs Side-by-side diffs Delta from patch set Stats (+498 lines, -47 lines) Patch
M chrome/browser/browser_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/api/system_private/system_private_api.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +12 lines, -0 lines 0 comments Download
M chrome/browser/extensions/api/system_private/system_private_api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/extensions/component_loader.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/browser/extensions/component_loader.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_function_histogram_value.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/resources/component_extension_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -0 lines 0 comments Download
A chrome/browser/resources/network_speech_synthesis/manifest.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +90 lines, -0 lines 0 comments Download
A chrome/browser/resources/network_speech_synthesis/tts_extension.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +251 lines, -0 lines 0 comments Download
M chrome/browser/speech/extension_api/tts_engine_extension_api.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/speech/extension_api/tts_extension_api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/speech/extension_api/tts_extension_api_constants.h View 1 2 3 4 5 6 7 8 9 1 chunk +22 lines, -21 lines 0 comments Download
M chrome/browser/speech/extension_api/tts_extension_api_constants.cc View 1 2 3 4 5 6 1 chunk +23 lines, -22 lines 0 comments Download
M chrome/browser/speech/extension_api/tts_extension_apitest.cc View 1 2 3 4 5 6 3 chunks +14 lines, -0 lines 0 comments Download
M chrome/browser/speech/tts_controller.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/speech/tts_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +1 line, -1 line 0 comments Download
M chrome/browser/speech/tts_message_filter.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/extensions/api/speech/tts_engine_manifest_handler.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/extensions/api/speech/tts_engine_manifest_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -1 line 0 comments Download
M chrome/common/extensions/api/system_private.json View 1 2 3 1 chunk +18 lines, -0 lines 0 comments Download
chrome/common/extensions/api/tts.json View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/api_test/tts_engine/network_speech_engine/manifest.json View 1 2 3 4 5 6 7 8 9 10 11 12 14 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/extensions/api_test/tts_engine/network_speech_engine/test.js View 1 2 3 4 5 6 1 chunk +17 lines, -0 lines 0 comments Download
M extensions/common/manifest_constants.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +2 lines, -0 lines 0 comments Download
M extensions/common/manifest_constants.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 34 (0 generated)
dmazzoni
dtseng: please review all gshires: review use of Google's network speech API jhawkins: OWNERS review ...
7 years, 2 months ago (2013-10-16 21:33:33 UTC) #1
not at google - send to devlin
lgtm, pretty simple extension changes. the systemPrivate API changes, as an API, are pretty uncontroversial ...
7 years, 2 months ago (2013-10-16 21:41:51 UTC) #2
not at google - send to devlin
Oh, some more questions. - what is the user of tts expected to do if ...
7 years, 2 months ago (2013-10-16 21:44:04 UTC) #3
dmazzoni
> the systemPrivate API changes, as an API, are pretty uncontroversial so long as > ...
7 years, 2 months ago (2013-10-16 22:19:58 UTC) #4
dmazzoni
https://codereview.chromium.org/27034009/diff/6001/chrome/common/extensions/api/system_private.json File chrome/common/extensions/api/system_private.json (right): https://codereview.chromium.org/27034009/diff/6001/chrome/common/extensions/api/system_private.json#newcode93 chrome/common/extensions/api/system_private.json:93: "description": "Get API key to use for requests to ...
7 years, 2 months ago (2013-10-16 22:20:06 UTC) #5
not at google - send to devlin
On 2013/10/16 22:19:58, Dominic Mazzoni wrote: > > the systemPrivate API changes, as an API, ...
7 years, 2 months ago (2013-10-16 22:23:56 UTC) #6
dmazzoni
On Wed, Oct 16, 2013 at 3:23 PM, <kalman@chromium.org> wrote: > There might be a ...
7 years, 2 months ago (2013-10-16 22:48:03 UTC) #7
gshires1
https://codereview.chromium.org/27034009/diff/14001/chrome/browser/resources/network_speech_synthesis/tts_extension.js File chrome/browser/resources/network_speech_synthesis/tts_extension.js (right): https://codereview.chromium.org/27034009/diff/14001/chrome/browser/resources/network_speech_synthesis/tts_extension.js#newcode27 chrome/browser/resources/network_speech_synthesis/tts_extension.js:27: 'https://www.google.com/speech-api/v2/synthesize?enc=mpeg&client=chrome', ASR uses client=chromium (Unless there's other reasoning or ...
7 years, 2 months ago (2013-10-17 00:34:50 UTC) #8
dmazzoni
https://codereview.chromium.org/27034009/diff/14001/chrome/browser/resources/network_speech_synthesis/tts_extension.js File chrome/browser/resources/network_speech_synthesis/tts_extension.js (right): https://codereview.chromium.org/27034009/diff/14001/chrome/browser/resources/network_speech_synthesis/tts_extension.js#newcode27 chrome/browser/resources/network_speech_synthesis/tts_extension.js:27: 'https://www.google.com/speech-api/v2/synthesize?enc=mpeg&client=chrome', On 2013/10/17 00:34:50, gshires1 wrote: > ASR uses ...
7 years, 2 months ago (2013-10-17 17:14:00 UTC) #9
David Tseng
https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc File chrome/browser/extensions/component_loader.cc (right): https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc#newcode515 chrome/browser/extensions/component_loader.cc:515: std::string network_speech_synthesis_id = Add( I'd love to see some ...
7 years, 2 months ago (2013-10-17 20:43:49 UTC) #10
David Tseng
https://codereview.chromium.org/27034009/diff/22001/chrome/browser/resources/network_speech_synthesis/tts_extension.js File chrome/browser/resources/network_speech_synthesis/tts_extension.js (right): https://codereview.chromium.org/27034009/diff/22001/chrome/browser/resources/network_speech_synthesis/tts_extension.js#newcode25 chrome/browser/resources/network_speech_synthesis/tts_extension.js:25: TtsExtension.prototype = { I personally don't mind this style ...
7 years, 2 months ago (2013-10-17 20:56:29 UTC) #11
dmazzoni
https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc File chrome/browser/extensions/component_loader.cc (right): https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc#newcode515 chrome/browser/extensions/component_loader.cc:515: std::string network_speech_synthesis_id = Add( On 2013/10/17 20:43:49, David Tseng ...
7 years, 2 months ago (2013-10-18 16:23:18 UTC) #12
David Tseng
On Fri, Oct 18, 2013 at 9:23 AM, <dmazzoni@chromium.org> wrote: https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc File chrome/browser/extensions/component_loader.cc (right): https://codereview.chromium.org/27034009/diff/22001/chrome/browser/extensions/component_loader.cc#newcode515 ...
7 years, 2 months ago (2013-10-18 16:37:35 UTC) #13
dmazzoni at google
OK, multiple voices for the same language with different genders are now supported, and the ...
7 years, 2 months ago (2013-10-18 22:07:26 UTC) #14
dmazzoni
estade: could you do an OWNERS review for chrome/browser/resources? dtseng: another look?
7 years, 2 months ago (2013-10-21 21:03:07 UTC) #15
dtseng
LGTM Leaving JS style up to chrome/browser/resources OWNERS. On Fri, Oct 18, 2013 at 3:07 ...
7 years, 2 months ago (2013-10-22 20:45:38 UTC) #16
Evan Stade
https://codereview.chromium.org/27034009/diff/128001/chrome/browser/resources/network_speech_synthesis/tts_extension.js File chrome/browser/resources/network_speech_synthesis/tts_extension.js (right): https://codereview.chromium.org/27034009/diff/128001/chrome/browser/resources/network_speech_synthesis/tts_extension.js#newcode8 chrome/browser/resources/network_speech_synthesis/tts_extension.js:8: * powered by Google's speech synthesis API. I don't ...
7 years, 2 months ago (2013-10-22 22:32:13 UTC) #17
Evan Stade
(and lgtm)
7 years, 2 months ago (2013-10-22 22:32:23 UTC) #18
dmazzoni
+thakis for chrome/browser/browser_resources.grd
7 years, 2 months ago (2013-10-22 22:41:02 UTC) #19
dmazzoni
https://codereview.chromium.org/27034009/diff/128001/chrome/browser/resources/network_speech_synthesis/tts_extension.js File chrome/browser/resources/network_speech_synthesis/tts_extension.js (right): https://codereview.chromium.org/27034009/diff/128001/chrome/browser/resources/network_speech_synthesis/tts_extension.js#newcode8 chrome/browser/resources/network_speech_synthesis/tts_extension.js:8: * powered by Google's speech synthesis API. On 2013/10/22 ...
7 years, 2 months ago (2013-10-22 22:45:29 UTC) #20
Nico
grd change lgtm
7 years, 2 months ago (2013-10-22 22:54:18 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/308001
7 years, 2 months ago (2013-10-23 17:32:27 UTC) #22
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 2 months ago (2013-10-23 18:09:49 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/308001
7 years, 2 months ago (2013-10-23 18:20:25 UTC) #24
commit-bot: I haz the power
Retried try job too often on mac_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_rel&number=180469
7 years, 2 months ago (2013-10-23 21:48:31 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/648001
7 years, 1 month ago (2013-10-25 23:07:15 UTC) #26
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=181550
7 years, 1 month ago (2013-10-26 01:54:07 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/1058001
7 years, 1 month ago (2013-10-31 20:45:34 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/1058001
7 years, 1 month ago (2013-10-31 23:10:55 UTC) #29
commit-bot: I haz the power
Change committed as 232242
7 years, 1 month ago (2013-11-01 00:10:34 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/1218001
7 years, 1 month ago (2013-11-01 05:33:06 UTC) #31
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=217288
7 years, 1 month ago (2013-11-01 09:13:14 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/27034009/1218001
7 years, 1 month ago (2013-11-01 15:03:56 UTC) #33
commit-bot: I haz the power
7 years, 1 month ago (2013-11-01 16:45:00 UTC) #34
Message was sent while issue was closed.
Change committed as 232412

Powered by Google App Engine
This is Rietveld 408576698