Index: Source/modules/mediastream/UserMediaRequest.cpp |
diff --git a/Source/modules/mediastream/UserMediaRequest.cpp b/Source/modules/mediastream/UserMediaRequest.cpp |
index e4bb565d0764fd884a12797ab503b9084e045776..ba8e286b76ac60320740e2b7f3cfa30847e09f8e 100644 |
--- a/Source/modules/mediastream/UserMediaRequest.cpp |
+++ b/Source/modules/mediastream/UserMediaRequest.cpp |
@@ -39,6 +39,7 @@ |
#include "core/dom/Document.h" |
#include "core/dom/ExceptionCode.h" |
#include "core/dom/SpaceSplitString.h" |
+#include "core/frame/UseCounter.h" |
#include "modules/mediastream/MediaConstraintsImpl.h" |
#include "modules/mediastream/MediaStream.h" |
#include "modules/mediastream/MediaStreamConstraints.h" |
@@ -116,6 +117,23 @@ WebMediaConstraints UserMediaRequest::videoConstraints() const |
return m_video; |
} |
+bool UserMediaRequest::isPrivilegedContextUse(String& errorMessage) |
+{ |
+ Document* document = ownerDocument(); |
+ |
+ if (document->isPrivilegedContext(errorMessage)) { |
+ UseCounter::count(document->frame(), UseCounter::GetUserMediaSecureOrigin); |
+ OriginsUsingFeatures::countAnyWorld(*document, OriginsUsingFeatures::Feature::GetUserMediaSecureOrigin); |
+ return true; |
+ } |
+ |
+ // While getUserMedia is blocked on insecure origins, we still want to |
+ // count attempts to use it. |
+ UseCounter::countDeprecation(document->frame(), UseCounter::GetUserMediaInsecureOrigin); |
+ OriginsUsingFeatures::countAnyWorld(*document, OriginsUsingFeatures::Feature::GetUserMediaInsecureOrigin); |
+ return false; |
+} |
+ |
Document* UserMediaRequest::ownerDocument() |
{ |
if (ExecutionContext* context = executionContext()) { |