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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: components/test_runner/mock_webrtc_data_channel_handler.cc
diff --git a/components/test_runner/mock_webrtc_data_channel_handler.cc b/components/test_runner/mock_webrtc_data_channel_handler.cc
index c4419c26cfd3a667f3bb58c1d2182ba1452bb379..797651f4d26faa6133d22afd1259392a1f624ed2 100644
--- a/components/test_runner/mock_webrtc_data_channel_handler.cc
+++ b/components/test_runner/mock_webrtc_data_channel_handler.cc
@@ -4,7 +4,10 @@
#include "components/test_runner/mock_webrtc_data_channel_handler.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/logging.h"
+#include "components/test_runner/web_task.h"
#include "components/test_runner/web_test_delegate.h"
#include "third_party/WebKit/public/platform/WebRTCDataChannelHandlerClient.h"
@@ -12,42 +15,28 @@ using namespace blink;
namespace test_runner {
-class DataChannelReadyStateTask
- : public WebMethodTask<MockWebRTCDataChannelHandler> {
- public:
- DataChannelReadyStateTask(MockWebRTCDataChannelHandler* object,
- WebRTCDataChannelHandlerClient* data_channel_client,
- WebRTCDataChannelHandlerClient::ReadyState state)
- : WebMethodTask<MockWebRTCDataChannelHandler>(object),
- data_channel_client_(data_channel_client),
- state_(state) {}
-
- void RunIfValid() override {
- data_channel_client_->didChangeReadyState(state_);
- }
-
- private:
- WebRTCDataChannelHandlerClient* data_channel_client_;
- WebRTCDataChannelHandlerClient::ReadyState state_;
-};
-
-/////////////////////
-
MockWebRTCDataChannelHandler::MockWebRTCDataChannelHandler(
WebString label,
const WebRTCDataChannelInit& init,
WebTestDelegate* delegate)
- : client_(0), label_(label), init_(init), delegate_(delegate) {
+ : client_(0),
+ label_(label),
+ init_(init),
+ delegate_(delegate),
+ weak_factory_(this) {
reliable_ = (init.ordered && init.maxRetransmits == -1 &&
init.maxRetransmitTime == -1);
}
+MockWebRTCDataChannelHandler::~MockWebRTCDataChannelHandler() {}
+
void MockWebRTCDataChannelHandler::setClient(
WebRTCDataChannelHandlerClient* client) {
client_ = client;
if (client_)
- delegate_->PostTask(new DataChannelReadyStateTask(
- this, client_, WebRTCDataChannelHandlerClient::ReadyStateOpen));
+ delegate_->PostTask(new WebCallbackTask(
+ base::Bind(&MockWebRTCDataChannelHandler::ReportOpenedState,
+ weak_factory_.GetWeakPtr())));
}
blink::WebString MockWebRTCDataChannelHandler::label() {
@@ -105,8 +94,18 @@ bool MockWebRTCDataChannelHandler::sendRawData(const char* data, size_t size) {
void MockWebRTCDataChannelHandler::close() {
DCHECK(client_);
- delegate_->PostTask(new DataChannelReadyStateTask(
- this, client_, WebRTCDataChannelHandlerClient::ReadyStateClosed));
+ delegate_->PostTask(new WebCallbackTask(
+ base::Bind(&MockWebRTCDataChannelHandler::ReportClosedState,
+ weak_factory_.GetWeakPtr())));
+}
+
+void MockWebRTCDataChannelHandler::ReportOpenedState() {
+ client_->didChangeReadyState(WebRTCDataChannelHandlerClient::ReadyStateOpen);
+}
+
+void MockWebRTCDataChannelHandler::ReportClosedState() {
+ client_->didChangeReadyState(
+ WebRTCDataChannelHandlerClient::ReadyStateClosed);
}
} // namespace test_runner
« 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