diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart index d35c07d3b52..1a2debac04f 100644 --- a/sdk/lib/html/dart2js/html_dart2js.dart +++ b/sdk/lib/html/dart2js/html_dart2js.dart @@ -28544,7 +28544,7 @@ class SpeechGrammarList extends JavaScriptObject // BSD-style license that can be found in the LICENSE file. @SupportedBrowser(SupportedBrowser.CHROME, '25') -@Native("SpeechRecognition") +@Native("SpeechRecognition,webkitSpeechRecognition") class SpeechRecognition extends EventTarget { // To suppress missing implicit constructor warnings. factory SpeechRecognition._() { diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py index 6ac22ce9283..ad3761eae19 100644 --- a/tools/dom/scripts/generator.py +++ b/tools/dom/scripts/generator.py @@ -342,6 +342,8 @@ _dart2js_dom_custom_native_specs = monitored.Dict( 'RTCDataChannel,DataChannel', 'ScriptProcessorNode': 'ScriptProcessorNode,JavaScriptAudioNode', + 'SpeechRecognition': + 'SpeechRecognition,webkitSpeechRecognition', 'TransitionEvent': 'TransitionEvent,WebKitTransitionEvent', 'CSSKeyframeRule': diff --git a/tools/dom/web_library_bindings.dart b/tools/dom/web_library_bindings.dart index f41e7241c8c..a733d1a5503 100644 --- a/tools/dom/web_library_bindings.dart +++ b/tools/dom/web_library_bindings.dart @@ -5062,6 +5062,17 @@ final Map>> nativeTypeToDartMembers = { 'removeStream': {'removeStream'}, 'removeTrack': {'removeTrack'}, 'signalingState': {'signalingState'} + }, + 'webkitSpeechRecognition': { + 'abort': {'abort'}, + 'audioTrack': {'audioTrack'}, + 'continuous': {'continuous'}, + 'grammars': {'grammars'}, + 'interimResults': {'interimResults'}, + 'lang': {'lang'}, + 'maxAlternatives': {'maxAlternatives'}, + 'start': {'start'}, + 'stop': {'stop'} } }; @@ -9755,7 +9766,7 @@ final Map> dartTypeToNativeTypes = { 'SpanElement': {'HTMLSpanElement'}, 'SpeechGrammar': {'SpeechGrammar'}, 'SpeechGrammarList': {'SpeechGrammarList'}, - 'SpeechRecognition': {'SpeechRecognition'}, + 'SpeechRecognition': {'SpeechRecognition', 'webkitSpeechRecognition'}, 'SpeechRecognitionAlternative': {'SpeechRecognitionAlternative'}, 'SpeechRecognitionError': {'SpeechRecognitionError'}, 'SpeechRecognitionEvent': {'SpeechRecognitionEvent'},