Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: components/test_runner/mock_webrtc_data_channel_handler.cc

Issue 1852603002: Replacing most of web_task.h with base::Closure + base::WeakPtrFactory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move-mocks-to-test-runner
Patch Set: Rebasing... Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/test_runner/mock_webrtc_data_channel_handler.h" 5 #include "components/test_runner/mock_webrtc_data_channel_handler.h"
6 6
7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
7 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "components/test_runner/web_task.h"
8 #include "components/test_runner/web_test_delegate.h" 11 #include "components/test_runner/web_test_delegate.h"
9 #include "third_party/WebKit/public/platform/WebRTCDataChannelHandlerClient.h" 12 #include "third_party/WebKit/public/platform/WebRTCDataChannelHandlerClient.h"
10 13
11 using namespace blink; 14 using namespace blink;
12 15
13 namespace test_runner { 16 namespace test_runner {
14 17
15 class DataChannelReadyStateTask
16 : public WebMethodTask<MockWebRTCDataChannelHandler> {
17 public:
18 DataChannelReadyStateTask(MockWebRTCDataChannelHandler* object,
19 WebRTCDataChannelHandlerClient* data_channel_client,
20 WebRTCDataChannelHandlerClient::ReadyState state)
21 : WebMethodTask<MockWebRTCDataChannelHandler>(object),
22 data_channel_client_(data_channel_client),
23 state_(state) {}
24
25 void RunIfValid() override {
26 data_channel_client_->didChangeReadyState(state_);
27 }
28
29 private:
30 WebRTCDataChannelHandlerClient* data_channel_client_;
31 WebRTCDataChannelHandlerClient::ReadyState state_;
32 };
33
34 /////////////////////
35
36 MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler( 18 MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler(
37 WebString label, 19 WebString label,
38 const WebRTCDataChannelInit& init, 20 const WebRTCDataChannelInit& init,
39 WebTestDelegate* delegate) 21 WebTestDelegate* delegate)
40 : client_(0), label_(label), init_(init), delegate_(delegate) { 22 : client_(0),
23 label_(label),
24 init_(init),
25 delegate_(delegate),
26 weak_factory_(this) {
41 reliable_ = (init.ordered && init.maxRetransmits == -1 && 27 reliable_ = (init.ordered && init.maxRetransmits == -1 &&
42 init.maxRetransmitTime == -1); 28 init.maxRetransmitTime == -1);
43 } 29 }
44 30
31 MockWebRTCDataChannelHandler::~MockWebRTCDataChannelHandler() {}
32
45 void MockWebRTCDataChannelHandler::setClient( 33 void MockWebRTCDataChannelHandler::setClient(
46 WebRTCDataChannelHandlerClient* client) { 34 WebRTCDataChannelHandlerClient* client) {
47 client_ = client; 35 client_ = client;
48 if (client_) 36 if (client_)
49 delegate_->PostTask(new DataChannelReadyStateTask( 37 delegate_->PostTask(new WebCallbackTask(
50 this, client_, WebRTCDataChannelHandlerClient::ReadyStateOpen)); 38 base::Bind(&MockWebRTCDataChannelHandler::ReportOpenedState,
39 weak_factory_.GetWeakPtr())));
51 } 40 }
52 41
53 blink::WebString MockWebRTCDataChannelHandler::label() { 42 blink::WebString MockWebRTCDataChannelHandler::label() {
54 return label_; 43 return label_;
55 } 44 }
56 45
57 bool MockWebRTCDataChannelHandler::isReliable() { 46 bool MockWebRTCDataChannelHandler::isReliable() {
58 return reliable_; 47 return reliable_;
59 } 48 }
60 49
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 } 87 }
99 88
100 bool MockWebRTCDataChannelHandler::sendRawData(const char* data, size_t size) { 89 bool MockWebRTCDataChannelHandler::sendRawData(const char* data, size_t size) {
101 DCHECK(client_); 90 DCHECK(client_);
102 client_->didReceiveRawData(data, size); 91 client_->didReceiveRawData(data, size);
103 return true; 92 return true;
104 } 93 }
105 94
106 void MockWebRTCDataChannelHandler::close() { 95 void MockWebRTCDataChannelHandler::close() {
107 DCHECK(client_); 96 DCHECK(client_);
108 delegate_->PostTask(new DataChannelReadyStateTask( 97 delegate_->PostTask(new WebCallbackTask(
109 this, client_, WebRTCDataChannelHandlerClient::ReadyStateClosed)); 98 base::Bind(&MockWebRTCDataChannelHandler::ReportClosedState,
99 weak_factory_.GetWeakPtr())));
100 }
101
102 void MockWebRTCDataChannelHandler::ReportOpenedState() {
103 client_->didChangeReadyState(WebRTCDataChannelHandlerClient::ReadyStateOpen);
104 }
105
106 void MockWebRTCDataChannelHandler::ReportClosedState() {
107 client_->didChangeReadyState(
108 WebRTCDataChannelHandlerClient::ReadyStateClosed);
110 } 109 }
111 110
112 } // namespace test_runner 111 } // namespace test_runner
OLDNEW
« no previous file with comments | « components/test_runner/mock_webrtc_data_channel_handler.h ('k') | components/test_runner/mock_webrtc_dtmf_sender_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698