|  | // Copyright 2015 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "base/trace_event/memory_dump_request_args.h" | 
|  |  | 
|  | #include "base/logging.h" | 
|  |  | 
|  | namespace base { | 
|  | namespace trace_event { | 
|  |  | 
|  | // static | 
|  | const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type) { | 
|  | switch (dump_type) { | 
|  | case MemoryDumpType::PERIODIC_INTERVAL: | 
|  | return "periodic_interval"; | 
|  | case MemoryDumpType::EXPLICITLY_TRIGGERED: | 
|  | return "explicitly_triggered"; | 
|  | case MemoryDumpType::PEAK_MEMORY_USAGE: | 
|  | return "peak_memory_usage"; | 
|  | case MemoryDumpType::SUMMARY_ONLY: | 
|  | return "summary_only"; | 
|  | } | 
|  | NOTREACHED(); | 
|  | return "unknown"; | 
|  | } | 
|  |  | 
|  | MemoryDumpType StringToMemoryDumpType(const std::string& str) { | 
|  | if (str == "periodic_interval") | 
|  | return MemoryDumpType::PERIODIC_INTERVAL; | 
|  | if (str == "explicitly_triggered") | 
|  | return MemoryDumpType::EXPLICITLY_TRIGGERED; | 
|  | if (str == "peak_memory_usage") | 
|  | return MemoryDumpType::PEAK_MEMORY_USAGE; | 
|  | if (str == "summary_only") | 
|  | return MemoryDumpType::SUMMARY_ONLY; | 
|  | NOTREACHED(); | 
|  | return MemoryDumpType::LAST; | 
|  | } | 
|  |  | 
|  | const char* MemoryDumpLevelOfDetailToString( | 
|  | const MemoryDumpLevelOfDetail& level_of_detail) { | 
|  | switch (level_of_detail) { | 
|  | case MemoryDumpLevelOfDetail::BACKGROUND: | 
|  | return "background"; | 
|  | case MemoryDumpLevelOfDetail::LIGHT: | 
|  | return "light"; | 
|  | case MemoryDumpLevelOfDetail::DETAILED: | 
|  | return "detailed"; | 
|  | } | 
|  | NOTREACHED(); | 
|  | return "unknown"; | 
|  | } | 
|  |  | 
|  | MemoryDumpLevelOfDetail StringToMemoryDumpLevelOfDetail( | 
|  | const std::string& str) { | 
|  | if (str == "background") | 
|  | return MemoryDumpLevelOfDetail::BACKGROUND; | 
|  | if (str == "light") | 
|  | return MemoryDumpLevelOfDetail::LIGHT; | 
|  | if (str == "detailed") | 
|  | return MemoryDumpLevelOfDetail::DETAILED; | 
|  | NOTREACHED(); | 
|  | return MemoryDumpLevelOfDetail::LAST; | 
|  | } | 
|  |  | 
|  | }  // namespace trace_event | 
|  | }  // namespace base |