Title: [253827] trunk/Source/WebCore
Revision
253827
Author
you...@apple.com
Date
2019-12-20 09:57:00 -0800 (Fri, 20 Dec 2019)

Log Message

Remove the certificate info checks related to getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=205493

Reviewed by Eric Carlson.

Now that navigator.mediaDevices is SecureContext, we do not need to do the same checks in UserMediaController.
UserMediaController was also checking the certificate info which is not necessary for MediaDevices.
Covered by manual tests.

* Modules/mediastream/UserMediaController.cpp:
(WebCore::isSecure):
(WebCore::isAllowedByFeaturePolicy): Deleted.
(WebCore::isAllowedToUse): Deleted.
(WebCore::UserMediaController::canCallGetUserMedia const): Deleted.
(WebCore::UserMediaController::logGetUserMediaDenial): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (253826 => 253827)


--- trunk/Source/WebCore/ChangeLog	2019-12-20 17:40:35 UTC (rev 253826)
+++ trunk/Source/WebCore/ChangeLog	2019-12-20 17:57:00 UTC (rev 253827)
@@ -1,3 +1,21 @@
+2019-12-20  youenn fablet  <you...@apple.com>
+
+        Remove the certificate info checks related to getUserMedia
+        https://bugs.webkit.org/show_bug.cgi?id=205493
+
+        Reviewed by Eric Carlson.
+
+        Now that navigator.mediaDevices is SecureContext, we do not need to do the same checks in UserMediaController.
+        UserMediaController was also checking the certificate info which is not necessary for MediaDevices.
+        Covered by manual tests.
+
+        * Modules/mediastream/UserMediaController.cpp:
+        (WebCore::isSecure):
+        (WebCore::isAllowedByFeaturePolicy): Deleted.
+        (WebCore::isAllowedToUse): Deleted.
+        (WebCore::UserMediaController::canCallGetUserMedia const): Deleted.
+        (WebCore::UserMediaController::logGetUserMediaDenial): Deleted.
+
 2019-12-19  Dean Jackson  <d...@apple.com>
 
         Build ANGLE as a dynamic library

Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaController.cpp (253826 => 253827)


--- trunk/Source/WebCore/Modules/mediastream/UserMediaController.cpp	2019-12-20 17:40:35 UTC (rev 253826)
+++ trunk/Source/WebCore/Modules/mediastream/UserMediaController.cpp	2019-12-20 17:57:00 UTC (rev 253827)
@@ -61,18 +61,6 @@
     UserMediaController::provideTo(page, UserMediaController::supplementName(), makeUnique<UserMediaController>(client));
 }
 
-static inline bool isSecure(DocumentLoader& documentLoader)
-{
-    auto& response = documentLoader.response();
-    ASSERT(response.certificateInfo());
-
-    if (SecurityOrigin::isLocalHostOrLoopbackIPAddress(documentLoader.response().url().host()))
-        return true;
-    return LegacySchemeRegistry::shouldTreatURLSchemeAsSecure(response.url().protocol().toStringWithoutCopying())
-        && response.certificateInfo()
-        && !response.certificateInfo()->containsNonRootSHA1SignedCertificate();
-}
-
 static inline bool isAllowedByFeaturePolicy(const FeaturePolicy& featurePolicy, const SecurityOriginData& origin, OptionSet<UserMediaController::CaptureType> types)
 {
     if ((types & UserMediaController::CaptureType::Camera) && !featurePolicy.allows(FeaturePolicy::Type::Camera, origin))
@@ -112,19 +100,9 @@
 {
     ASSERT(!types.isEmpty());
 
-    bool requiresSecureConnection = true;
-    if (auto page = document.page())
-        requiresSecureConnection = page->settings().mediaCaptureRequiresSecureConnection();
-    auto& documentLoader = *document.loader();
-    if (requiresSecureConnection && !isSecure(documentLoader))
-        return GetUserMediaAccess::InsecureDocument;
-
     auto& topDocument = document.topDocument();
     if (&document != &topDocument) {
         for (auto* ancestorDocument = &document; ancestorDocument != &topDocument; ancestorDocument = ancestorDocument->parentDocument()) {
-            if (requiresSecureConnection && !isSecure(*ancestorDocument->loader()))
-                return GetUserMediaAccess::InsecureParent;
-
             auto status = isAllowedToUse(*ancestorDocument, topDocument, types);
             if (status != GetUserMediaAccess::CanCall)
                 return status;
@@ -152,12 +130,6 @@
     }
 
     switch (access) {
-    case UserMediaController::GetUserMediaAccess::InsecureDocument:
-        domWindow.printErrorMessage(makeString("Trying to call ", callerName, " from an insecure document."));
-        break;
-    case UserMediaController::GetUserMediaAccess::InsecureParent:
-        domWindow.printErrorMessage(makeString("Trying to call ", callerName, " from a document with an insecure parent frame."));
-        break;
     case UserMediaController::GetUserMediaAccess::BlockedByParent:
         domWindow.printErrorMessage(makeString("The top-level frame has prevented a document with a different security origin from calling ", callerName, "."));
         break;

Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaController.h (253826 => 253827)


--- trunk/Source/WebCore/Modules/mediastream/UserMediaController.h	2019-12-20 17:40:35 UTC (rev 253826)
+++ trunk/Source/WebCore/Modules/mediastream/UserMediaController.h	2019-12-20 17:57:00 UTC (rev 253827)
@@ -53,8 +53,6 @@
 
     enum class GetUserMediaAccess {
         CanCall,
-        InsecureDocument,
-        InsecureParent,
         BlockedByParent,
         BlockedByFeaturePolicy,
     };
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to