| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/base_tab_strip.h" | 5 #include "chrome/browser/ui/views/tabs/base_tab_strip.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "chrome/browser/ui/title_prefix_matcher.h" | 8 #include "chrome/browser/ui/title_prefix_matcher.h" |
| 9 #include "chrome/browser/ui/view_ids.h" | 9 #include "chrome/browser/ui/view_ids.h" |
| 10 #include "chrome/browser/ui/views/tabs/dragged_tab_controller.h" | 10 #include "chrome/browser/ui/views/tabs/dragged_tab_controller.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 // This function is not required (and indeed may crash!) for removes | 87 // This function is not required (and indeed may crash!) for removes |
| 88 // spawned by non-mouse closes and drag-detaches. | 88 // spawned by non-mouse closes and drag-detaches. |
| 89 return; | 89 return; |
| 90 } | 90 } |
| 91 | 91 |
| 92 #if defined(OS_WIN) | 92 #if defined(OS_WIN) |
| 93 views::Widget* widget = tabstrip_->GetWidget(); | 93 views::Widget* widget = tabstrip_->GetWidget(); |
| 94 // This can be null during shutdown. See http://crbug.com/42737. | 94 // This can be null during shutdown. See http://crbug.com/42737. |
| 95 if (!widget) | 95 if (!widget) |
| 96 return; | 96 return; |
| 97 |
| 98 widget->ResetLastMouseMoveFlag(); |
| 99 |
| 97 // Force the close button (that slides under the mouse) to highlight by | 100 // Force the close button (that slides under the mouse) to highlight by |
| 98 // saying the mouse just moved, but sending the same coordinates. | 101 // saying the mouse just moved, but sending the same coordinates. |
| 99 DWORD pos = GetMessagePos(); | 102 DWORD pos = GetMessagePos(); |
| 100 POINT cursor_point = {GET_X_LPARAM(pos), GET_Y_LPARAM(pos)}; | 103 POINT cursor_point = {GET_X_LPARAM(pos), GET_Y_LPARAM(pos)}; |
| 101 MapWindowPoints(NULL, widget->GetNativeView(), &cursor_point, 1); | 104 MapWindowPoints(NULL, widget->GetNativeView(), &cursor_point, 1); |
| 102 | |
| 103 static_cast<views::WidgetWin*>(widget)->ResetLastMouseMoveFlag(); | |
| 104 // Return to message loop - otherwise we may disrupt some operation that's | |
| 105 // in progress. | |
| 106 SendMessage(widget->GetNativeView(), WM_MOUSEMOVE, 0, | 105 SendMessage(widget->GetNativeView(), WM_MOUSEMOVE, 0, |
| 107 MAKELPARAM(cursor_point.x, cursor_point.y)); | 106 MAKELPARAM(cursor_point.x, cursor_point.y)); |
| 108 #else | 107 #else |
| 109 NOTIMPLEMENTED(); | 108 NOTIMPLEMENTED(); |
| 110 #endif | 109 #endif |
| 111 } | 110 } |
| 112 | 111 |
| 113 BaseTabStrip* tabstrip_; | 112 BaseTabStrip* tabstrip_; |
| 114 BaseTab* tab_; | 113 BaseTab* tab_; |
| 115 | 114 |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 // Animate the view back to its correct position. | 593 // Animate the view back to its correct position. |
| 595 GenerateIdealBounds(); | 594 GenerateIdealBounds(); |
| 596 AnimateToIdealBounds(); | 595 AnimateToIdealBounds(); |
| 597 } | 596 } |
| 598 bounds_animator_.AnimateViewTo(tab, ideal_bounds(TabIndexOfTab(tab))); | 597 bounds_animator_.AnimateViewTo(tab, ideal_bounds(TabIndexOfTab(tab))); |
| 599 // Install a delegate to reset the dragging state when done. We have to leave | 598 // Install a delegate to reset the dragging state when done. We have to leave |
| 600 // dragging true for the tab otherwise it'll draw beneath the new tab button. | 599 // dragging true for the tab otherwise it'll draw beneath the new tab button. |
| 601 bounds_animator_.SetAnimationDelegate( | 600 bounds_animator_.SetAnimationDelegate( |
| 602 tab, new ResetDraggingStateDelegate(tab), true); | 601 tab, new ResetDraggingStateDelegate(tab), true); |
| 603 } | 602 } |
| OLD | NEW |