| Index: Source/web/WebMediaDevicesRequest.cpp
|
| diff --git a/Source/platform/exported/WebMediaStreamTrackSourcesRequest.cpp b/Source/web/WebMediaDevicesRequest.cpp
|
| similarity index 47%
|
| copy from Source/platform/exported/WebMediaStreamTrackSourcesRequest.cpp
|
| copy to Source/web/WebMediaDevicesRequest.cpp
|
| index 400dbf1e05b6b001b7e8ba0a8eacecc5488bdcb3..df72d859da86e2605b77faa8dfb382307ba70c86 100644
|
| --- a/Source/platform/exported/WebMediaStreamTrackSourcesRequest.cpp
|
| +++ b/Source/web/WebMediaDevicesRequest.cpp
|
| @@ -1,5 +1,5 @@
|
| /*
|
| - * Copyright (C) 2013 Google Inc. All rights reserved.
|
| + * Copyright (C) 2014 Google Inc. All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions
|
| @@ -25,69 +25,75 @@
|
|
|
| #include "config.h"
|
|
|
| -#include "public/platform/WebMediaStreamTrackSourcesRequest.h"
|
| +#include "WebMediaDevicesRequest.h"
|
|
|
| -#include "platform/mediastream/MediaStreamTrackSourcesRequest.h"
|
| -#include "public/platform/WebSourceInfo.h"
|
| -#include "wtf/PassOwnPtr.h"
|
| +#include "WebDocument.h"
|
| +#include "WebSecurityOrigin.h"
|
| +#include "core/dom/Document.h"
|
| +#include "modules/mediastream/MediaDevicesRequest.h"
|
| +#include "platform/weborigin/SecurityOrigin.h"
|
| +#include "public/platform/WebMediaDeviceInfo.h"
|
| +#include "public/platform/WebString.h"
|
| +#include "public/platform/WebVector.h"
|
| +#include "wtf/Vector.h"
|
|
|
| using namespace WebCore;
|
|
|
| namespace blink {
|
|
|
| -namespace {
|
| -
|
| -class ExtraDataContainer : public MediaStreamTrackSourcesRequest::ExtraData {
|
| -public:
|
| - ExtraDataContainer(PassOwnPtr<WebMediaStreamTrackSourcesRequest::ExtraData> extraData) : m_extraData(extraData) { }
|
| -
|
| - WebMediaStreamTrackSourcesRequest::ExtraData* extraData() { return m_extraData.get(); }
|
| -
|
| -private:
|
| - OwnPtr<WebMediaStreamTrackSourcesRequest::ExtraData> m_extraData;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -WebMediaStreamTrackSourcesRequest::WebMediaStreamTrackSourcesRequest(const PassRefPtr<MediaStreamTrackSourcesRequest>& request)
|
| +WebMediaDevicesRequest::WebMediaDevicesRequest(const PassRefPtr<MediaDevicesRequest>& request)
|
| : m_private(request)
|
| {
|
| }
|
|
|
| -void WebMediaStreamTrackSourcesRequest::assign(const WebMediaStreamTrackSourcesRequest& other)
|
| +WebMediaDevicesRequest::WebMediaDevicesRequest(MediaDevicesRequest* request)
|
| + : m_private(request)
|
| {
|
| - m_private = other.m_private;
|
| }
|
|
|
| -void WebMediaStreamTrackSourcesRequest::reset()
|
| +void WebMediaDevicesRequest::reset()
|
| {
|
| m_private.reset();
|
| }
|
|
|
| -WebString WebMediaStreamTrackSourcesRequest::origin() const
|
| +WebSecurityOrigin WebMediaDevicesRequest::securityOrigin() const
|
| {
|
| - ASSERT(m_private.get());
|
| - return m_private->origin();
|
| + ASSERT(!isNull() && m_private->executionContext());
|
| + return WebSecurityOrigin(m_private->executionContext()->securityOrigin());
|
| }
|
|
|
| -void WebMediaStreamTrackSourcesRequest::requestSucceeded(const WebVector<WebSourceInfo>& sourceInfos) const
|
| +WebDocument WebMediaDevicesRequest::ownerDocument() const
|
| {
|
| - ASSERT(m_private.get());
|
| - m_private->requestSucceeded(sourceInfos);
|
| + ASSERT(!isNull());
|
| + return WebDocument(m_private->ownerDocument());
|
| }
|
|
|
| -WebMediaStreamTrackSourcesRequest::ExtraData* WebMediaStreamTrackSourcesRequest::extraData() const
|
| +void WebMediaDevicesRequest::requestSucceeded(WebVector<WebMediaDeviceInfo> webDevices)
|
| {
|
| - MediaStreamTrackSourcesRequest::ExtraData* data = m_private->extraData();
|
| - if (!data)
|
| - return 0;
|
| - return static_cast<ExtraDataContainer*>(data)->extraData();
|
| + ASSERT(!isNull());
|
| +
|
| + MediaDeviceInfoVector devices(webDevices.size());
|
| + for (size_t i = 0; i < webDevices.size(); ++i)
|
| + devices[i] = MediaDeviceInfo::create(webDevices[i]);
|
| +
|
| + m_private->succeed(devices);
|
| }
|
|
|
| -void WebMediaStreamTrackSourcesRequest::setExtraData(ExtraData* extraData)
|
| +bool WebMediaDevicesRequest::equals(const WebMediaDevicesRequest& other) const
|
| {
|
| - m_private->setExtraData(adoptPtr(new ExtraDataContainer(adoptPtr(extraData))));
|
| + if (isNull() || other.isNull())
|
| + return false;
|
| + return m_private.get() == other.m_private.get();
|
| }
|
|
|
| -} // namespace blink
|
| +void WebMediaDevicesRequest::assign(const WebMediaDevicesRequest& other)
|
| +{
|
| + m_private = other.m_private;
|
| +}
|
|
|
| +WebMediaDevicesRequest::operator MediaDevicesRequest*() const
|
| +{
|
| + return m_private.get();
|
| +}
|
| +
|
| +} // namespace blink
|
|
|