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

Side by Side Diff: ui/events/ozone/evdev/event_thread_evdev.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ui/events/ozone/evdev/event_thread_evdev.h" 5 #include "ui/events/ozone/evdev/event_thread_evdev.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/thread_task_runner_handle.h" 12 #include "base/thread_task_runner_handle.h"
13 #include "base/threading/thread.h" 13 #include "base/threading/thread.h"
14 #include "base/trace_event/trace_event.h" 14 #include "base/trace_event/trace_event.h"
15 #include "ui/events/ozone/evdev/device_event_dispatcher_evdev.h" 15 #include "ui/events/ozone/evdev/device_event_dispatcher_evdev.h"
16 #include "ui/events/ozone/evdev/input_device_factory_evdev.h" 16 #include "ui/events/ozone/evdev/input_device_factory_evdev.h"
17 #include "ui/events/ozone/evdev/input_device_factory_evdev_proxy.h" 17 #include "ui/events/ozone/evdev/input_device_factory_evdev_proxy.h"
18 18
19 namespace ui { 19 namespace ui {
20 20
21 namespace { 21 namespace {
22 22
23 // Internal base::Thread subclass for events thread. 23 // Internal base::Thread subclass for events thread.
24 class EvdevThread : public base::Thread { 24 class EvdevThread : public base::Thread {
25 public: 25 public:
26 EvdevThread(scoped_ptr<DeviceEventDispatcherEvdev> dispatcher, 26 EvdevThread(std::unique_ptr<DeviceEventDispatcherEvdev> dispatcher,
27 CursorDelegateEvdev* cursor, 27 CursorDelegateEvdev* cursor,
28 const EventThreadStartCallback& callback) 28 const EventThreadStartCallback& callback)
29 : base::Thread("evdev"), 29 : base::Thread("evdev"),
30 dispatcher_(std::move(dispatcher)), 30 dispatcher_(std::move(dispatcher)),
31 cursor_(cursor), 31 cursor_(cursor),
32 init_callback_(callback), 32 init_callback_(callback),
33 init_runner_(base::ThreadTaskRunnerHandle::Get()) {} 33 init_runner_(base::ThreadTaskRunnerHandle::Get()) {}
34 ~EvdevThread() override { Stop(); } 34 ~EvdevThread() override { Stop(); }
35 35
36 void Init() override { 36 void Init() override {
37 TRACE_EVENT0("evdev", "EvdevThread::Init"); 37 TRACE_EVENT0("evdev", "EvdevThread::Init");
38 input_device_factory_ = 38 input_device_factory_ =
39 new InputDeviceFactoryEvdev(std::move(dispatcher_), cursor_); 39 new InputDeviceFactoryEvdev(std::move(dispatcher_), cursor_);
40 40
41 scoped_ptr<InputDeviceFactoryEvdevProxy> proxy( 41 std::unique_ptr<InputDeviceFactoryEvdevProxy> proxy(
42 new InputDeviceFactoryEvdevProxy(base::ThreadTaskRunnerHandle::Get(), 42 new InputDeviceFactoryEvdevProxy(base::ThreadTaskRunnerHandle::Get(),
43 input_device_factory_->GetWeakPtr())); 43 input_device_factory_->GetWeakPtr()));
44 44
45 init_runner_->PostTask(FROM_HERE, 45 init_runner_->PostTask(FROM_HERE,
46 base::Bind(init_callback_, base::Passed(&proxy))); 46 base::Bind(init_callback_, base::Passed(&proxy)));
47 } 47 }
48 48
49 void CleanUp() override { 49 void CleanUp() override {
50 TRACE_EVENT0("evdev", "EvdevThread::CleanUp"); 50 TRACE_EVENT0("evdev", "EvdevThread::CleanUp");
51 delete input_device_factory_; 51 delete input_device_factory_;
52 } 52 }
53 53
54 private: 54 private:
55 // Initialization bits passed from main thread. 55 // Initialization bits passed from main thread.
56 scoped_ptr<DeviceEventDispatcherEvdev> dispatcher_; 56 std::unique_ptr<DeviceEventDispatcherEvdev> dispatcher_;
57 CursorDelegateEvdev* cursor_; 57 CursorDelegateEvdev* cursor_;
58 EventThreadStartCallback init_callback_; 58 EventThreadStartCallback init_callback_;
59 scoped_refptr<base::SingleThreadTaskRunner> init_runner_; 59 scoped_refptr<base::SingleThreadTaskRunner> init_runner_;
60 60
61 // Thread-internal state. 61 // Thread-internal state.
62 InputDeviceFactoryEvdev* input_device_factory_ = nullptr; 62 InputDeviceFactoryEvdev* input_device_factory_ = nullptr;
63 }; 63 };
64 64
65 } // namespace 65 } // namespace
66 66
67 EventThreadEvdev::EventThreadEvdev() { 67 EventThreadEvdev::EventThreadEvdev() {
68 } 68 }
69 69
70 EventThreadEvdev::~EventThreadEvdev() { 70 EventThreadEvdev::~EventThreadEvdev() {
71 } 71 }
72 72
73 void EventThreadEvdev::Start(scoped_ptr<DeviceEventDispatcherEvdev> dispatcher, 73 void EventThreadEvdev::Start(
74 CursorDelegateEvdev* cursor, 74 std::unique_ptr<DeviceEventDispatcherEvdev> dispatcher,
75 const EventThreadStartCallback& callback) { 75 CursorDelegateEvdev* cursor,
76 const EventThreadStartCallback& callback) {
76 TRACE_EVENT0("evdev", "EventThreadEvdev::Start"); 77 TRACE_EVENT0("evdev", "EventThreadEvdev::Start");
77 thread_.reset(new EvdevThread(std::move(dispatcher), cursor, callback)); 78 thread_.reset(new EvdevThread(std::move(dispatcher), cursor, callback));
78 if (!thread_->StartWithOptions( 79 if (!thread_->StartWithOptions(
79 base::Thread::Options(base::MessageLoop::TYPE_UI, 0))) 80 base::Thread::Options(base::MessageLoop::TYPE_UI, 0)))
80 LOG(FATAL) << "Failed to create input thread"; 81 LOG(FATAL) << "Failed to create input thread";
81 } 82 }
82 83
83 } // namespace ui 84 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/ozone/evdev/event_thread_evdev.h ('k') | ui/events/ozone/evdev/input_controller_evdev.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698