| Index: ash/wm/toplevel_window_event_handler.cc
|
| diff --git a/ash/wm/toplevel_window_event_handler.cc b/ash/wm/toplevel_window_event_handler.cc
|
| index 10b2a886edb2212b6f8b837baf128f483dab7e9f..8bce4fd599f0d0f593a26f1a343393268e3ff93f 100644
|
| --- a/ash/wm/toplevel_window_event_handler.cc
|
| +++ b/ash/wm/toplevel_window_event_handler.cc
|
| @@ -72,16 +72,9 @@ class ToplevelWindowEventHandler::ScopedWindowResizer
|
| wm::WindowShowType type) OVERRIDE;
|
|
|
| private:
|
| - void AddHandlers(aura::Window* container);
|
| - void RemoveHandlers();
|
| -
|
| ToplevelWindowEventHandler* handler_;
|
| scoped_ptr<WindowResizer> resizer_;
|
|
|
| - // If not NULL, this is an additional container that the dragged window has
|
| - // moved to which ScopedWindowResizer has temporarily added observers on.
|
| - aura::Window* target_container_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(ScopedWindowResizer);
|
| };
|
|
|
| @@ -89,8 +82,7 @@ ToplevelWindowEventHandler::ScopedWindowResizer::ScopedWindowResizer(
|
| ToplevelWindowEventHandler* handler,
|
| WindowResizer* resizer)
|
| : handler_(handler),
|
| - resizer_(resizer),
|
| - target_container_(NULL) {
|
| + resizer_(resizer) {
|
| if (resizer_) {
|
| resizer_->GetTarget()->AddObserver(this);
|
| wm::GetWindowState(resizer_->GetTarget())->AddObserver(this);
|
| @@ -98,7 +90,6 @@ ToplevelWindowEventHandler::ScopedWindowResizer::ScopedWindowResizer(
|
| }
|
|
|
| ToplevelWindowEventHandler::ScopedWindowResizer::~ScopedWindowResizer() {
|
| - RemoveHandlers();
|
| if (resizer_) {
|
| resizer_->GetTarget()->RemoveObserver(this);
|
| wm::GetWindowState(resizer_->GetTarget())->RemoveObserver(this);
|
| @@ -110,12 +101,10 @@ void ToplevelWindowEventHandler::ScopedWindowResizer::OnWindowHierarchyChanging(
|
| if (params.receiver != resizer_->GetTarget())
|
| return;
|
| wm::WindowState* state = wm::GetWindowState(params.receiver);
|
| - if (state->continue_drag_after_reparent()) {
|
| + if (state->continue_drag_after_reparent())
|
| state->set_continue_drag_after_reparent(false);
|
| - AddHandlers(params.new_parent);
|
| - } else {
|
| + else
|
| handler_->CompleteDrag(DRAG_COMPLETE, 0);
|
| - }
|
| }
|
|
|
| void ToplevelWindowEventHandler::ScopedWindowResizer::OnWindowShowTypeChanged(
|
| @@ -132,37 +121,14 @@ void ToplevelWindowEventHandler::ScopedWindowResizer::OnWindowDestroying(
|
| handler_->ResizerWindowDestroyed();
|
| }
|
|
|
| -void ToplevelWindowEventHandler::ScopedWindowResizer::AddHandlers(
|
| - aura::Window* container) {
|
| - RemoveHandlers();
|
| - if (!handler_->owner()->Contains(container)) {
|
| - container->AddPreTargetHandler(handler_);
|
| - container->AddPostTargetHandler(handler_);
|
| - target_container_ = container;
|
| - }
|
| -}
|
| -
|
| -void ToplevelWindowEventHandler::ScopedWindowResizer::RemoveHandlers() {
|
| - if (target_container_) {
|
| - target_container_->RemovePreTargetHandler(handler_);
|
| - target_container_->RemovePostTargetHandler(handler_);
|
| - target_container_ = NULL;
|
| - }
|
| -}
|
| -
|
| -
|
| // ToplevelWindowEventHandler --------------------------------------------------
|
|
|
| -ToplevelWindowEventHandler::ToplevelWindowEventHandler(aura::Window* owner)
|
| - : owner_(owner),
|
| - in_move_loop_(false),
|
| +ToplevelWindowEventHandler::ToplevelWindowEventHandler()
|
| + : in_move_loop_(false),
|
| move_cancelled_(false),
|
| in_gesture_drag_(false),
|
| destroyed_(NULL) {
|
| - aura::client::SetWindowMoveClient(owner, this);
|
| Shell::GetInstance()->display_controller()->AddObserver(this);
|
| - owner->AddPreTargetHandler(this);
|
| - owner->AddPostTargetHandler(this);
|
| }
|
|
|
| ToplevelWindowEventHandler::~ToplevelWindowEventHandler() {
|
| @@ -433,11 +399,10 @@ void ToplevelWindowEventHandler::HandleMousePressed(
|
| ConvertPointToParent(target, event->location()));
|
| CreateScopedWindowResizer(target, location_in_parent, component,
|
| aura::client::WINDOW_MOVE_SOURCE_MOUSE);
|
| + event->StopPropagation();
|
| } else {
|
| window_resizer_.reset();
|
| }
|
| - if (WindowResizer::GetBoundsChangeForWindowComponent(component) != 0)
|
| - event->StopPropagation();
|
| }
|
|
|
| void ToplevelWindowEventHandler::HandleMouseReleased(
|
|
|