| Index: chrome/browser/process_info_snapshot_mac.cc
|
| diff --git a/chrome/browser/process_info_snapshot_mac.cc b/chrome/browser/process_info_snapshot_mac.cc
|
| index 10fc77b618bf47568df39ebaa7fe4ec472203f6a..1e1cd15384af99546720ebf26d66c4d34aecac11 100644
|
| --- a/chrome/browser/process_info_snapshot_mac.cc
|
| +++ b/chrome/browser/process_info_snapshot_mac.cc
|
| @@ -127,25 +127,23 @@ static bool ConvertByteUnitToScale(char unit, uint64_t* out_scale) {
|
| static bool GetProcessMemoryInfoUsingPS(
|
| const std::vector<base::ProcessId>& pid_list,
|
| std::map<int,ProcessInfoSnapshot::ProcInfoEntry>& proc_info_entries) {
|
| - const char kPsPathName[] = "/bin/ps";
|
| - std::vector<std::string> argv;
|
| - argv.push_back(kPsPathName);
|
| + const FilePath kProgram("/bin/ps");
|
| + CommandLine command_line(kProgram);
|
|
|
| // Get resident set size, virtual memory size.
|
| - argv.push_back("-o");
|
| - argv.push_back("pid=,rss=,vsz=");
|
| + command_line.AppendArg("-o");
|
| + command_line.AppendArg("pid=,rss=,vsz=");
|
| // Only display the specified PIDs.
|
| for (std::vector<base::ProcessId>::const_iterator it = pid_list.begin();
|
| - it != pid_list.end(); ++it) {
|
| - argv.push_back("-p");
|
| - argv.push_back(base::Int64ToString(static_cast<int64>(*it)));
|
| + it != pid_list.end(); ++it) {
|
| + command_line.AppendArg("-p");
|
| + command_line.AppendArg(base::Int64ToString(static_cast<int64>(*it)));
|
| }
|
|
|
| std::string output;
|
| - CommandLine command_line(argv);
|
| // Limit output read to a megabyte for safety.
|
| if (!base::GetAppOutputRestricted(command_line, &output, 1024 * 1024)) {
|
| - LOG(ERROR) << "Failure running " << kPsPathName << " to acquire data.";
|
| + LOG(ERROR) << "Failure running " << kProgram.value() << " to acquire data.";
|
| return false;
|
| }
|
|
|
| @@ -172,12 +170,12 @@ static bool GetProcessMemoryInfoUsingPS(
|
| in.ignore(1, ' '); // Eat the space.
|
| std::getline(in, proc_info.command); // Get the rest of the line.
|
| if (!in.good()) {
|
| - LOG(ERROR) << "Error parsing output from " << kPsPathName << ".";
|
| + LOG(ERROR) << "Error parsing output from " << kProgram.value() << ".";
|
| return false;
|
| }
|
|
|
| if (!proc_info.pid || ! proc_info.vsize) {
|
| - LOG(WARNING) << "Invalid data from " << kPsPathName << ".";
|
| + LOG(WARNING) << "Invalid data from " << kProgram.value() << ".";
|
| return false;
|
| }
|
|
|
| @@ -190,29 +188,27 @@ static bool GetProcessMemoryInfoUsingPS(
|
|
|
| static bool GetProcessMemoryInfoUsingTop(
|
| std::map<int,ProcessInfoSnapshot::ProcInfoEntry>& proc_info_entries) {
|
| - const char kTopPathName[] = "/usr/bin/top";
|
| - std::vector<std::string> argv;
|
| - argv.push_back(kTopPathName);
|
| + const FilePath kProgram("/usr/bin/top");
|
| + CommandLine command_line(kProgram);
|
|
|
| // -stats tells top to print just the given fields as ordered.
|
| - argv.push_back("-stats");
|
| - argv.push_back("pid," // Process ID
|
| - "rsize," // Resident memory
|
| - "rshrd," // Resident shared memory
|
| - "rprvt," // Resident private memory
|
| - "vsize"); // Total virtual memory
|
| + command_line.AppendArg("-stats");
|
| + command_line.AppendArg("pid," // Process ID
|
| + "rsize," // Resident memory
|
| + "rshrd," // Resident shared memory
|
| + "rprvt," // Resident private memory
|
| + "vsize"); // Total virtual memory
|
| // Run top in logging (non-interactive) mode.
|
| - argv.push_back("-l");
|
| - argv.push_back("1");
|
| + command_line.AppendArg("-l");
|
| + command_line.AppendArg("1");
|
| // Set the delay between updates to 0.
|
| - argv.push_back("-s");
|
| - argv.push_back("0");
|
| + command_line.AppendArg("-s");
|
| + command_line.AppendArg("0");
|
|
|
| std::string output;
|
| - CommandLine command_line(argv);
|
| // Limit output read to a megabyte for safety.
|
| if (!base::GetAppOutputRestricted(command_line, &output, 1024 * 1024)) {
|
| - LOG(ERROR) << "Failure running " << kTopPathName << " to acquire data.";
|
| + LOG(ERROR) << "Failure running " << kProgram.value() << " to acquire data.";
|
| return false;
|
| }
|
|
|
| @@ -274,29 +270,28 @@ static bool GetProcessMemoryInfoUsingTop(
|
|
|
| static bool GetProcessMemoryInfoUsingTop_10_5(
|
| std::map<int,ProcessInfoSnapshot::ProcInfoEntry>& proc_info_entries) {
|
| - const char kTopPathName[] = "/usr/bin/top";
|
| - std::vector<std::string> argv;
|
| - argv.push_back(kTopPathName);
|
| + const FilePath kProgram("/usr/bin/top");
|
| + CommandLine command_line(kProgram);
|
|
|
| // -p tells top to print just the given fields as ordered.
|
| - argv.push_back("-p");
|
| - argv.push_back("^aaaaaaaaaaaaaaaaaaaa " // Process ID (PID)
|
| - "^jjjjjjjjjjjjjjjjjjjj " // Resident memory (RSIZE)
|
| - "^iiiiiiiiiiiiiiiiiiii " // Resident shared memory (RSHRD)
|
| - "^hhhhhhhhhhhhhhhhhhhh " // Resident private memory (RPRVT)
|
| - "^llllllllllllllllllll"); // Total virtual memory (VSIZE)
|
| + command_line.AppendArg("-p");
|
| + command_line.AppendArg(
|
| + "^aaaaaaaaaaaaaaaaaaaa " // Process ID (PID)
|
| + "^jjjjjjjjjjjjjjjjjjjj " // Resident memory (RSIZE)
|
| + "^iiiiiiiiiiiiiiiiiiii " // Resident shared memory (RSHRD)
|
| + "^hhhhhhhhhhhhhhhhhhhh " // Resident private memory (RPRVT)
|
| + "^llllllllllllllllllll"); // Total virtual memory (VSIZE)
|
| // Run top in logging (non-interactive) mode.
|
| - argv.push_back("-l");
|
| - argv.push_back("1");
|
| + command_line.AppendArg("-l");
|
| + command_line.AppendArg("1");
|
| // Set the delay between updates to 0.
|
| - argv.push_back("-s");
|
| - argv.push_back("0");
|
| + command_line.AppendArg("-s");
|
| + command_line.AppendArg("0");
|
|
|
| std::string output;
|
| - CommandLine command_line(argv);
|
| // Limit output read to a megabyte for safety.
|
| if (!base::GetAppOutputRestricted(command_line, &output, 1024 * 1024)) {
|
| - LOG(ERROR) << "Failure running " << kTopPathName << " to acquire data.";
|
| + LOG(ERROR) << "Failure running " << kProgram.value() << " to acquire data.";
|
| return false;
|
| }
|
|
|
|
|