SpeechRecognitionPrivate: Communicate the type of recognition to clients

This change plumbs the type of speech recognition used by
speechRecognitionPrivate to its clients by passing it through the
callback used when calling start(). Tests have been added at each layer
to confirm correct behavior.

The downstream change uses this information in Dictation to record
various metrics.

AX-Relnotes: N/A
Fixed: 1268591
Change-Id: Id64124d92ae570ae8ac9f1d9406952b5b7447b6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3271772
Commit-Queue: Akihiro Ota <[email protected]>
Reviewed-by: Katie Dektar <[email protected]>
Reviewed-by: Evan Liu <[email protected]>
Reviewed-by: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/main@{#941494}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 6c09953..56b6302 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4814,6 +4814,8 @@
       "speech/network_speech_recognizer.h",
       "speech/on_device_speech_recognizer.cc",
       "speech/on_device_speech_recognizer.h",
+      "speech/speech_recognition_constants.cc",
+      "speech/speech_recognition_constants.h",
       "speech/speech_recognizer.cc",
       "speech/speech_recognizer.h",
       "speech/speech_recognizer_delegate.h",
@@ -7543,12 +7545,9 @@
       "sessions/tab_restore_service_load_waiter.h",
       "speech/fake_speech_recognition_service.cc",
       "speech/fake_speech_recognition_service.h",
-      "speech/speech_recognition_test_helper.cc",
-      "speech/speech_recognition_test_helper.h",
       "ui/tabs/tab_activity_simulator.cc",
       "ui/tabs/tab_activity_simulator.h",
     ]
-    deps += [ "//components/soda" ]
   }
 
   if (is_chromeos_ash) {
@@ -7597,6 +7596,8 @@
       "ash/policy/external_data/cloud_external_data_manager_base_test_util.h",
       "sharesheet/sharesheet_test_util.cc",
       "sharesheet/sharesheet_test_util.h",
+      "speech/speech_recognition_test_helper.cc",
+      "speech/speech_recognition_test_helper.h",
       "ui/app_list/test/chrome_app_list_test_support.cc",
       "ui/app_list/test/chrome_app_list_test_support.h",
       "ui/app_list/test/test_app_list_controller.cc",
@@ -7615,6 +7616,7 @@
       "//chromeos/disks",
       "//chromeos/login/auth",
       "//components/session_manager/core",
+      "//components/soda",
       "//components/webapk:proto",
       "//extensions/browser/api/messaging",
       "//ui/base:test_support",