Index: Source/modules/mediastream/NavigatorMediaStream.cpp |
diff --git a/Source/modules/mediastream/NavigatorMediaStream.cpp b/Source/modules/mediastream/NavigatorMediaStream.cpp |
index 54fd5c0f5693162c8c2e5cbf9af0eaae1314155a..f3081cfc64af62a2396823a8209dc04ae00fbffa 100644 |
--- a/Source/modules/mediastream/NavigatorMediaStream.cpp |
+++ b/Source/modules/mediastream/NavigatorMediaStream.cpp |
@@ -61,21 +61,19 @@ void NavigatorMediaStream::webkitGetUserMedia(Navigator& navigator, const Dictio |
return; |
} |
+ UserMediaRequest* request = UserMediaRequest::create(navigator.frame()->document(), userMedia, options, successCallback, errorCallback, exceptionState); |
+ if (!request) { |
+ ASSERT(exceptionState.hadException()); |
+ return; |
+ } |
+ |
String errorMessage; |
if (navigator.frame()->document()->isPrivilegedContext(errorMessage)) { |
UseCounter::count(navigator.frame(), UseCounter::GetUserMediaSecureOrigin); |
} else { |
UseCounter::countDeprecation(navigator.frame(), UseCounter::GetUserMediaInsecureOrigin); |
OriginsUsingFeatures::countAnyWorld(*navigator.frame()->document(), OriginsUsingFeatures::Feature::GetUserMediaInsecureOrigin); |
- if (navigator.frame()->settings()->strictPowerfulFeatureRestrictions()) { |
- exceptionState.throwSecurityError(ExceptionMessages::failedToExecute("webkitGetUserMedia", "Navigator", errorMessage)); |
- return; |
- } |
- } |
- |
- UserMediaRequest* request = UserMediaRequest::create(navigator.frame()->document(), userMedia, options, successCallback, errorCallback, exceptionState); |
- if (!request) { |
- ASSERT(exceptionState.hadException()); |
+ request->failPermissionDenied(errorMessage); |
return; |
} |