Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2597)

Unified Diff: chrome/browser/load_library_perf_test.cc

Issue 1993973002: Revert "Revert "media: Move widevine CDM targets to WidevineCdm folder"" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add "cdm_paths" target Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/load_library_perf_test.cc
diff --git a/chrome/browser/load_library_perf_test.cc b/chrome/browser/load_library_perf_test.cc
index 5b4fe125709d5d136d0e78b2e267e49a927e52ec..e67532fc81eab19efe84b5997034d94220020401 100644
--- a/chrome/browser/load_library_perf_test.cc
+++ b/chrome/browser/load_library_perf_test.cc
@@ -14,12 +14,22 @@
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/perf/perf_test.h"
+
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
+#if defined(ENABLE_PEPPER_CDMS)
+#include "chrome/browser/media/pepper_cdm_test_helper.h"
+#include "media/cdm/cdm_paths.h"
+#endif
+
+namespace {
+
// Measures the size (bytes) and time to load (sec) of a native library.
-void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_name) {
+void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_dir,
+ const base::FilePath& library_name) {
base::FilePath output_dir;
ASSERT_TRUE(PathService::Get(base::DIR_MODULE, &output_dir));
+ output_dir = output_dir.Append(library_dir);
base::FilePath library_path = output_dir.Append(library_name);
ASSERT_TRUE(base::PathExists(library_path)) << library_path.value();
@@ -47,42 +57,48 @@ void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_name) {
true);
}
-// Use the base name of the library to dynamically get the platform specific
-// name. See base::GetNativeLibraryName() for details.
-void MeasureSizeAndTimeToLoadNativeLibraryByBaseName(
- const std::string& base_library_name) {
- MeasureSizeAndTimeToLoadNativeLibrary(base::FilePath::FromUTF16Unsafe(
- base::GetNativeLibraryName(base::ASCIIToUTF16(base_library_name))));
+#if defined(ENABLE_PEPPER_CDMS)
+
+// File name of the ClearKey CDM on different platforms.
+// TODO(xhwang): Consolidate this with external_clear_key_test_helper.cc.
+const char kClearKeyCdmFileName[] =
+#if defined(OS_MACOSX)
+ "libclearkeycdm.dylib";
+#elif defined(OS_WIN)
+ "clearkeycdm.dll";
+#else // OS_LINUX, etc.
+ "libclearkeycdm.so";
+#endif
+
+void MeasureSizeAndTimeToLoadCdm(const std::string& cdm_base_dir,
+ const std::string& cdm_name) {
+ MeasureSizeAndTimeToLoadNativeLibrary(
+ media::GetPlatformSpecificDirectory(cdm_base_dir),
+ base::FilePath::FromUTF8Unsafe(cdm_name));
}
+#endif // defined(ENABLE_PEPPER_CDMS)
+
+} // namespace
+
#if defined(ENABLE_PEPPER_CDMS)
#if defined(WIDEVINE_CDM_AVAILABLE)
TEST(LoadCDMPerfTest, Widevine) {
- MeasureSizeAndTimeToLoadNativeLibrary(
- base::FilePath::FromUTF8Unsafe(kWidevineCdmFileName));
+ MeasureSizeAndTimeToLoadCdm(kWidevineCdmBaseDirectory, kWidevineCdmFileName);
}
TEST(LoadCDMPerfTest, WidevineAdapter) {
- MeasureSizeAndTimeToLoadNativeLibrary(
- base::FilePath::FromUTF8Unsafe(kWidevineCdmAdapterFileName));
+ MeasureSizeAndTimeToLoadCdm(kWidevineCdmBaseDirectory,
+ kWidevineCdmAdapterFileName);
}
#endif // defined(WIDEVINE_CDM_AVAILABLE)
TEST(LoadCDMPerfTest, ExternalClearKey) {
-#if defined(OS_MACOSX)
- MeasureSizeAndTimeToLoadNativeLibrary(
- base::FilePath::FromUTF8Unsafe("libclearkeycdm.dylib"));
-#else
- MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdm");
-#endif // defined(OS_MACOSX)
+ MeasureSizeAndTimeToLoadCdm(kClearKeyCdmBaseDirectory, kClearKeyCdmFileName);
}
TEST(LoadCDMPerfTest, ExternalClearKeyAdapter) {
-#if defined(OS_MACOSX)
- MeasureSizeAndTimeToLoadNativeLibrary(
- base::FilePath::FromUTF8Unsafe("clearkeycdmadapter.plugin"));
-#else
- MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdmadapter");
-#endif // defined(OS_MACOSX)
+ MeasureSizeAndTimeToLoadCdm(kClearKeyCdmBaseDirectory,
+ kClearKeyCdmAdapterFileName);
}
#endif // defined(ENABLE_PEPPER_CDMS)
« no previous file with comments | « chrome/browser/content_settings/content_settings_browsertest.cc ('k') | chrome/browser/media/encrypted_media_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698