| 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..0aa7f02e17a8d9de93aab24f770326bcfab1c5fd 100644
|
| --- a/chrome/browser/load_library_perf_test.cc
|
| +++ b/chrome/browser/load_library_perf_test.cc
|
| @@ -16,21 +16,22 @@
|
| #include "testing/perf/perf_test.h"
|
| #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
|
|
|
| +// Base path for Clear Key CDM (relative to the chrome executable).
|
| +const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm";
|
| +
|
| // Measures the size (bytes) and time to load (sec) of a native library.
|
| -void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_name) {
|
| +void MeasureSizeAndTimeToLoadNativeLibrary(const std::string& library_base_dir,
|
| + const std::string& library_name) {
|
| base::FilePath output_dir;
|
| ASSERT_TRUE(PathService::Get(base::DIR_MODULE, &output_dir));
|
| - base::FilePath library_path = output_dir.Append(library_name);
|
| + output_dir = output_dir.AppendASCII(library_base_dir);
|
| + base::FilePath library_path = output_dir.AppendASCII(library_name);
|
| ASSERT_TRUE(base::PathExists(library_path)) << library_path.value();
|
|
|
| int64_t size = 0;
|
| ASSERT_TRUE(base::GetFileSize(library_path, &size));
|
| - perf_test::PrintResult("library_size",
|
| - "",
|
| - library_name.AsUTF8Unsafe(),
|
| - static_cast<size_t>(size),
|
| - "bytes",
|
| - true);
|
| + perf_test::PrintResult("library_size", "", library_name,
|
| + static_cast<size_t>(size), "bytes", true);
|
|
|
| base::NativeLibraryLoadError error;
|
| base::TimeTicks start = base::TimeTicks::Now();
|
| @@ -39,50 +40,50 @@ void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_name) {
|
| double delta = (base::TimeTicks::Now() - start).InMillisecondsF();
|
| ASSERT_TRUE(native_library) << "Error loading library: " << error.ToString();
|
| base::UnloadNativeLibrary(native_library);
|
| - perf_test::PrintResult("time_to_load_library",
|
| - "",
|
| - library_name.AsUTF8Unsafe(),
|
| - delta,
|
| - "ms",
|
| + perf_test::PrintResult("time_to_load_library", "", library_name, delta, "ms",
|
| 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& library_base_dir,
|
| const std::string& base_library_name) {
|
| - MeasureSizeAndTimeToLoadNativeLibrary(base::FilePath::FromUTF16Unsafe(
|
| - base::GetNativeLibraryName(base::ASCIIToUTF16(base_library_name))));
|
| + MeasureSizeAndTimeToLoadNativeLibrary(
|
| + library_base_dir, base::UTF16ToUTF8(base::GetNativeLibraryName(
|
| + base::ASCIIToUTF16(base_library_name))));
|
| }
|
|
|
| #if defined(ENABLE_PEPPER_CDMS)
|
| #if defined(WIDEVINE_CDM_AVAILABLE)
|
| TEST(LoadCDMPerfTest, Widevine) {
|
| - MeasureSizeAndTimeToLoadNativeLibrary(
|
| - base::FilePath::FromUTF8Unsafe(kWidevineCdmFileName));
|
| + MeasureSizeAndTimeToLoadNativeLibrary(kWidevineCdmBaseDirectory,
|
| + kWidevineCdmFileName);
|
| }
|
|
|
| TEST(LoadCDMPerfTest, WidevineAdapter) {
|
| - MeasureSizeAndTimeToLoadNativeLibrary(
|
| - base::FilePath::FromUTF8Unsafe(kWidevineCdmAdapterFileName));
|
| + MeasureSizeAndTimeToLoadNativeLibrary(kWidevineCdmBaseDirectory,
|
| + kWidevineCdmAdapterFileName);
|
| }
|
| #endif // defined(WIDEVINE_CDM_AVAILABLE)
|
|
|
| TEST(LoadCDMPerfTest, ExternalClearKey) {
|
| #if defined(OS_MACOSX)
|
| - MeasureSizeAndTimeToLoadNativeLibrary(
|
| - base::FilePath::FromUTF8Unsafe("libclearkeycdm.dylib"));
|
| + MeasureSizeAndTimeToLoadNativeLibrary(kClearKeyCdmBaseDirectory,
|
| + "libclearkeycdm.dylib");
|
| #else
|
| - MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdm");
|
| + MeasureSizeAndTimeToLoadNativeLibraryByBaseName(kClearKeyCdmBaseDirectory,
|
| + "clearkeycdm");
|
| #endif // defined(OS_MACOSX)
|
| }
|
|
|
| TEST(LoadCDMPerfTest, ExternalClearKeyAdapter) {
|
| #if defined(OS_MACOSX)
|
| - MeasureSizeAndTimeToLoadNativeLibrary(
|
| - base::FilePath::FromUTF8Unsafe("clearkeycdmadapter.plugin"));
|
| + MeasureSizeAndTimeToLoadNativeLibrary(kClearKeyCdmBaseDirectory,
|
| + "clearkeycdmadapter.plugin");
|
| #else
|
| - MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdmadapter");
|
| + MeasureSizeAndTimeToLoadNativeLibraryByBaseName(kClearKeyCdmBaseDirectory,
|
| + "clearkeycdmadapter");
|
| #endif // defined(OS_MACOSX)
|
| }
|
| #endif // defined(ENABLE_PEPPER_CDMS)
|
|
|