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

Unified Diff: content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc

Issue 23441047: Fix race condition in DataFetcherSharedMemoryBase (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 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: content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc
diff --git a/content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc b/content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc
index 047894b44e9fb9d16d7abfe1ad6444b7c1509b1a..a25341abe5f71a2e712a99218a93245824a61451 100644
--- a/content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc
+++ b/content/browser/device_orientation/data_fetcher_shared_memory_base_unittest.cc
@@ -33,15 +33,16 @@ class FakeDataFetcher : public DataFetcherSharedMemoryBase {
}
virtual ~FakeDataFetcher() { }
- bool Init(ConsumerType consumer_type) {
+ bool Init(ConsumerType consumer_type, void* buffer) {
+ EXPECT_TRUE(buffer);
+
switch (consumer_type) {
case CONSUMER_TYPE_MOTION:
- motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(
- GetSharedMemoryBuffer(consumer_type));
+ motion_buffer_ = static_cast<DeviceMotionHardwareBuffer*>(buffer);
break;
case CONSUMER_TYPE_ORIENTATION:
- orientation_buffer_ = static_cast<DeviceOrientationHardwareBuffer*>(
- GetSharedMemoryBuffer(consumer_type));
+ orientation_buffer_ =
+ static_cast<DeviceOrientationHardwareBuffer*>(buffer);
break;
default:
return false;
@@ -128,12 +129,12 @@ class FakeNonPollingDataFetcher : public FakeDataFetcher {
FakeNonPollingDataFetcher() { }
virtual ~FakeNonPollingDataFetcher() { }
- virtual bool Start(ConsumerType consumer_type) OVERRIDE {
+ virtual bool Start(ConsumerType consumer_type, void* buffer) OVERRIDE {
base::SharedMemoryHandle handle = GetSharedMemoryHandleForProcess(
consumer_type, base::GetCurrentProcessHandle());
EXPECT_TRUE(base::SharedMemory::IsHandleValid(handle));
- Init(consumer_type);
+ Init(consumer_type, buffer);
switch (consumer_type) {
case CONSUMER_TYPE_MOTION:
UpdateMotion();
@@ -182,13 +183,13 @@ class FakePollingDataFetcher : public FakeDataFetcher {
FakePollingDataFetcher() { }
virtual ~FakePollingDataFetcher() { }
- virtual bool Start(ConsumerType consumer_type) OVERRIDE {
+ virtual bool Start(ConsumerType consumer_type, void* buffer) OVERRIDE {
EXPECT_TRUE(base::MessageLoop::current() == GetPollingMessageLoop());
base::SharedMemoryHandle handle = GetSharedMemoryHandleForProcess(
consumer_type, base::GetCurrentProcessHandle());
EXPECT_TRUE(base::SharedMemory::IsHandleValid(handle));
- Init(consumer_type);
+ Init(consumer_type, buffer);
switch (consumer_type) {
case CONSUMER_TYPE_MOTION:
start_motion_.Signal();

Powered by Google App Engine
This is Rietveld 408576698