Index: ash/wm/workspace/workspace_event_handler.cc |
diff --git a/ash/wm/workspace/workspace_event_handler.cc b/ash/wm/workspace/workspace_event_handler.cc |
index 2723bea1ef5c199bc661df13b4ac3eb7185bbbf1..e931b4ac701cddc1ef060efb33c231863404763b 100644 |
--- a/ash/wm/workspace/workspace_event_handler.cc |
+++ b/ash/wm/workspace/workspace_event_handler.cc |
@@ -54,14 +54,10 @@ void ToggleMaximizedState(wm::WindowState* window_state) { |
namespace internal { |
-WorkspaceEventHandler::WorkspaceEventHandler(aura::Window* owner) |
- : ToplevelWindowEventHandler(owner), |
- destroyed_(NULL) { |
+WorkspaceEventHandler::WorkspaceEventHandler() { |
} |
WorkspaceEventHandler::~WorkspaceEventHandler() { |
- if (destroyed_) |
- *destroyed_ = true; |
} |
void WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event) { |
@@ -82,23 +78,17 @@ void WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event) { |
case ui::ET_MOUSE_PRESSED: { |
// Maximize behavior is implemented as post-target handling so the target |
// can cancel it. |
- if (ui::EventCanceledDefaultHandling(*event)) { |
- ToplevelWindowEventHandler::OnMouseEvent(event); |
+ if (ui::EventCanceledDefaultHandling(*event)) |
return; |
- } |
wm::WindowState* target_state = wm::GetWindowState(target); |
if (event->flags() & ui::EF_IS_DOUBLE_CLICK && |
event->IsOnlyLeftMouseButton() && |
target->delegate()->GetNonClientComponent(event->location()) == |
HTCAPTION) { |
- bool destroyed = false; |
- destroyed_ = &destroyed; |
ash::Shell::GetInstance()->delegate()->RecordUserMetricsAction( |
ash::UMA_TOGGLE_MAXIMIZE_CAPTION_CLICK); |
ToggleMaximizedState(target_state); |
- if (destroyed) |
- return; |
- destroyed_ = NULL; |
+ event->StopPropagation(); |
} |
multi_window_resize_controller_.Hide(); |
HandleVerticalResizeDoubleClick(target_state, event); |
@@ -107,7 +97,6 @@ void WorkspaceEventHandler::OnMouseEvent(ui::MouseEvent* event) { |
default: |
break; |
} |
- ToplevelWindowEventHandler::OnMouseEvent(event); |
} |
void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) { |
@@ -122,7 +111,6 @@ void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) { |
// TouchUMA::GESTURE_MAXIMIZE_DOUBLETAP is counted once. |
TouchUMA::GetInstance()->RecordGestureAction( |
TouchUMA::GESTURE_MAXIMIZE_DOUBLETAP); |
- // |this| may be destroyed from here. |
ToggleMaximizedState(wm::GetWindowState(target)); |
event->StopPropagation(); |
return; |
@@ -132,7 +120,6 @@ void WorkspaceEventHandler::OnGestureEvent(ui::GestureEvent* event) { |
TouchUMA::GESTURE_FRAMEVIEW_TAP); |
} |
} |
- ToplevelWindowEventHandler::OnGestureEvent(event); |
} |
void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( |
@@ -154,6 +141,7 @@ void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( |
target->bounds().y() == work_area.y())) { |
SingleAxisUnmaximize(target_state, |
target_state->GetRestoreBoundsInScreen()); |
+ event->StopPropagation(); |
} else { |
gfx::Point origin = target->bounds().origin(); |
wm::ConvertPointToScreen(target->parent(), &origin); |
@@ -162,6 +150,7 @@ void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( |
work_area.y(), |
target->bounds().width(), |
work_area.height())); |
+ event->StopPropagation(); |
} |
} else if (component == HTLEFT || component == HTRIGHT) { |
// Don't maximize horizontally if the window has a max width defined. |
@@ -172,6 +161,7 @@ void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( |
target->bounds().x() == work_area.x())) { |
SingleAxisUnmaximize(target_state, |
target_state->GetRestoreBoundsInScreen()); |
+ event->StopPropagation(); |
} else { |
gfx::Point origin = target->bounds().origin(); |
wm::ConvertPointToScreen(target->parent(), &origin); |
@@ -180,6 +170,7 @@ void WorkspaceEventHandler::HandleVerticalResizeDoubleClick( |
origin.y(), |
work_area.width(), |
target->bounds().height())); |
+ event->StopPropagation(); |
} |
} |
} |