Chromium Code Reviews| Index: Source/modules/mediastream/MediaDevicesRequest.h |
| diff --git a/Source/platform/mediastream/MediaStreamTrackSourcesRequest.h b/Source/modules/mediastream/MediaDevicesRequest.h |
| similarity index 56% |
| copy from Source/platform/mediastream/MediaStreamTrackSourcesRequest.h |
| copy to Source/modules/mediastream/MediaDevicesRequest.h |
| index 61a0536ccced2197002e8498bfd48cad65ec8387..710384f02e13f0c7b03f557d53a9acc0ea7abb29 100644 |
| --- a/Source/platform/mediastream/MediaStreamTrackSourcesRequest.h |
| +++ b/Source/modules/mediastream/MediaDevicesRequest.h |
| @@ -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 |
| @@ -23,43 +23,46 @@ |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| -#ifndef MediaStreamTrackSourcesRequest_h |
| -#define MediaStreamTrackSourcesRequest_h |
| +#ifndef MediaDevicesRequest_h |
| +#define MediaDevicesRequest_h |
| -#include "public/platform/WebVector.h" |
| +#include "core/dom/ActiveDOMObject.h" |
| +#include "modules/mediastream/MediaDeviceInfo.h" |
| +#include "modules/mediastream/MediaDeviceInfoCallback.h" |
| #include "wtf/PassOwnPtr.h" |
| #include "wtf/PassRefPtr.h" |
| #include "wtf/RefCounted.h" |
| -#include "wtf/text/WTFString.h" |
| - |
| -namespace blink { |
| -class WebSourceInfo; |
| -} |
| namespace WebCore { |
| -class MediaStreamTrackSourcesRequest : public RefCounted<MediaStreamTrackSourcesRequest> { |
| +class Document; |
| +class ExceptionState; |
| +class MediaStreamDescriptor; |
| +class UserMediaController; |
| + |
| +class MediaDevicesRequest FINAL : public RefCounted<MediaDevicesRequest>, public ContextLifecycleObserver { |
| public: |
| - class ExtraData { |
| - public: |
| - virtual ~ExtraData() { } |
| - }; |
| + static PassRefPtr<MediaDevicesRequest> create(ExecutionContext*, UserMediaController*, PassOwnPtr<MediaDeviceInfoCallback>, ExceptionState&); |
| + virtual ~MediaDevicesRequest(); |
| - virtual ~MediaStreamTrackSourcesRequest() { } |
| + MediaDeviceInfoCallback* callback() const { return m_callback.get(); } |
| + Document* ownerDocument(); |
| - virtual String origin() = 0; |
| - virtual void requestSucceeded(const blink::WebVector<blink::WebSourceInfo>&) = 0; |
| + void start(); |
| - ExtraData* extraData() const { return m_extraData.get(); } |
| - void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData; } |
| + void succeed(const MediaDeviceInfoVector&); |
| -protected: |
| - MediaStreamTrackSourcesRequest() { } |
| + // ContextLifecycleObserver |
| + virtual void contextDestroyed() OVERRIDE; |
| private: |
| - OwnPtr<ExtraData> m_extraData; |
| + MediaDevicesRequest(ExecutionContext*, UserMediaController*, PassOwnPtr<MediaDeviceInfoCallback>); |
| + |
| + UserMediaController* m_controller; |
|
abarth-chromium
2014/01/28 06:49:49
How do we know that this object outlives the contr
Tommy Widenflycht
2014/01/28 22:35:02
The controller is owned to by the page and I now c
|
| + |
| + OwnPtr<MediaDeviceInfoCallback> m_callback; |
| }; |
| } // namespace WebCore |
| -#endif // MediaStreamTrackSourcesRequest_h |
| +#endif // MediaDevicesRequest_h |