OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/ui/views/tabs/tab_drag_controller2.h" | 5 #include "chrome/browser/ui/views/tabs/tab_drag_controller2.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
600 } | 600 } |
601 if (is_dragging_window_) { | 601 if (is_dragging_window_) { |
602 BrowserView* browser_view = GetAttachedBrowserView(); | 602 BrowserView* browser_view = GetAttachedBrowserView(); |
603 // Need to release the drag controller before starting the move loop as | 603 // Need to release the drag controller before starting the move loop as |
604 // it's going to trigger capture lost, which cancels drag. | 604 // it's going to trigger capture lost, which cancels drag. |
605 attached_tabstrip_->ReleaseDragController(); | 605 attached_tabstrip_->ReleaseDragController(); |
606 target_tabstrip->OwnDragController(this); | 606 target_tabstrip->OwnDragController(this); |
607 // Disable animations so that we don't see a close animation on aero. | 607 // Disable animations so that we don't see a close animation on aero. |
608 browser_view->GetWidget()->SetVisibilityChangedAnimationsEnabled(false); | 608 browser_view->GetWidget()->SetVisibilityChangedAnimationsEnabled(false); |
609 browser_view->GetWidget()->ReleaseMouseCapture(); | 609 browser_view->GetWidget()->ReleaseMouseCapture(); |
610 // EndMoveLoop is going to snap the window back to it's original location. | 610 // EndMoveLoop is going to snap the window back to its original location. |
611 // Hide it so users don't see this. | 611 // Hide it so users don't see this. |
612 browser_view->GetWidget()->Hide(); | 612 browser_view->GetWidget()->Hide(); |
613 browser_view->GetWidget()->EndMoveLoop(); | 613 browser_view->GetWidget()->EndMoveLoop(); |
614 | 614 |
615 // Ideally we would always swap the tabs now, but on windows it seems that | 615 // Ideally we would always swap the tabs now, but on windows it seems that |
616 // running the move loop implicitly activates the window when done, | 616 // running the move loop implicitly activates the window when done, |
617 // leading to all sorts of flicker. So, on windows, instead we process | 617 // leading to all sorts of flicker. So, on windows, instead we process |
618 // the move after the loop completes. But on chromeos, we can do tab | 618 // the move after the loop completes. But on chromeos, we can do tab |
619 // swapping now to avoid the tab flashing issue(crbug.com/116329). | 619 // swapping now to avoid the tab flashing issue(crbug.com/116329). |
620 #if defined(OS_CHROMEOS) | 620 #if defined(OS_CHROMEOS) |
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1420 browser->window()->SetBounds(new_bounds); | 1420 browser->window()->SetBounds(new_bounds); |
1421 return browser; | 1421 return browser; |
1422 } | 1422 } |
1423 | 1423 |
1424 void TabDragController2::SetTrackedByWorkspace(gfx::NativeWindow window, | 1424 void TabDragController2::SetTrackedByWorkspace(gfx::NativeWindow window, |
1425 bool value) { | 1425 bool value) { |
1426 #if defined(USE_ASH) | 1426 #if defined(USE_ASH) |
1427 ash::SetTrackedByWorkspace(window, value); | 1427 ash::SetTrackedByWorkspace(window, value); |
1428 #endif | 1428 #endif |
1429 } | 1429 } |
OLD | NEW |