| Index: ui/views/widget/native_widget_aura.cc
|
| diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc
|
| index fa5ee73435153f5ad777d550dad7bef87e13aa8a..d2fd5e181bdd10a2498fb9cad27987dceeb6b4be 100644
|
| --- a/ui/views/widget/native_widget_aura.cc
|
| +++ b/ui/views/widget/native_widget_aura.cc
|
| @@ -760,7 +760,14 @@ int NativeWidgetAura::GetNonClientComponent(const gfx::Point& point) const {
|
|
|
| bool NativeWidgetAura::ShouldDescendIntoChildForEventHandling(
|
| aura::Window* child,
|
| - const gfx::Point& location) {
|
| + const gfx::Point& event_location,
|
| + ui::EventType event_type) {
|
| + views::WidgetDelegate* widget_delegate = GetWidget()->widget_delegate();
|
| + if (widget_delegate &&
|
| + !widget_delegate->ShouldDescendIntoChildForEventHandling(
|
| + child, event_location, event_type))
|
| + return false;
|
| +
|
| // Don't descend into |child| if there is a view with a Layer that contains
|
| // the point and is stacked above |child|s layer.
|
| typedef std::vector<ui::Layer*> Layers;
|
| @@ -777,7 +784,7 @@ bool NativeWidgetAura::ShouldDescendIntoChildForEventHandling(
|
| for (std::vector<ui::Layer*>::const_reverse_iterator i = root_layers.rbegin();
|
| i != root_layers.rend(); ++i) {
|
| ui::Layer* layer = *i;
|
| - if (layer->visible() && layer->bounds().Contains(location)) {
|
| + if (layer->visible() && layer->bounds().Contains(event_location)) {
|
| Layers::const_iterator root_layer_iter(
|
| std::find(window_->layer()->children().begin(),
|
| window_->layer()->children().end(), layer));
|
|
|