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

Unified Diff: components/test_runner/mock_webrtc_dtmf_sender_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_dtmf_sender_handler.cc
diff --git a/components/test_runner/mock_webrtc_dtmf_sender_handler.cc b/components/test_runner/mock_webrtc_dtmf_sender_handler.cc
index 4a4d33c15dbf59874c4df0a918aee935b4520303..363b6da984baf7985d89d44c5f46ca00fe863447 100644
--- a/components/test_runner/mock_webrtc_dtmf_sender_handler.cc
+++ b/components/test_runner/mock_webrtc_dtmf_sender_handler.cc
@@ -4,7 +4,10 @@
#include "components/test_runner/mock_webrtc_dtmf_sender_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/WebMediaStreamSource.h"
#include "third_party/WebKit/public/platform/WebRTCDTMFSenderHandlerClient.h"
@@ -13,29 +16,12 @@ using namespace blink;
namespace test_runner {
-class DTMFSenderToneTask : public WebMethodTask<MockWebRTCDTMFSenderHandler> {
- public:
- DTMFSenderToneTask(MockWebRTCDTMFSenderHandler* object,
- WebRTCDTMFSenderHandlerClient* client)
- : WebMethodTask<MockWebRTCDTMFSenderHandler>(object), client_(client) {}
-
- void RunIfValid() override {
- WebString tones = object_->currentToneBuffer();
- object_->ClearToneBuffer();
- client_->didPlayTone(tones);
- }
-
- private:
- WebRTCDTMFSenderHandlerClient* client_;
-};
-
-/////////////////////
-
MockWebRTCDTMFSenderHandler::MockWebRTCDTMFSenderHandler(
const WebMediaStreamTrack& track,
WebTestDelegate* delegate)
- : client_(0), track_(track), delegate_(delegate) {
-}
+ : client_(0), track_(track), delegate_(delegate), weak_factory_(this) {}
+
+MockWebRTCDTMFSenderHandler::~MockWebRTCDTMFSenderHandler() {}
void MockWebRTCDTMFSenderHandler::setClient(
WebRTCDTMFSenderHandlerClient* client) {
@@ -62,9 +48,17 @@ bool MockWebRTCDTMFSenderHandler::insertDTMF(const WebString& tones,
return false;
tone_buffer_ = tones;
- delegate_->PostTask(new DTMFSenderToneTask(this, client_));
- delegate_->PostTask(new DTMFSenderToneTask(this, client_));
+ base::Closure closure = base::Bind(&MockWebRTCDTMFSenderHandler::PlayTone,
+ weak_factory_.GetWeakPtr());
+ delegate_->PostTask(new WebCallbackTask(closure));
+ delegate_->PostTask(new WebCallbackTask(closure));
return true;
}
+void MockWebRTCDTMFSenderHandler::PlayTone() {
+ WebString tones = currentToneBuffer();
+ ClearToneBuffer();
+ client_->didPlayTone(tones);
+}
+
} // namespace test_runner
« no previous file with comments | « components/test_runner/mock_webrtc_dtmf_sender_handler.h ('k') | components/test_runner/mock_webrtc_peer_connection_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698