| Index: ui/events/ozone/event_factory_ozone.cc | 
| diff --git a/ui/events/ozone/event_factory_ozone.cc b/ui/events/ozone/event_factory_ozone.cc | 
| index b051e21daeedbce91c9726a4c41415c1718793b1..9c832b7817b8d51dd10257cc05a4a6d04ff7e416 100644 | 
| --- a/ui/events/ozone/event_factory_ozone.cc | 
| +++ b/ui/events/ozone/event_factory_ozone.cc | 
| @@ -18,8 +18,6 @@ EventFactoryOzone* EventFactoryOzone::impl_ = NULL; | 
| EventFactoryOzone::EventFactoryOzone() {} | 
|  | 
| EventFactoryOzone::~EventFactoryOzone() { | 
| -  // Always delete watchers before converters to prevent a possible race. | 
| -  STLDeleteValues<std::map<int, FDWatcher> >(&watchers_); | 
| STLDeleteValues<std::map<int, Converter> >(&converters_); | 
| } | 
|  | 
| @@ -35,26 +33,13 @@ void EventFactoryOzone::StartProcessingEvents() {} | 
| void EventFactoryOzone::AddEventConverter( | 
| int fd, | 
| scoped_ptr<EventConverterOzone> converter) { | 
| -  CHECK(watchers_.count(fd) == 0 && converters_.count(fd) == 0); | 
| - | 
| -  FDWatcher watcher = new base::MessagePumpLibevent::FileDescriptorWatcher(); | 
| - | 
| -  base::MessagePumpOzone::Current()->WatchFileDescriptor( | 
| -      fd, | 
| -      true, | 
| -      base::MessagePumpLibevent::WATCH_READ, | 
| -      watcher, | 
| -      converter.get()); | 
| - | 
| +  CHECK_EQ(converters_.count(fd), 0); | 
| +  converter->Start(); | 
| converters_[fd] = converter.release(); | 
| -  watchers_[fd] = watcher; | 
| } | 
|  | 
| void EventFactoryOzone::RemoveEventConverter(int fd) { | 
| -  // Always delete watchers before converters to prevent a possible race. | 
| -  delete watchers_[fd]; | 
| delete converters_[fd]; | 
| -  watchers_.erase(fd); | 
| converters_.erase(fd); | 
| } | 
|  | 
|  |