Title: [286291] trunk/Source/WebCore
Revision
286291
Author
[email protected]
Date
2021-11-30 04:49:19 -0800 (Tue, 30 Nov 2021)

Log Message

REGRESSION(r269103): this patch is not EME spec compliant
https://bugs.webkit.org/show_bug.cgi?id=233630

Unreviewed, revert r269103. We must validate init data.

Patch by Philippe Normand <[email protected]> on 2021-11-30

* Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::sanitizeInitData):
* platform/encryptedmedia/CDMPrivate.cpp:
(WebCore::CDMPrivate::sanitizeInitData const): Deleted.
* platform/encryptedmedia/CDMPrivate.h:
* platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMPrivateThunder::supportsInitData const):
(WebCore::CDMPrivateThunder::sanitizeInitData const): Deleted.
* platform/graphics/gstreamer/eme/CDMThunder.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (286290 => 286291)


--- trunk/Source/WebCore/ChangeLog	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/ChangeLog	2021-11-30 12:49:19 UTC (rev 286291)
@@ -1,3 +1,20 @@
+2021-11-30  Philippe Normand  <[email protected]>
+
+        REGRESSION(r269103): this patch is not EME spec compliant
+        https://bugs.webkit.org/show_bug.cgi?id=233630
+
+        Unreviewed, revert r269103. We must validate init data.
+
+        * Modules/encryptedmedia/CDM.cpp:
+        (WebCore::CDM::sanitizeInitData):
+        * platform/encryptedmedia/CDMPrivate.cpp:
+        (WebCore::CDMPrivate::sanitizeInitData const): Deleted.
+        * platform/encryptedmedia/CDMPrivate.h:
+        * platform/graphics/gstreamer/eme/CDMThunder.cpp:
+        (WebCore::CDMPrivateThunder::supportsInitData const):
+        (WebCore::CDMPrivateThunder::sanitizeInitData const): Deleted.
+        * platform/graphics/gstreamer/eme/CDMThunder.h:
+
 2021-11-30  Martin Robinson  <[email protected]>
 
         Transition from perspective(500px) to 'none' is probably wrong

Modified: trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp (286290 => 286291)


--- trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/Modules/encryptedmedia/CDM.cpp	2021-11-30 12:49:19 UTC (rev 286291)
@@ -137,9 +137,7 @@
 
 RefPtr<SharedBuffer> CDM::sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData)
 {
-    if (!m_private)
-        return nullptr;
-    return m_private->sanitizeInitData(initDataType, initData);
+    return InitDataRegistry::shared().sanitizeInitData(initDataType, initData);
 }
 
 bool CDM::supportsInitData(const AtomString& initDataType, const SharedBuffer& initData)

Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.cpp (286290 => 286291)


--- trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.cpp	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.cpp	2021-11-30 12:49:19 UTC (rev 286291)
@@ -32,7 +32,6 @@
 #include "CDMMediaCapability.h"
 #include "CDMRequirement.h"
 #include "CDMRestrictions.h"
-#include "InitDataRegistry.h"
 #include "MediaPlayer.h"
 #include "NotImplemented.h"
 #include "ParsedContentType.h"
@@ -516,12 +515,7 @@
     callback(ConsentStatus::Allowed, WTFMove(accumulatedConfiguration), WTFMove(restrictions));
 }
 
-RefPtr<SharedBuffer> CDMPrivate::sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData) const
-{
-    return InitDataRegistry::shared().sanitizeInitData(initDataType, initData);
-}
 
-
 }
 
 #endif

Modified: trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h (286290 => 286291)


--- trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/platform/encryptedmedia/CDMPrivate.h	2021-11-30 12:49:19 UTC (rev 286291)
@@ -74,7 +74,6 @@
     virtual bool supportsServerCertificates() const = 0;
     virtual bool supportsSessions() const = 0;
     virtual bool supportsInitData(const AtomString&, const SharedBuffer&) const = 0;
-    WEBCORE_EXPORT virtual RefPtr<SharedBuffer> sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData) const;
     virtual RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&) const = 0;
     virtual std::optional<String> sanitizeSessionId(const String&) const = 0;
 

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp (286290 => 286291)


--- trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp	2021-11-30 12:49:19 UTC (rev 286291)
@@ -237,15 +237,6 @@
     return false;
 }
 
-RefPtr<SharedBuffer> CDMPrivateThunder::sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData) const
-{
-    // Validate the initData buffer as CENC initData. FIXME: Validate it is actually CENC.
-    if (equalLettersIgnoringASCIICase(initDataType, "cenc") && !initData.isEmpty())
-        return initData.copy();
-
-    return CDMPrivate::sanitizeInitData(initDataType, initData);
-}
-
 RefPtr<SharedBuffer> CDMPrivateThunder::sanitizeResponse(const SharedBuffer& response) const
 {
     return response.copy();

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h (286290 => 286291)


--- trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h	2021-11-30 11:47:24 UTC (rev 286290)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.h	2021-11-30 12:49:19 UTC (rev 286291)
@@ -94,7 +94,6 @@
     bool supportsServerCertificates() const final;
     bool supportsSessions() const final;
     bool supportsInitData(const AtomString&, const SharedBuffer&) const final;
-    RefPtr<SharedBuffer> sanitizeInitData(const AtomString& initDataType, const SharedBuffer& initData) const final;
     RefPtr<SharedBuffer> sanitizeResponse(const SharedBuffer&) const final;
     std::optional<String> sanitizeSessionId(const String&) const final;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to