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

Side by Side Diff: ui/events/event.h

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
« no previous file with comments | « ui/events/devices/x11/device_list_cache_x11.h ('k') | ui/events/event.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef UI_EVENTS_EVENT_H_ 5 #ifndef UI_EVENTS_EVENT_H_
6 #define UI_EVENTS_EVENT_H_ 6 #define UI_EVENTS_EVENT_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9
10 #include <memory>
11
9 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
10 #include "base/event_types.h" 13 #include "base/event_types.h"
11 #include "base/gtest_prod_util.h" 14 #include "base/gtest_prod_util.h"
12 #include "base/logging.h" 15 #include "base/logging.h"
13 #include "base/macros.h" 16 #include "base/macros.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "base/time/time.h" 17 #include "base/time/time.h"
16 #include "ui/events/event_constants.h" 18 #include "ui/events/event_constants.h"
17 #include "ui/events/gesture_event_details.h" 19 #include "ui/events/gesture_event_details.h"
18 #include "ui/events/gestures/gesture_types.h" 20 #include "ui/events/gestures/gesture_types.h"
19 #include "ui/events/keycodes/dom/dom_key.h" 21 #include "ui/events/keycodes/dom/dom_key.h"
20 #include "ui/events/keycodes/keyboard_codes.h" 22 #include "ui/events/keycodes/keyboard_codes.h"
21 #include "ui/events/latency_info.h" 23 #include "ui/events/latency_info.h"
22 #include "ui/gfx/geometry/point.h" 24 #include "ui/gfx/geometry/point.h"
23 #include "ui/gfx/geometry/point_conversions.h" 25 #include "ui/gfx/geometry/point_conversions.h"
24 26
(...skipping 10 matching lines...) Expand all
35 class KeyEvent; 37 class KeyEvent;
36 class MouseEvent; 38 class MouseEvent;
37 class MouseWheelEvent; 39 class MouseWheelEvent;
38 class PointerEvent; 40 class PointerEvent;
39 class ScrollEvent; 41 class ScrollEvent;
40 class TouchEvent; 42 class TouchEvent;
41 enum class DomCode; 43 enum class DomCode;
42 class Event; 44 class Event;
43 class MouseWheelEvent; 45 class MouseWheelEvent;
44 46
45 using ScopedEvent = scoped_ptr<Event>; 47 using ScopedEvent = std::unique_ptr<Event>;
46 48
47 class EVENTS_EXPORT Event { 49 class EVENTS_EXPORT Event {
48 public: 50 public:
49 static scoped_ptr<Event> Clone(const Event& event); 51 static std::unique_ptr<Event> Clone(const Event& event);
50 52
51 virtual ~Event(); 53 virtual ~Event();
52 54
53 class DispatcherApi { 55 class DispatcherApi {
54 public: 56 public:
55 explicit DispatcherApi(Event* event) : event_(event) {} 57 explicit DispatcherApi(Event* event) : event_(event) {}
56 58
57 void set_target(EventTarget* target) { 59 void set_target(EventTarget* target) {
58 event_->target_ = target; 60 event_->target_ = target;
59 } 61 }
(...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 KeyEvent& operator=(const KeyEvent& rhs); 854 KeyEvent& operator=(const KeyEvent& rhs);
853 855
854 ~KeyEvent() override; 856 ~KeyEvent() override;
855 857
856 // TODO(erg): While we transition to mojo, we have to hack around a mismatch 858 // TODO(erg): While we transition to mojo, we have to hack around a mismatch
857 // in our event types. Our ui::Events don't really have all the data we need 859 // in our event types. Our ui::Events don't really have all the data we need
858 // to process key events, and we instead do per-platform conversions with 860 // to process key events, and we instead do per-platform conversions with
859 // native HWNDs or XEvents. And we can't reliably send those native data 861 // native HWNDs or XEvents. And we can't reliably send those native data
860 // types across mojo types in a cross-platform way. So instead, we set the 862 // types across mojo types in a cross-platform way. So instead, we set the
861 // resulting data when read across IPC boundaries. 863 // resulting data when read across IPC boundaries.
862 void SetExtendedKeyEventData(scoped_ptr<ExtendedKeyEventData> data); 864 void SetExtendedKeyEventData(std::unique_ptr<ExtendedKeyEventData> data);
863 const ExtendedKeyEventData* extended_key_event_data() const { 865 const ExtendedKeyEventData* extended_key_event_data() const {
864 return extended_key_event_data_.get(); 866 return extended_key_event_data_.get();
865 } 867 }
866 868
867 // This bypasses the normal mapping from keystroke events to characters, 869 // This bypasses the normal mapping from keystroke events to characters,
868 // which allows an I18N virtual keyboard to fabricate a keyboard event that 870 // which allows an I18N virtual keyboard to fabricate a keyboard event that
869 // does not have a corresponding KeyboardCode (example: U+00E1 Latin small 871 // does not have a corresponding KeyboardCode (example: U+00E1 Latin small
870 // letter A with acute, U+0410 Cyrillic capital letter A). 872 // letter A with acute, U+0410 Cyrillic capital letter A).
871 void set_character(base::char16 character) { 873 void set_character(base::char16 character) {
872 key_ = DomKey::FromCharacter(character); 874 key_ = DomKey::FromCharacter(character);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 // This value represents the meaning of a key, which is either a Unicode 967 // This value represents the meaning of a key, which is either a Unicode
966 // character, or a named DomKey:: value. 968 // character, or a named DomKey:: value.
967 // This is not necessarily initialized when the event is constructed; 969 // This is not necessarily initialized when the event is constructed;
968 // it may be set only if and when GetCharacter() or GetDomKey() is called. 970 // it may be set only if and when GetCharacter() or GetDomKey() is called.
969 mutable DomKey key_ = DomKey::NONE; 971 mutable DomKey key_ = DomKey::NONE;
970 972
971 // Parts of our event handling require raw native events (see both the 973 // Parts of our event handling require raw native events (see both the
972 // windows and linux implementations of web_input_event in content/). Because 974 // windows and linux implementations of web_input_event in content/). Because
973 // mojo instead serializes and deserializes events in potentially different 975 // mojo instead serializes and deserializes events in potentially different
974 // processes, we need to have a mechanism to keep track of this data. 976 // processes, we need to have a mechanism to keep track of this data.
975 scoped_ptr<ExtendedKeyEventData> extended_key_event_data_; 977 std::unique_ptr<ExtendedKeyEventData> extended_key_event_data_;
976 978
977 static bool IsRepeated(const KeyEvent& event); 979 static bool IsRepeated(const KeyEvent& event);
978 980
979 static KeyEvent* last_key_event_; 981 static KeyEvent* last_key_event_;
980 }; 982 };
981 983
982 class EVENTS_EXPORT ScrollEvent : public MouseEvent { 984 class EVENTS_EXPORT ScrollEvent : public MouseEvent {
983 public: 985 public:
984 explicit ScrollEvent(const base::NativeEvent& native_event); 986 explicit ScrollEvent(const base::NativeEvent& native_event);
985 template <class T> 987 template <class T>
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1060 : LocatedEvent(type, time_stamp, flags) {} 1062 : LocatedEvent(type, time_stamp, flags) {}
1061 friend struct IPC::ParamTraits<ui::ScopedEvent>; 1063 friend struct IPC::ParamTraits<ui::ScopedEvent>;
1062 friend struct IPC::ParamTraits<ui::GestureEvent>; 1064 friend struct IPC::ParamTraits<ui::GestureEvent>;
1063 1065
1064 GestureEventDetails details_; 1066 GestureEventDetails details_;
1065 }; 1067 };
1066 1068
1067 } // namespace ui 1069 } // namespace ui
1068 1070
1069 #endif // UI_EVENTS_EVENT_H_ 1071 #endif // UI_EVENTS_EVENT_H_
OLDNEW
« no previous file with comments | « ui/events/devices/x11/device_list_cache_x11.h ('k') | ui/events/event.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698