| Index: ui/events/event_targeter.cc
|
| diff --git a/ui/events/event_targeter.cc b/ui/events/event_targeter.cc
|
| index 41d44426596cee34473be261c1e43741314919d1..50fe7e92051814b2d7d7c6996e1571aa1c1ac1c4 100644
|
| --- a/ui/events/event_targeter.cc
|
| +++ b/ui/events/event_targeter.cc
|
| @@ -32,16 +32,18 @@ EventTarget* EventTargeter::FindTargetForLocatedEvent(EventTarget* root,
|
| EventTarget* target = root;
|
| EventTarget* child = NULL;
|
| while ((child = iter->GetNextTarget())) {
|
| - if (!SubtreeShouldBeExploredForEvent(child, *event))
|
| + EventTargeter* targeter = child->GetEventTargeter();
|
| + if (!targeter)
|
| + targeter = this;
|
| + if (!targeter->SubtreeShouldBeExploredForEvent(child, *event))
|
| continue;
|
| target->ConvertEventToTarget(child, event);
|
| - EventTargeter* targeter = child->GetEventTargeter();
|
| + target = child;
|
| EventTarget* child_target = targeter ?
|
| targeter->FindTargetForLocatedEvent(child, event) :
|
| FindTargetForLocatedEvent(child, event);
|
| if (child_target)
|
| return child_target;
|
| - target = child;
|
| }
|
| target->ConvertEventToTarget(root, event);
|
| }
|
|
|