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

Side by Side Diff: athena/wm/window_overview_mode.cc

Issue 546123002: Ensure that an activity is activated when overview mode is exited (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months 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 unified diff | Download patch
OLDNEW
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 "athena/wm/window_overview_mode.h" 5 #include "athena/wm/window_overview_mode.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 dragged_window_->layer()->SetOpacity(1.f); 585 dragged_window_->layer()->SetOpacity(1.f);
586 dragged_window_ = NULL; 586 dragged_window_ = NULL;
587 } 587 }
588 588
589 void EndDragWindow(const ui::GestureEvent& gesture) { 589 void EndDragWindow(const ui::GestureEvent& gesture) {
590 CHECK(dragged_window_); 590 CHECK(dragged_window_);
591 CHECK(overview_toolbar_); 591 CHECK(overview_toolbar_);
592 OverviewToolbar::ActionType action = overview_toolbar_->current_action(); 592 OverviewToolbar::ActionType action = overview_toolbar_->current_action();
593 overview_toolbar_.reset(); 593 overview_toolbar_.reset();
594 if (action == OverviewToolbar::ACTION_TYPE_SPLIT) { 594 if (action == OverviewToolbar::ACTION_TYPE_SPLIT) {
595 delegate_->OnSplitViewMode(NULL, dragged_window_); 595 delegate_->OnSelectSplitViewWindow(NULL,
596 dragged_window_,
597 dragged_window_);
596 return; 598 return;
597 } 599 }
598 600
599 // If the window is dropped on one of the left/right windows in split-mode, 601 // If the window is dropped on one of the left/right windows in split-mode,
600 // then switch that window. 602 // then switch that window.
601 aura::Window* split_drop = GetSplitWindowDropTarget(gesture); 603 aura::Window* split_drop = GetSplitWindowDropTarget(gesture);
602 if (split_drop) { 604 if (split_drop) {
603 aura::Window* left = split_view_controller_->left_window(); 605 aura::Window* left = split_view_controller_->left_window();
604 aura::Window* right = split_view_controller_->right_window(); 606 aura::Window* right = split_view_controller_->right_window();
605 if (left == split_drop) 607 if (left == split_drop)
606 left = dragged_window_; 608 left = dragged_window_;
607 else 609 else
608 right = dragged_window_; 610 right = dragged_window_;
609 delegate_->OnSplitViewMode(left, right); 611 delegate_->OnSelectSplitViewWindow(left, right, dragged_window_);
610 return; 612 return;
611 } 613 }
612 614
613 if (ShouldCloseDragWindow(gesture)) 615 if (ShouldCloseDragWindow(gesture))
614 CloseDragWindow(gesture); 616 CloseDragWindow(gesture);
615 else 617 else
616 RestoreDragWindow(); 618 RestoreDragWindow();
617 } 619 }
618 620
619 void SelectWindow(aura::Window* window) { 621 void SelectWindow(aura::Window* window) {
620 if (!split_view_controller_->IsSplitViewModeActive()) { 622 if (!split_view_controller_->IsSplitViewModeActive()) {
621 delegate_->OnSelectWindow(window); 623 delegate_->OnSelectWindow(window);
622 } else { 624 } else {
623 // If the selected window is one of the left/right windows, then keep the 625 // If the selected window is one of the left/right windows, then keep the
624 // current state. 626 // current state.
625 if (window == split_view_controller_->left_window() || 627 if (window == split_view_controller_->left_window() ||
626 window == split_view_controller_->right_window()) { 628 window == split_view_controller_->right_window()) {
627 delegate_->OnSplitViewMode(split_view_controller_->left_window(), 629 delegate_->OnSelectSplitViewWindow(
628 split_view_controller_->right_window()); 630 split_view_controller_->left_window(),
631 split_view_controller_->right_window(),
632 window);
629 } else { 633 } else {
630 delegate_->OnSelectWindow(window); 634 delegate_->OnSelectWindow(window);
631 } 635 }
632 } 636 }
633 } 637 }
634 638
635 // ui::EventHandler: 639 // ui::EventHandler:
636 virtual void OnMouseEvent(ui::MouseEvent* mouse) OVERRIDE { 640 virtual void OnMouseEvent(ui::MouseEvent* mouse) OVERRIDE {
637 if (mouse->type() == ui::ET_MOUSE_PRESSED) { 641 if (mouse->type() == ui::ET_MOUSE_PRESSED) {
638 aura::Window* select = SelectWindowAt(mouse); 642 aura::Window* select = SelectWindowAt(mouse);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 aura::Window* container, 757 aura::Window* container,
754 const WindowListProvider* window_list_provider, 758 const WindowListProvider* window_list_provider,
755 SplitViewController* split_view_controller, 759 SplitViewController* split_view_controller,
756 WindowOverviewModeDelegate* delegate) { 760 WindowOverviewModeDelegate* delegate) {
757 return scoped_ptr<WindowOverviewMode>( 761 return scoped_ptr<WindowOverviewMode>(
758 new WindowOverviewModeImpl(container, window_list_provider, 762 new WindowOverviewModeImpl(container, window_list_provider,
759 split_view_controller, delegate)); 763 split_view_controller, delegate));
760 } 764 }
761 765
762 } // namespace athena 766 } // namespace athena
OLDNEW
« athena/wm/window_manager_unittest.cc ('K') | « athena/wm/window_overview_mode.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698