Commit a21a6dfa authored by grunell@chromium.org's avatar grunell@chromium.org

Interface for requestSources through UserMediaController/Client.

This allows MediaStreamTrack::getSources to go through UserMediaClient.

To land after this:
Chrome CL part 1: https://codereview.chromium.org/562643003/
Blink CL part 2: https://codereview.chromium.org/559423002
Chrome CL part 2 (TBD)

BUG=406094

Review URL: https://codereview.chromium.org/560843002

git-svn-id: svn://svn.chromium.org/blink/trunk@181822 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 253d1db5
......@@ -33,6 +33,7 @@
#include "modules/mediastream/MediaDevicesRequest.h"
#include "modules/mediastream/UserMediaRequest.h"
#include "platform/mediastream/MediaStreamTrackSourcesRequest.h"
namespace blink {
......@@ -44,6 +45,7 @@ public:
virtual void cancelUserMediaRequest(UserMediaRequest*) = 0;
virtual void requestMediaDevices(MediaDevicesRequest*) = 0;
virtual void cancelMediaDevicesRequest(MediaDevicesRequest*) = 0;
virtual void requestSources(MediaStreamTrackSourcesRequest*) = 0;
protected:
virtual ~UserMediaClient() { }
......
......@@ -47,6 +47,8 @@ public:
void requestMediaDevices(MediaDevicesRequest*);
void cancelMediaDevicesRequest(MediaDevicesRequest*);
void requestSources(MediaStreamTrackSourcesRequest*);
static PassOwnPtrWillBeRawPtr<UserMediaController> create(UserMediaClient*);
static const char* supplementName();
static UserMediaController* from(LocalFrame* frame) { return static_cast<UserMediaController*>(WillBeHeapSupplement<LocalFrame>::from(frame, supplementName())); }
......@@ -80,6 +82,11 @@ inline void UserMediaController::cancelMediaDevicesRequest(MediaDevicesRequest*
m_client->cancelMediaDevicesRequest(request);
}
inline void UserMediaController::requestSources(MediaStreamTrackSourcesRequest* request)
{
m_client->requestSources(request);
}
} // namespace blink
#endif // UserMediaController_h
......@@ -31,6 +31,7 @@
#include "config.h"
#include "web/UserMediaClientImpl.h"
#include "public/platform/WebMediaStreamTrackSourcesRequest.h"
#include "public/web/WebFrameClient.h"
#include "public/web/WebMediaDevicesRequest.h"
#include "public/web/WebUserMediaClient.h"
......@@ -69,4 +70,10 @@ void UserMediaClientImpl::cancelMediaDevicesRequest(MediaDevicesRequest* request
m_client->cancelMediaDevicesRequest(WebMediaDevicesRequest(request));
}
void UserMediaClientImpl::requestSources(MediaStreamTrackSourcesRequest* request)
{
if (m_client)
m_client->requestSources(request);
}
} // namespace blink
......@@ -50,6 +50,7 @@ public:
virtual void cancelUserMediaRequest(UserMediaRequest*) OVERRIDE;
virtual void requestMediaDevices(MediaDevicesRequest*) OVERRIDE;
virtual void cancelMediaDevicesRequest(MediaDevicesRequest*) OVERRIDE;
virtual void requestSources(MediaStreamTrackSourcesRequest*) OVERRIDE;
private:
UserMediaClientImpl();
......
......@@ -34,6 +34,7 @@
namespace blink {
class WebMediaDevicesRequest;
class WebMediaStreamTrackSourcesRequest;
class WebUserMediaRequest;
template <typename T> class WebVector;
......@@ -45,6 +46,7 @@ public:
virtual void cancelUserMediaRequest(const WebUserMediaRequest&) = 0;
virtual void requestMediaDevices(const WebMediaDevicesRequest&) = 0;
virtual void cancelMediaDevicesRequest(const WebMediaDevicesRequest&) = 0;
virtual void requestSources(const WebMediaStreamTrackSourcesRequest&) { };
};
} // namespace blink
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment