event_processor.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
15faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org// Copyright 2013 The Chromium Authors. All rights reserved.
25faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org// Use of this source code is governed by a BSD-style license that can be
35faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org// found in the LICENSE file.
45faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
55faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org#include "ui/events/event_processor.h"
65faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
75faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org#include "ui/events/event_target.h"
85faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org#include "ui/events/event_targeter.h"
95faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
105faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.orgnamespace ui {
115faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
125faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.orgEventDispatchDetails EventProcessor::OnEventFromSource(Event* event) {
135faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  EventTarget* root = GetRootTarget();
145faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  CHECK(root);
155faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  EventTargeter* targeter = root->GetEventTargeter();
165faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  CHECK(targeter);
175faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  PrepareEventForDispatch(event);
185faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  EventTarget* target = targeter->FindTargetForEvent(root, event);
195faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  if (!target)
205faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org    return EventDispatchDetails();
215faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
225faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org  return DispatchEvent(target, event);
235faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org}
245faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
255faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.orgvoid EventProcessor::PrepareEventForDispatch(Event* event) {
265faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org}
275faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org
285faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org}  // namespace ui
295faa2dc266ec933b3961f985e5718236f1ecbe47senorblanco@chromium.org