Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / shell / renderer / test_runner / mock_webrtc_dtmf_sender_handler.h
1 // Copyright 2014 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_RENDERER_TEST_RUNNER_MOCKWEBRTCDTMFSENDERHANDLER_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDTMFSENDERHANDLER_H_
7
8 #include "base/basictypes.h"
9 #include "content/shell/renderer/test_runner/web_task.h"
10 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
11 #include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandler.h"
12 #include "third_party/WebKit/public/platform/WebString.h"
13
14 namespace content {
15
16 class WebTestDelegate;
17
18 class MockWebRTCDTMFSenderHandler : public blink::WebRTCDTMFSenderHandler {
19  public:
20   MockWebRTCDTMFSenderHandler(const blink::WebMediaStreamTrack& track,
21                               WebTestDelegate* delegate);
22
23   // WebRTCDTMFSenderHandler related methods
24   virtual void setClient(blink::WebRTCDTMFSenderHandlerClient* client) override;
25   virtual blink::WebString currentToneBuffer() override;
26   virtual bool canInsertDTMF() override;
27   virtual bool insertDTMF(const blink::WebString& tones,
28                           long duration,
29                           long inter_tone_gap) override;
30
31   // WebTask related methods
32   WebTaskList* mutable_task_list() { return &task_list_; }
33
34   void ClearToneBuffer() { tone_buffer_.reset(); }
35
36  private:
37   MockWebRTCDTMFSenderHandler();
38
39   blink::WebRTCDTMFSenderHandlerClient* client_;
40   blink::WebMediaStreamTrack track_;
41   blink::WebString tone_buffer_;
42   WebTaskList task_list_;
43   WebTestDelegate* delegate_;
44
45   DISALLOW_COPY_AND_ASSIGN(MockWebRTCDTMFSenderHandler);
46 };
47
48 }  // namespace content
49
50 #endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDTMFSENDERHANDLER_H_