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

Side by Side Diff: content/browser/gamepad/gamepad_provider.cc

Issue 1874893002: Convert //content/browser from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/gamepad/gamepad_provider.h" 5 #include "content/browser/gamepad/gamepad_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string.h> 8 #include <string.h>
9 #include <cmath> 9 #include <cmath>
10 #include <set> 10 #include <set>
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 const ClosureAndThread& other) = default; 43 const ClosureAndThread& other) = default;
44 44
45 GamepadProvider::ClosureAndThread::~ClosureAndThread() { 45 GamepadProvider::ClosureAndThread::~ClosureAndThread() {
46 } 46 }
47 47
48 GamepadProvider::GamepadProvider() 48 GamepadProvider::GamepadProvider()
49 : is_paused_(true), 49 : is_paused_(true),
50 have_scheduled_do_poll_(false), 50 have_scheduled_do_poll_(false),
51 devices_changed_(true), 51 devices_changed_(true),
52 ever_had_user_gesture_(false) { 52 ever_had_user_gesture_(false) {
53 Initialize(scoped_ptr<GamepadDataFetcher>()); 53 Initialize(std::unique_ptr<GamepadDataFetcher>());
54 } 54 }
55 55
56 GamepadProvider::GamepadProvider(scoped_ptr<GamepadDataFetcher> fetcher) 56 GamepadProvider::GamepadProvider(std::unique_ptr<GamepadDataFetcher> fetcher)
57 : is_paused_(true), 57 : is_paused_(true),
58 have_scheduled_do_poll_(false), 58 have_scheduled_do_poll_(false),
59 devices_changed_(true), 59 devices_changed_(true),
60 ever_had_user_gesture_(false) { 60 ever_had_user_gesture_(false) {
61 Initialize(std::move(fetcher)); 61 Initialize(std::move(fetcher));
62 } 62 }
63 63
64 GamepadProvider::~GamepadProvider() { 64 GamepadProvider::~GamepadProvider() {
65 base::SystemMonitor* monitor = base::SystemMonitor::Get(); 65 base::SystemMonitor* monitor = base::SystemMonitor::Get();
66 if (monitor) 66 if (monitor)
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 base::AutoLock lock(user_gesture_lock_); 117 base::AutoLock lock(user_gesture_lock_);
118 user_gesture_observers_.push_back( 118 user_gesture_observers_.push_back(
119 ClosureAndThread(closure, base::MessageLoop::current()->task_runner())); 119 ClosureAndThread(closure, base::MessageLoop::current()->task_runner()));
120 } 120 }
121 121
122 void GamepadProvider::OnDevicesChanged(base::SystemMonitor::DeviceType type) { 122 void GamepadProvider::OnDevicesChanged(base::SystemMonitor::DeviceType type) {
123 base::AutoLock lock(devices_changed_lock_); 123 base::AutoLock lock(devices_changed_lock_);
124 devices_changed_ = true; 124 devices_changed_ = true;
125 } 125 }
126 126
127 void GamepadProvider::Initialize(scoped_ptr<GamepadDataFetcher> fetcher) { 127 void GamepadProvider::Initialize(std::unique_ptr<GamepadDataFetcher> fetcher) {
128 size_t data_size = sizeof(GamepadHardwareBuffer); 128 size_t data_size = sizeof(GamepadHardwareBuffer);
129 base::SystemMonitor* monitor = base::SystemMonitor::Get(); 129 base::SystemMonitor* monitor = base::SystemMonitor::Get();
130 if (monitor) 130 if (monitor)
131 monitor->AddDevicesChangedObserver(this); 131 monitor->AddDevicesChangedObserver(this);
132 bool res = gamepad_shared_memory_.CreateAndMapAnonymous(data_size); 132 bool res = gamepad_shared_memory_.CreateAndMapAnonymous(data_size);
133 CHECK(res); 133 CHECK(res);
134 GamepadHardwareBuffer* hwbuf = SharedMemoryAsHardwareBuffer(); 134 GamepadHardwareBuffer* hwbuf = SharedMemoryAsHardwareBuffer();
135 memset(hwbuf, 0, sizeof(GamepadHardwareBuffer)); 135 memset(hwbuf, 0, sizeof(GamepadHardwareBuffer));
136 pad_states_.reset(new PadState[WebGamepads::itemsLengthCap]); 136 pad_states_.reset(new PadState[WebGamepads::itemsLengthCap]);
137 137
(...skipping 13 matching lines...) Expand all
151 const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_UI; 151 const base::MessageLoop::Type kMessageLoopType = base::MessageLoop::TYPE_UI;
152 #endif 152 #endif
153 polling_thread_->StartWithOptions(base::Thread::Options(kMessageLoopType, 0)); 153 polling_thread_->StartWithOptions(base::Thread::Options(kMessageLoopType, 0));
154 154
155 polling_thread_->task_runner()->PostTask( 155 polling_thread_->task_runner()->PostTask(
156 FROM_HERE, base::Bind(&GamepadProvider::DoInitializePollingThread, 156 FROM_HERE, base::Bind(&GamepadProvider::DoInitializePollingThread,
157 base::Unretained(this), base::Passed(&fetcher))); 157 base::Unretained(this), base::Passed(&fetcher)));
158 } 158 }
159 159
160 void GamepadProvider::DoInitializePollingThread( 160 void GamepadProvider::DoInitializePollingThread(
161 scoped_ptr<GamepadDataFetcher> fetcher) { 161 std::unique_ptr<GamepadDataFetcher> fetcher) {
162 DCHECK(base::MessageLoop::current() == polling_thread_->message_loop()); 162 DCHECK(base::MessageLoop::current() == polling_thread_->message_loop());
163 DCHECK(!data_fetcher_.get()); // Should only initialize once. 163 DCHECK(!data_fetcher_.get()); // Should only initialize once.
164 164
165 if (!fetcher) 165 if (!fetcher)
166 fetcher.reset(new GamepadPlatformDataFetcher); 166 fetcher.reset(new GamepadPlatformDataFetcher);
167 data_fetcher_ = std::move(fetcher); 167 data_fetcher_ = std::move(fetcher);
168 } 168 }
169 169
170 void GamepadProvider::SendPauseHint(bool paused) { 170 void GamepadProvider::SendPauseHint(bool paused) {
171 DCHECK(base::MessageLoop::current() == polling_thread_->message_loop()); 171 DCHECK(base::MessageLoop::current() == polling_thread_->message_loop());
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 } 325 }
326 if (!had_gesture_before && ever_had_user_gesture_) { 326 if (!had_gesture_before && ever_had_user_gesture_) {
327 // Initialize pad_states_ for the first time. 327 // Initialize pad_states_ for the first time.
328 for (size_t i = 0; i < WebGamepads::itemsLengthCap; ++i) { 328 for (size_t i = 0; i < WebGamepads::itemsLengthCap; ++i) {
329 pad_states_.get()[i].SetPad(pads.items[i]); 329 pad_states_.get()[i].SetPad(pads.items[i]);
330 } 330 }
331 } 331 }
332 } 332 }
333 333
334 } // namespace content 334 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gamepad/gamepad_provider.h ('k') | content/browser/gamepad/gamepad_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698