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

Unified Diff: Source/modules/mediastream/MediaStreamTrackSourcesRequest.cpp

Issue 16778002: MediaStream API: Changing the device enumeration to be async (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Moved files Created 7 years, 6 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: Source/modules/mediastream/MediaStreamTrackSourcesRequest.cpp
diff --git a/Source/modules/mediastream/SourceInfo.h b/Source/modules/mediastream/MediaStreamTrackSourcesRequest.cpp
similarity index 54%
copy from Source/modules/mediastream/SourceInfo.h
copy to Source/modules/mediastream/MediaStreamTrackSourcesRequest.cpp
index 94bce294a41f8335cdf683c392388a576fcb6af8..3ad48781708f5f5901fd20532fdbc5dbb4c609d1 100644
--- a/Source/modules/mediastream/SourceInfo.h
+++ b/Source/modules/mediastream/MediaStreamTrackSourcesRequest.cpp
@@ -23,34 +23,43 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef SourceInfo_h
-#define SourceInfo_h
+#include "config.h"
-#include "bindings/v8/ScriptWrappable.h"
+#include "modules/mediastream/MediaStreamTrackSourcesRequest.h"
+
+#include "core/dom/ScriptExecutionContext.h"
+#include "modules/mediastream/MediaStreamTrackSourcesCallback.h"
#include "public/platform/WebSourceInfo.h"
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefCounted.h"
-#include "wtf/Vector.h"
+#include "weborigin/SecurityOrigin.h"
namespace WebCore {
-class SourceInfo : public RefCounted<SourceInfo>, public ScriptWrappable {
-public:
- static PassRefPtr<SourceInfo> create(const WebKit::WebSourceInfo&);
+PassRefPtr<MediaStreamTrackSourcesRequest> MediaStreamTrackSourcesRequest::create(ScriptExecutionContext* context, PassRefPtr<MediaStreamTrackSourcesCallback> callback)
+{
+ return adoptRef(new MediaStreamTrackSourcesRequest(context, callback));
+}
- String id() const;
- String kind() const;
- String label() const;
- String facing() const;
+MediaStreamTrackSourcesRequest::MediaStreamTrackSourcesRequest(ScriptExecutionContext* context, PassRefPtr<MediaStreamTrackSourcesCallback> callback)
+ : m_callback(callback)
+{
+ m_url = context->securityOrigin()->toString();
abarth-chromium 2013/06/14 14:17:48 I still don't understand why this field is called
+}
-private:
- explicit SourceInfo(const WebKit::WebSourceInfo&);
+MediaStreamTrackSourcesRequest::~MediaStreamTrackSourcesRequest()
+{
+}
- WebKit::WebSourceInfo m_webSourceInfo;
-};
+void MediaStreamTrackSourcesRequest::requestSucceeded(const WebKit::WebVector<WebKit::WebSourceInfo>& webSourceInfos)
+{
+ if (m_callback) {
+ SourceInfoVector sourceInfos;
+ for (size_t i = 0; i < webSourceInfos.size(); ++i)
+ sourceInfos.append(SourceInfo::create(webSourceInfos[i]));
-typedef Vector<RefPtr<SourceInfo> > SourceInfoVector;
+ m_callback->handleEvent(sourceInfos);
+ }
-} // namespace WebCore
+ m_callback.clear();
+}
-#endif // SourceInfo_h
+} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698