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