Index: media/cdm/key_system_names.cc |
diff --git a/media/cdm/key_system_names.cc b/media/cdm/key_system_names.cc |
index 97cc9e87a4e0b9e1900edc51282ea2a13ff86cd3..b9eceb2f4db139b1b47673b2a2e8c90df0b1a55d 100644 |
--- a/media/cdm/key_system_names.cc |
+++ b/media/cdm/key_system_names.cc |
@@ -4,10 +4,24 @@ |
#include "media/cdm/key_system_names.h" |
+#include <string> |
+ |
namespace media { |
const char kPrefixedClearKey[] = "webkit-org.w3.clearkey"; |
const char kUnprefixedClearKey[] = "org.w3.clearkey"; |
const char kExternalClearKey[] = "org.chromium.externalclearkey"; |
+static bool IsParentKeySystemOf(const std::string& parent_key_system, |
+ const std::string& key_system) { |
+ std::string prefix = parent_key_system + '.'; |
+ return key_system.substr(0, prefix.size()) == prefix; |
+} |
+ |
+ |
+bool IsExternalClearKey(const std::string& key_system) { |
+ return key_system == kExternalClearKey || |
+ IsParentKeySystemOf(kExternalClearKey, key_system); |
+} |
+ |
} // namespace media |