| 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 |