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