Index: content/browser/device_orientation/data_fetcher_impl_android.cc |
diff --git a/content/browser/device_orientation/data_fetcher_impl_android.cc b/content/browser/device_orientation/data_fetcher_impl_android.cc |
index e51af51370e17c86803045e94fcd27d8c936c66f..3a0aedd84ca4fdef9050d468009619177d96dfa5 100644 |
--- a/content/browser/device_orientation/data_fetcher_impl_android.cc |
+++ b/content/browser/device_orientation/data_fetcher_impl_android.cc |
@@ -54,7 +54,14 @@ DataFetcherImplAndroid::~DataFetcherImplAndroid() { |
Stop(); |
} |
-bool DataFetcherImplAndroid::GetOrientation(Orientation* orientation) { |
+const DeviceData* DataFetcherImplAndroid::GetDeviceData( |
+ DeviceData::Type type) { |
+ if (type != DeviceData::kTypeOrientation) |
+ return NULL; |
+ return GetOrientation(); |
+} |
+ |
+const Orientation* DataFetcherImplAndroid::GetOrientation() { |
// Do we have a new orientation value? (It's safe to do this outside the lock |
// because we only skip the lock if the value is null. We always enter the |
// lock if we're going to make use of the new value.) |
@@ -62,9 +69,9 @@ bool DataFetcherImplAndroid::GetOrientation(Orientation* orientation) { |
base::AutoLock autolock(next_orientation_lock_); |
next_orientation_.swap(current_orientation_); |
} |
- if (current_orientation_.get()) |
- *orientation = *current_orientation_; |
- return true; |
+ if (!current_orientation_.get()) |
+ return new Orientation(); |
+ return current_orientation_.get(); |
} |
void DataFetcherImplAndroid::GotOrientation( |
@@ -76,7 +83,7 @@ void DataFetcherImplAndroid::GotOrientation( |
orientation->set_beta(beta); |
orientation->set_gamma(gamma); |
orientation->set_absolute(true); |
- next_orientation_.reset(orientation); |
+ next_orientation_ = orientation; |
} |
bool DataFetcherImplAndroid::Start(int rate_in_milliseconds) { |