Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3254)

Unified Diff: ash/wm/workspace/workspace_event_handler.cc

Issue 114643003: Use a single ToplevelWindowEventHandler for the ash::Shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}
}
}

Powered by Google App Engine
This is Rietveld 408576698