Index: content/browser/device_orientation/accelerometer_mac.cc |
diff --git a/content/browser/device_orientation/accelerometer_mac.cc b/content/browser/device_orientation/accelerometer_mac.cc |
index 04c5d71b65c213c01b5400122be7bc8dd921e17d..af2d946559558e10f52e4f87b42526a2f417da96 100644 |
--- a/content/browser/device_orientation/accelerometer_mac.cc |
+++ b/content/browser/device_orientation/accelerometer_mac.cc |
@@ -12,10 +12,15 @@ |
namespace content { |
+AccelerometerMac* AccelerometerMac::instance() { |
+ CR_DEFINE_STATIC_LOCAL(AccelerometerMac, s_data_fetcher, ()); |
+ return &s_data_fetcher; |
+} |
+ |
// Create a AccelerometerMac object and return NULL if no valid sensor found. |
DataFetcher* AccelerometerMac::Create() { |
- scoped_ptr<AccelerometerMac> accelerometer(new AccelerometerMac); |
- return accelerometer->Init() ? accelerometer.release() : NULL; |
+ AccelerometerMac* accelerometer = AccelerometerMac::instance(); |
+ return accelerometer->Init() ? accelerometer : NULL; |
} |
AccelerometerMac::~AccelerometerMac() { |