• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "ui/events/event_processor.h"
6 
7 #include "ui/events/event_target.h"
8 #include "ui/events/event_targeter.h"
9 
10 namespace ui {
11 
OnEventFromSource(Event * event)12 EventDispatchDetails EventProcessor::OnEventFromSource(Event* event) {
13   EventTarget* root = GetRootTarget();
14   CHECK(root);
15   EventTargeter* targeter = root->GetEventTargeter();
16   CHECK(targeter);
17 
18   PrepareEventForDispatch(event);
19   EventTarget* target = targeter->FindTargetForEvent(root, event);
20 
21   while (target) {
22     EventDispatchDetails details = DispatchEvent(target, event);
23     if (details.dispatcher_destroyed ||
24         details.target_destroyed ||
25         event->handled()) {
26       return details;
27     }
28 
29     target = targeter->FindNextBestTarget(target, event);
30   }
31 
32   return EventDispatchDetails();
33 }
34 
PrepareEventForDispatch(Event * event)35 void EventProcessor::PrepareEventForDispatch(Event* event) {
36 }
37 
38 }  // namespace ui
39