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

Unified Diff: Source/testing/runner/WebUserMediaClientMock.cpp

Issue 23444052: MediaStream API: Updating NavigatorUserMediaError (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added a test Created 7 years, 3 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
« no previous file with comments | « Source/testing/runner/MockConstraints.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/testing/runner/WebUserMediaClientMock.cpp
diff --git a/Source/testing/runner/WebUserMediaClientMock.cpp b/Source/testing/runner/WebUserMediaClientMock.cpp
index 719118ef4400d054fea5fb1887aaeef0276be8b5..2ff413e5a71c1381b68dfd1d5873e47ad790b114 100644
--- a/Source/testing/runner/WebUserMediaClientMock.cpp
+++ b/Source/testing/runner/WebUserMediaClientMock.cpp
@@ -52,14 +52,12 @@ public:
, m_request(request)
, m_result(result)
{
+ WEBKIT_ASSERT(!m_result.isNull());
}
virtual void runIfValid() OVERRIDE
{
- if (m_result.isNull())
- m_request.requestFailed();
- else
- m_request.requestSucceeded(m_result);
+ m_request.requestSucceeded(m_result);
}
private:
@@ -67,6 +65,42 @@ private:
WebMediaStream m_result;
};
+class UserMediaRequestConstraintFailedTask : public WebMethodTask<WebUserMediaClientMock> {
+public:
+ UserMediaRequestConstraintFailedTask(WebUserMediaClientMock* object, const WebUserMediaRequest& request, const WebString& constraint)
+ : WebMethodTask<WebUserMediaClientMock>(object)
+ , m_request(request)
+ , m_constraint(constraint)
+ {
+ }
+
+ virtual void runIfValid() OVERRIDE
+ {
+ m_request.requestFailedConstraint(m_constraint);
+ }
+
+private:
+ WebUserMediaRequest m_request;
+ WebString m_constraint;
+};
+
+class UserMediaRequestPermissionDeniedTask : public WebMethodTask<WebUserMediaClientMock> {
+public:
+ UserMediaRequestPermissionDeniedTask(WebUserMediaClientMock* object, const WebUserMediaRequest& request)
+ : WebMethodTask<WebUserMediaClientMock>(object)
+ , m_request(request)
+ {
+ }
+
+ virtual void runIfValid() OVERRIDE
+ {
+ m_request.requestFailed();
+ }
+
+private:
+ WebUserMediaRequest m_request;
+};
+
////////////////////////////////
class MockExtraData : public WebMediaStream::ExtraData {
@@ -85,18 +119,19 @@ void WebUserMediaClientMock::requestUserMedia(const WebUserMediaRequest& streamR
WebUserMediaRequest request = streamRequest;
if (request.ownerDocument().isNull() || !request.ownerDocument().frame()) {
- m_delegate->postTask(new UserMediaRequestTask(this, request, WebMediaStream()));
+ m_delegate->postTask(new UserMediaRequestPermissionDeniedTask(this, request));
return;
}
WebMediaConstraints constraints = request.audioConstraints();
- if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints)) {
- m_delegate->postTask(new UserMediaRequestTask(this, request, WebMediaStream()));
+ WebString failedConstraint;
+ if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints, &failedConstraint)) {
+ m_delegate->postTask(new UserMediaRequestConstraintFailedTask(this, request, failedConstraint));
return;
}
constraints = request.videoConstraints();
- if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints)) {
- m_delegate->postTask(new UserMediaRequestTask(this, request, WebMediaStream()));
+ if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints, &failedConstraint)) {
+ m_delegate->postTask(new UserMediaRequestConstraintFailedTask(this, request, failedConstraint));
return;
}
« no previous file with comments | « Source/testing/runner/MockConstraints.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698