diff options
| author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-15 16:08:57 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-15 16:08:57 +0200 |
| commit | 5466563f4b5b6b86523e3f89bb7f77e5b5270c78 (patch) | |
| tree | 8caccf7cd03a15207cde3ba282c88bf132482a91 /Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp | |
| parent | 33b26980cb24288b5a9f2590ccf32a949281bb79 (diff) | |
| download | qtwebkit-5466563f4b5b6b86523e3f89bb7f77e5b5270c78.tar.gz | |
Imported WebKit commit 0dc6cd75e1d4836eaffbb520be96fac4847cc9d2 (http://svn.webkit.org/repository/webkit/trunk@131300)
WebKit update which introduces the QtWebKitWidgets module that contains the WK1
widgets based API. (In fact it renames QtWebKit to QtWebKitWidgets while we're
working on completing the entire split as part of
https://bugs.webkit.org/show_bug.cgi?id=99314
Diffstat (limited to 'Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp')
| -rw-r--r-- | Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp | 57 |
1 files changed, 46 insertions, 11 deletions
diff --git a/Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp b/Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp index a373c3b30..ed13ffa58 100644 --- a/Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp +++ b/Tools/DumpRenderTree/chromium/WebUserMediaClientMock.cpp @@ -33,15 +33,41 @@ #include "WebUserMediaClientMock.h" +#include "MockConstraints.h" #include "WebDocument.h" #include "WebMediaStreamRegistry.h" #include "WebUserMediaRequest.h" -#include "platform/WebMediaStreamDescriptor.h" -#include "platform/WebMediaStreamSource.h" -#include "platform/WebVector.h" +#include <public/WebMediaConstraints.h> +#include <public/WebMediaStreamDescriptor.h> +#include <public/WebMediaStreamSource.h> +#include <public/WebVector.h> #include <wtf/Assertions.h> -namespace WebKit { +using namespace WebKit; + +class UserMediaRequestTask : public MethodTask<WebUserMediaClientMock> { +public: + UserMediaRequestTask(WebUserMediaClientMock* object, const WebUserMediaRequest& request, const WebMediaStreamDescriptor result) + : MethodTask<WebUserMediaClientMock>(object) + , m_request(request) + , m_result(result) + { + } + + virtual void runIfValid() OVERRIDE + { + if (m_result.isNull()) + m_request.requestFailed(); + else + m_request.requestSucceeded(m_result); + } + +private: + WebUserMediaRequest m_request; + WebMediaStreamDescriptor m_result; +}; + +//////////////////////////////// class MockExtraData : public WebMediaStreamDescriptor::ExtraData { public: @@ -59,7 +85,18 @@ void WebUserMediaClientMock::requestUserMedia(const WebUserMediaRequest& streamR WebUserMediaRequest request = streamRequest; if (request.ownerDocument().isNull() || !request.ownerDocument().frame()) { - request.requestFailed(); + postTask(new UserMediaRequestTask(this, request, WebMediaStreamDescriptor())); + return; + } + + WebMediaConstraints constraints = request.audioConstraints(); + if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints)) { + postTask(new UserMediaRequestTask(this, request, WebMediaStreamDescriptor())); + return; + } + constraints = request.videoConstraints(); + if (!constraints.isNull() && !MockConstraints::verifyConstraints(constraints)) { + postTask(new UserMediaRequestTask(this, request, WebMediaStreamDescriptor())); return; } @@ -74,18 +111,16 @@ void WebUserMediaClientMock::requestUserMedia(const WebUserMediaRequest& streamR if (request.video()) videoSources[0].initialize("MockVideoDevice#1", WebMediaStreamSource::TypeVideo, "Mock video device"); - WebKit::WebMediaStreamDescriptor descriptor; - descriptor.initialize("foobar", audioSources, videoSources); + WebMediaStreamDescriptor stream; + stream.initialize("foobar", audioSources, videoSources); - descriptor.setExtraData(new MockExtraData()); + stream.setExtraData(new MockExtraData()); - request.requestSucceeded(descriptor); + postTask(new UserMediaRequestTask(this, request, stream)); } void WebUserMediaClientMock::cancelUserMediaRequest(const WebUserMediaRequest&) { } -} // namespace WebKit - #endif // ENABLE(MEDIA_STREAM) |
