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

Unified Diff: base/metrics/field_trial.cc

Issue 2875453002: Add a size parameter to SharedMemoryHandle. (Closed)
Patch Set: Remove extraneous period. Created 3 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
« no previous file with comments | « base/memory/shared_memory_win.cc ('k') | chrome/gpu/arc_gpu_video_decode_accelerator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/metrics/field_trial.cc
diff --git a/base/metrics/field_trial.cc b/base/metrics/field_trial.cc
index dbba4289fe4706e6eb529df32f06a09c8e0e562e..2d07818d80da6b5685ea2640777ca5ee71bf4fe5 100644
--- a/base/metrics/field_trial.cc
+++ b/base/metrics/field_trial.cc
@@ -1127,6 +1127,7 @@ std::string FieldTrialList::SerializeSharedMemoryHandleMetadata(
base::UnguessableToken guid = shm.GetGUID();
ss << guid.GetHighForSerialization() << "," << guid.GetLowForSerialization();
+ ss << "," << shm.GetSize();
return ss.str();
}
@@ -1137,7 +1138,7 @@ SharedMemoryHandle FieldTrialList::DeserializeSharedMemoryHandleMetadata(
std::vector<base::StringPiece> tokens = base::SplitStringPiece(
switch_value, ",", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
- if (tokens.size() != 3)
+ if (tokens.size() != 4)
return SharedMemoryHandle();
int field_trial_handle = 0;
@@ -1149,7 +1150,11 @@ SharedMemoryHandle FieldTrialList::DeserializeSharedMemoryHandleMetadata(
if (!DeserializeGUIDFromStringPieces(tokens[1], tokens[2], &guid))
return SharedMemoryHandle();
- return SharedMemoryHandle(handle, guid);
+ int size;
+ if (!base::StringToInt(tokens[3], &size))
+ return SharedMemoryHandle();
+
+ return SharedMemoryHandle(handle, static_cast<size_t>(size), guid);
}
#endif // defined(OS_WIN)
@@ -1161,14 +1166,19 @@ SharedMemoryHandle FieldTrialList::DeserializeSharedMemoryHandleMetadata(
std::vector<base::StringPiece> tokens = base::SplitStringPiece(
switch_value, ",", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
- if (tokens.size() != 2)
+ if (tokens.size() != 3)
return SharedMemoryHandle();
base::UnguessableToken guid;
if (!DeserializeGUIDFromStringPieces(tokens[0], tokens[1], &guid))
return SharedMemoryHandle();
- return SharedMemoryHandle(FileDescriptor(fd, true), guid);
+ int size;
+ if (!base::StringToInt(tokens[2], &size))
+ return SharedMemoryHandle();
+
+ return SharedMemoryHandle(FileDescriptor(fd, true), static_cast<size_t>(size),
+ guid);
}
#endif // defined(OS_POSIX) && !defined(OS_NACL)
« no previous file with comments | « base/memory/shared_memory_win.cc ('k') | chrome/gpu/arc_gpu_video_decode_accelerator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698