Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / mediastream / NavigatorMediaStream.cpp
index a5e3d4b..4fd9604 100644 (file)
@@ -30,6 +30,8 @@
 #include "core/frame/Frame.h"
 #include "core/frame/Navigator.h"
 #include "core/page/Page.h"
+#include "modules/mediastream/MediaDeviceInfoCallback.h"
+#include "modules/mediastream/MediaDevicesRequest.h"
 #include "modules/mediastream/NavigatorUserMediaErrorCallback.h"
 #include "modules/mediastream/NavigatorUserMediaSuccessCallback.h"
 #include "modules/mediastream/UserMediaController.h"
@@ -65,4 +67,21 @@ void NavigatorMediaStream::webkitGetUserMedia(Navigator* navigator, const Dictio
     request->start();
 }
 
+void NavigatorMediaStream::getMediaDevices(Navigator* navigator, PassOwnPtr<MediaDeviceInfoCallback> callback, ExceptionState& exceptionState)
+{
+    UserMediaController* userMedia = UserMediaController::from(navigator->frame() ? navigator->frame()->page() : 0);
+    if (!userMedia) {
+        exceptionState.throwDOMException(NotSupportedError, "Not implemented.");
+        return;
+    }
+
+    RefPtr<MediaDevicesRequest> request = MediaDevicesRequest::create(navigator->frame()->document(), userMedia, callback, exceptionState);
+    if (!request) {
+        exceptionState.throwDOMException(NotSupportedError, "Not implemented.");
+        return;
+    }
+
+    request->start();
+}
+
 } // namespace WebCore