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.
5 #ifndef COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_DTMF_SENDER_HANDLER_H_
6 #define COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_DTMF_SENDER_HANDLER_H_
8 #include "base/basictypes.h"
9 #include "components/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"
14 namespace test_runner
{
16 class WebTestDelegate
;
18 class MockWebRTCDTMFSenderHandler
: public blink::WebRTCDTMFSenderHandler
{
20 MockWebRTCDTMFSenderHandler(const blink::WebMediaStreamTrack
& track
,
21 WebTestDelegate
* delegate
);
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
,
29 long inter_tone_gap
) override
;
31 // WebTask related methods
32 WebTaskList
* mutable_task_list() { return &task_list_
; }
34 void ClearToneBuffer() { tone_buffer_
.reset(); }
37 MockWebRTCDTMFSenderHandler();
39 blink::WebRTCDTMFSenderHandlerClient
* client_
;
40 blink::WebMediaStreamTrack track_
;
41 blink::WebString tone_buffer_
;
42 WebTaskList task_list_
;
43 WebTestDelegate
* delegate_
;
45 DISALLOW_COPY_AND_ASSIGN(MockWebRTCDTMFSenderHandler
);
48 } // namespace test_runner
50 #endif // COMPONENTS_TEST_RUNNER_MOCK_WEBRTC_DTMF_SENDER_HANDLER_H_