| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "services/window_manager/view_targeter.h" | 5 #include "services/window_manager/view_targeter.h" |
| 6 | 6 |
| 7 #include "services/window_manager/capture_controller.h" | 7 #include "services/window_manager/capture_controller.h" |
| 8 #include "services/window_manager/focus_controller.h" | 8 #include "services/window_manager/focus_controller.h" |
| 9 #include "services/window_manager/view_target.h" | 9 #include "services/window_manager/view_target.h" |
| 10 | 10 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 ui::EventTarget* root, | 35 ui::EventTarget* root, |
| 36 ui::LocatedEvent* event) { | 36 ui::LocatedEvent* event) { |
| 37 ViewTarget* view = static_cast<ViewTarget*>(root); | 37 ViewTarget* view = static_cast<ViewTarget*>(root); |
| 38 if (!view->HasParent()) { | 38 if (!view->HasParent()) { |
| 39 ViewTarget* target = FindTargetInRootView(view, *event); | 39 ViewTarget* target = FindTargetInRootView(view, *event); |
| 40 if (target) { | 40 if (target) { |
| 41 view->ConvertEventToTarget(target, event); | 41 view->ConvertEventToTarget(target, event); |
| 42 return target; | 42 return target; |
| 43 } | 43 } |
| 44 } | 44 } |
| 45 if (view->view()->shared_properties().count("event-root")) | |
| 46 return view; | |
| 47 return EventTargeter::FindTargetForLocatedEvent(view, event); | 45 return EventTargeter::FindTargetForLocatedEvent(view, event); |
| 48 } | 46 } |
| 49 | 47 |
| 50 bool ViewTargeter::SubtreeCanAcceptEvent(ui::EventTarget* target, | 48 bool ViewTargeter::SubtreeCanAcceptEvent(ui::EventTarget* target, |
| 51 const ui::LocatedEvent& event) const { | 49 const ui::LocatedEvent& event) const { |
| 52 ViewTarget* view = static_cast<ViewTarget*>(target); | 50 ViewTarget* view = static_cast<ViewTarget*>(target); |
| 53 | 51 |
| 54 if (!view->IsVisible()) | 52 if (!view->IsVisible()) |
| 55 return false; | 53 return false; |
| 56 | 54 |
| 57 // TODO(erg): We may need to keep track of the parent on ViewTarget, because | 55 // TODO(erg): We may need to keep track of the parent on ViewTarget, because |
| 58 // we have a check here about | 56 // we have a check here about |
| 59 // WindowDelegate::ShouldDescendIntoChildForEventHandling(). | 57 // WindowDelegate::ShouldDescendIntoChildForEventHandling(). |
| 60 | 58 |
| 59 // TODO(sky): decide if we really want this. If we do, it should be a public |
| 60 // constant and documented. |
| 61 if (view->view()->shared_properties().count("deliver-events-to-parent")) |
| 62 return false; |
| 63 |
| 61 return true; | 64 return true; |
| 62 } | 65 } |
| 63 | 66 |
| 64 bool ViewTargeter::EventLocationInsideBounds( | 67 bool ViewTargeter::EventLocationInsideBounds( |
| 65 ui::EventTarget* target, | 68 ui::EventTarget* target, |
| 66 const ui::LocatedEvent& event) const { | 69 const ui::LocatedEvent& event) const { |
| 67 ViewTarget* view = static_cast<ViewTarget*>(target); | 70 ViewTarget* view = static_cast<ViewTarget*>(target); |
| 68 gfx::Point point = event.location(); | 71 gfx::Point point = event.location(); |
| 69 const ViewTarget* parent = view->GetParent(); | 72 const ViewTarget* parent = view->GetParent(); |
| 70 if (parent) | 73 if (parent) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 97 return ViewTarget::TargetFromView(capture_view); | 100 return ViewTarget::TargetFromView(capture_view); |
| 98 } | 101 } |
| 99 | 102 |
| 100 // TODO(erg): There's a whole bunch of junk about handling touch events | 103 // TODO(erg): There's a whole bunch of junk about handling touch events |
| 101 // here. Handle later. | 104 // here. Handle later. |
| 102 | 105 |
| 103 return nullptr; | 106 return nullptr; |
| 104 } | 107 } |
| 105 | 108 |
| 106 } // namespace window_manager | 109 } // namespace window_manager |
| OLD | NEW |