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

Unified Diff: components/test_runner/mock_web_user_media_client.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_web_user_media_client.cc
diff --git a/components/test_runner/mock_web_user_media_client.cc b/components/test_runner/mock_web_user_media_client.cc
index f39357a8968df6941bcd4b3b77b3ec20a0893c10..e83105fb2d5be199eac5653ac077ff02bdc5ee0f 100644
--- a/components/test_runner/mock_web_user_media_client.cc
+++ b/components/test_runner/mock_web_user_media_client.cc
@@ -6,8 +6,11 @@
#include <stddef.h>
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/logging.h"
#include "base/macros.h"
+#include "components/test_runner/web_task.h"
#include "components/test_runner/web_test_delegate.h"
#include "third_party/WebKit/public/platform/WebMediaConstraints.h"
#include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h"
@@ -35,102 +38,13 @@ using blink::WebVector;
namespace test_runner {
-class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> {
- public:
- UserMediaRequestTask(MockWebUserMediaClient* object,
- const WebUserMediaRequest& request,
- const WebMediaStream result)
- : WebMethodTask<MockWebUserMediaClient>(object),
- request_(request),
- result_(result) {
- DCHECK(!result_.isNull());
- }
-
- void RunIfValid() override { request_.requestSucceeded(result_); }
-
- private:
- WebUserMediaRequest request_;
- WebMediaStream result_;
-
- DISALLOW_COPY_AND_ASSIGN(UserMediaRequestTask);
-};
-
-class UserMediaRequestConstraintFailedTask
- : public WebMethodTask<MockWebUserMediaClient> {
- public:
- UserMediaRequestConstraintFailedTask(MockWebUserMediaClient* object,
- const WebUserMediaRequest& request,
- const WebString& constraint)
- : WebMethodTask<MockWebUserMediaClient>(object),
- request_(request),
- constraint_(constraint) {}
-
- void RunIfValid() override { request_.requestFailedConstraint(constraint_); }
-
- private:
- WebUserMediaRequest request_;
- WebString constraint_;
-
- DISALLOW_COPY_AND_ASSIGN(UserMediaRequestConstraintFailedTask);
-};
-
-class UserMediaRequestPermissionDeniedTask
- : public WebMethodTask<MockWebUserMediaClient> {
- public:
- UserMediaRequestPermissionDeniedTask(MockWebUserMediaClient* object,
- const WebUserMediaRequest& request)
- : WebMethodTask<MockWebUserMediaClient>(object),
- request_(request) {}
-
- void RunIfValid() override { request_.requestFailed(); }
-
- private:
- WebUserMediaRequest request_;
-
- DISALLOW_COPY_AND_ASSIGN(UserMediaRequestPermissionDeniedTask);
-};
-
-class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
- public:
- MediaDevicesRequestTask(MockWebUserMediaClient* object,
- const WebMediaDevicesRequest& request,
- const WebVector<WebMediaDeviceInfo>& result)
- : WebMethodTask<MockWebUserMediaClient>(object),
- request_(request),
- result_(result) {}
-
- void RunIfValid() override { request_.requestSucceeded(result_); }
-
- private:
- WebMediaDevicesRequest request_;
- WebVector<WebMediaDeviceInfo> result_;
-
- DISALLOW_COPY_AND_ASSIGN(MediaDevicesRequestTask);
-};
-
-class SourcesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
- public:
- SourcesRequestTask(MockWebUserMediaClient* object,
- const WebMediaStreamTrackSourcesRequest& request,
- const WebVector<WebSourceInfo>& result)
- : WebMethodTask<MockWebUserMediaClient>(object),
- request_(request),
- result_(result) {}
-
- void RunIfValid() override { request_.requestSucceeded(result_); }
-
- private:
- WebMediaStreamTrackSourcesRequest request_;
- WebVector<WebSourceInfo> result_;
-
- DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask);
-};
-
class MockExtraData : public WebMediaStream::ExtraData {
};
MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate)
- : delegate_(delegate) {}
+ : delegate_(delegate), weak_factory_(this) {}
+
+MockWebUserMediaClient::~MockWebUserMediaClient() {}
void MockWebUserMediaClient::requestUserMedia(
const WebUserMediaRequest& stream_request) {
@@ -138,9 +52,10 @@ void MockWebUserMediaClient::requestUserMedia(
WebUserMediaRequest request = stream_request;
if (request.ownerDocument().isNull() || !request.ownerDocument().frame()) {
- delegate_->PostTask(
- new UserMediaRequestPermissionDeniedTask(this, request));
- return;
+ delegate_->PostTask(new WebCallbackTask(base::Bind(
+ &WebUserMediaRequest::requestFailed,
+ base::Owned(new WebUserMediaRequest(request)), WebString())));
+ return;
}
WebMediaStream stream;
@@ -173,7 +88,9 @@ void MockWebUserMediaClient::requestUserMedia(
stream.addTrack(web_track);
}
- delegate_->PostTask(new UserMediaRequestTask(this, request, stream));
+ delegate_->PostTask(new WebCallbackTask(
+ base::Bind(&WebUserMediaRequest::requestSucceeded,
+ base::Owned(new WebUserMediaRequest(request)), stream)));
}
void MockWebUserMediaClient::cancelUserMediaRequest(
@@ -216,7 +133,9 @@ void MockWebUserMediaClient::requestMediaDevices(
WebString::fromUTF8(test_devices[i].group_id));
}
- delegate_->PostTask(new MediaDevicesRequestTask(this, request, devices));
+ delegate_->PostTask(new WebCallbackTask(
+ base::Bind(&WebMediaDevicesRequest::requestSucceeded,
+ base::Owned(new WebMediaDevicesRequest(request)), devices)));
}
void MockWebUserMediaClient::cancelMediaDevicesRequest(
@@ -253,7 +172,9 @@ void MockWebUserMediaClient::requestSources(
test_sources[i].facing);
}
- delegate_->PostTask(new SourcesRequestTask(this, request, sources));
+ delegate_->PostTask(new WebCallbackTask(base::Bind(
+ &WebMediaStreamTrackSourcesRequest::requestSucceeded,
+ base::Owned(new WebMediaStreamTrackSourcesRequest(request)), sources)));
}
} // namespace test_runner
« no previous file with comments | « components/test_runner/mock_web_user_media_client.h ('k') | components/test_runner/mock_webrtc_data_channel_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698