Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / content / shell / renderer / test_runner / mock_webrtc_data_channel_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_MOCKWEBRTCDATACHANNELHANDLER_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDATACHANNELHANDLER_H_
7
8 #include "base/basictypes.h"
9 #include "content/shell/renderer/test_runner/web_task.h"
10 #include "third_party/WebKit/public/platform/WebRTCDataChannelHandler.h"
11 #include "third_party/WebKit/public/platform/WebRTCDataChannelInit.h"
12 #include "third_party/WebKit/public/platform/WebString.h"
13
14 namespace content {
15
16 class WebTestDelegate;
17
18 class MockWebRTCDataChannelHandler : public blink::WebRTCDataChannelHandler {
19  public:
20   MockWebRTCDataChannelHandler(blink::WebString label,
21                                const blink::WebRTCDataChannelInit& init,
22                                WebTestDelegate* delegate);
23
24   // WebRTCDataChannelHandler related methods
25   virtual void setClient(
26       blink::WebRTCDataChannelHandlerClient* client) override;
27   virtual blink::WebString label() override;
28   virtual bool isReliable() override;
29   virtual bool ordered() const override;
30   virtual unsigned short maxRetransmitTime() const override;
31   virtual unsigned short maxRetransmits() const override;
32   virtual blink::WebString protocol() const override;
33   virtual bool negotiated() const override;
34   virtual unsigned short id() const override;
35   virtual unsigned long bufferedAmount() override;
36   virtual bool sendStringData(const blink::WebString& data) override;
37   virtual bool sendRawData(const char* data, size_t size) override;
38   virtual void close() override;
39
40   // WebTask related methods
41   WebTaskList* mutable_task_list() { return &task_list_; }
42
43  private:
44   MockWebRTCDataChannelHandler();
45
46   blink::WebRTCDataChannelHandlerClient* client_;
47   blink::WebString label_;
48   blink::WebRTCDataChannelInit init_;
49   bool reliable_;
50   WebTaskList task_list_;
51   WebTestDelegate* delegate_;
52
53   DISALLOW_COPY_AND_ASSIGN(MockWebRTCDataChannelHandler);
54 };
55
56 }  // namespace content
57
58 #endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCKWEBRTCDATACHANNELHANDLER_H_