Index: views/events/event.cc |
diff --git a/views/events/event.cc b/views/events/event.cc |
index a8db13203077f63a89e012cd138e5a79032e59d8..efb2cbfb691e22ed3fb2ddeee24073a65551c61c 100644 |
--- a/views/events/event.cc |
+++ b/views/events/event.cc |
@@ -20,14 +20,16 @@ Event::Event(ui::EventType type, int flags) |
Init(); |
} |
-Event::Event(NativeEvent native_event, ui::EventType type, int flags) |
+Event::Event(const NativeEvent& native_event, ui::EventType type, int flags) |
: type_(type), |
time_stamp_(base::Time::NowFromSystemTime()), |
flags_(flags) { |
InitWithNativeEvent(native_event); |
} |
-Event::Event(NativeEvent2 native_event_2, ui::EventType type, int flags, |
+Event::Event(const NativeEvent2& native_event_2, |
+ ui::EventType type, |
+ int flags, |
FromNativeEvent2 from_native) |
: native_event_2_(native_event_2), |
type_(type), |
@@ -36,17 +38,34 @@ Event::Event(NativeEvent2 native_event_2, ui::EventType type, int flags, |
InitWithNativeEvent2(native_event_2, from_native); |
} |
+void Event::InitWithNativeEvent(const NativeEvent& native_event) { |
+ native_event_ = native_event; |
+ // TODO(beng): remove once we rid views of Gtk/Gdk. |
+ native_event_2_ = NULL; |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// LocatedEvent, protected: |
+#if !defined(USE_AURA) |
+LocatedEvent::LocatedEvent(const NativeEvent& native_event) |
+ : Event(native_event, |
+ ui::EventTypeFromNative(native_event), |
+ ui::EventFlagsFromNative(native_event)), |
+ location_(ui::EventLocationFromNative(native_event)) { |
+} |
+#endif |
+ |
// TODO(msw): Kill this legacy constructor when we update uses. |
-LocatedEvent::LocatedEvent(ui::EventType type, const gfx::Point& location, |
+LocatedEvent::LocatedEvent(ui::EventType type, |
+ const gfx::Point& location, |
int flags) |
: Event(type, flags), |
location_(location) { |
} |
-LocatedEvent::LocatedEvent(const LocatedEvent& model, View* source, |
+LocatedEvent::LocatedEvent(const LocatedEvent& model, |
+ View* source, |
View* target) |
: Event(model), |
location_(model.location_) { |
@@ -63,7 +82,19 @@ LocatedEvent::LocatedEvent(const LocatedEvent& model, View* root) |
//////////////////////////////////////////////////////////////////////////////// |
// KeyEvent, public: |
-KeyEvent::KeyEvent(ui::EventType type, ui::KeyboardCode key_code, |
+#if !defined(USE_AURA) |
+KeyEvent::KeyEvent(const NativeEvent& native_event) |
+ : Event(native_event, |
+ ui::EventTypeFromNative(native_event), |
+ ui::EventFlagsFromNative(native_event)), |
+ key_code_(ui::KeyboardCodeFromNative(native_event)), |
+ character_(0), |
+ unmodified_character_(0) { |
+} |
+#endif |
+ |
+KeyEvent::KeyEvent(ui::EventType type, |
+ ui::KeyboardCode key_code, |
int event_flags) |
: Event(type, event_flags), |
key_code_(key_code), |
@@ -175,6 +206,10 @@ uint16 KeyEvent::GetCharacterFromKeyCode(ui::KeyboardCode key_code, int flags) { |
//////////////////////////////////////////////////////////////////////////////// |
// MouseEvent, public: |
+MouseEvent::MouseEvent(const NativeEvent& native_event) |
+ : LocatedEvent(native_event) { |
+} |
+ |
MouseEvent::MouseEvent(const MouseEvent& model, View* source, View* target) |
: LocatedEvent(model, source, target) { |
} |