Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ui / events / event_targeter.cc
index 85b4c3f..3cdc83e 100644 (file)
@@ -30,8 +30,8 @@ EventTarget* EventTargeter::FindTargetForLocatedEvent(EventTarget* root,
   scoped_ptr<EventTargetIterator> iter = root->GetChildIterator();
   if (iter) {
     EventTarget* target = root;
-    EventTarget* child = NULL;
-    while ((child = iter->GetNextTarget())) {
+    for (EventTarget* child = iter->GetNextTarget(); child;
+         child = iter->GetNextTarget()) {
       EventTargeter* targeter = child->GetEventTargeter();
       if (!targeter)
         targeter = this;
@@ -52,7 +52,8 @@ EventTarget* EventTargeter::FindTargetForLocatedEvent(EventTarget* root,
 
 bool EventTargeter::SubtreeShouldBeExploredForEvent(EventTarget* target,
                                                     const LocatedEvent& event) {
-  return true;
+  return SubtreeCanAcceptEvent(target, event) &&
+         EventLocationInsideBounds(target, event);
 }
 
 EventTarget* EventTargeter::FindNextBestTarget(EventTarget* previous_target,
@@ -60,4 +61,14 @@ EventTarget* EventTargeter::FindNextBestTarget(EventTarget* previous_target,
   return NULL;
 }
 
+bool EventTargeter::SubtreeCanAcceptEvent(EventTarget* target,
+                                          const LocatedEvent& event) const {
+  return true;
+}
+
+bool EventTargeter::EventLocationInsideBounds(EventTarget* target,
+                                              const LocatedEvent& event) const {
+  return true;
+}
+
 }  // namespace ui