1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_SHELL_BROWSER_SHELL_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
6#define CONTENT_SHELL_BROWSER_SHELL_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
7
8#include "base/bind.h"
9#include "base/compiler_specific.h"
10#include "content/public/browser/speech_recognition_event_listener.h"
11#include "content/public/browser/speech_recognition_manager_delegate.h"
12
13namespace content {
14
15// This is content_shell's delegate used by the speech recognition manager to
16// check for permission to record audio. For content_shell, we always authorize
17// speech recognition (see crbug.com/237119).
18class ShellSpeechRecognitionManagerDelegate
19    : public SpeechRecognitionManagerDelegate {
20 public:
21  ShellSpeechRecognitionManagerDelegate() {}
22  virtual ~ShellSpeechRecognitionManagerDelegate() {}
23
24  // SpeechRecognitionManagerDelegate methods.
25  virtual void GetDiagnosticInformation(
26      bool* can_report_metrics, std::string* hardware_info) OVERRIDE {}
27  virtual void CheckRecognitionIsAllowed(int session_id,
28      base::Callback<void(bool ask_user, bool is_allowed)> callback) OVERRIDE;
29  virtual SpeechRecognitionEventListener* GetEventListener() OVERRIDE;
30  virtual bool FilterProfanities(int render_process_id) OVERRIDE;
31
32 private:
33  DISALLOW_COPY_AND_ASSIGN(ShellSpeechRecognitionManagerDelegate);
34};
35
36}  // namespace content
37
38#endif  // CONTENT_SHELL_BROWSER_SHELL_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
39