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

Side by Side Diff: chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm

Issue 882193003: Mac: Fix for janky tab dragging/reordering. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ValidationMessageBubble
Patch Set: Fix for rsesek Created 5 years, 10 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
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h" 5 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h"
6 6
7 #import <QuartzCore/QuartzCore.h> 7 #import <QuartzCore/QuartzCore.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <limits> 10 #include <limits>
(...skipping 1849 matching lines...) Expand 10 before | Expand all | Expand 10 after
1860 - (BOOL)inRapidClosureMode { 1860 - (BOOL)inRapidClosureMode {
1861 return availableResizeWidth_ != kUseFullAvailableWidth; 1861 return availableResizeWidth_ != kUseFullAvailableWidth;
1862 } 1862 }
1863 1863
1864 // Disable tab dragging when there are any pending animations. 1864 // Disable tab dragging when there are any pending animations.
1865 - (BOOL)tabDraggingAllowed { 1865 - (BOOL)tabDraggingAllowed {
1866 return [closingControllers_ count] == 0; 1866 return [closingControllers_ count] == 0;
1867 } 1867 }
1868 1868
1869 - (void)mouseMoved:(NSEvent*)event { 1869 - (void)mouseMoved:(NSEvent*)event {
1870 // We don't want the draggged tab to repeatedly redraw its glow unnecessarily.
1871 // We also want the dragged tab to keep the glow even when it slides behind
1872 // another tab.
1873 if ([dragController_ draggedTab])
1874 return;
1875
1870 // Use hit test to figure out what view we are hovering over. 1876 // Use hit test to figure out what view we are hovering over.
1871 NSView* targetView = [tabStripView_ hitTest:[event locationInWindow]]; 1877 NSView* targetView = [tabStripView_ hitTest:[event locationInWindow]];
1872 1878
1873 // Set the new tab button hover state iff the mouse is over the button. 1879 // Set the new tab button hover state iff the mouse is over the button.
1874 BOOL shouldShowHoverImage = [targetView isKindOfClass:[NewTabButton class]]; 1880 BOOL shouldShowHoverImage = [targetView isKindOfClass:[NewTabButton class]];
1875 [self setNewTabButtonHoverState:shouldShowHoverImage]; 1881 [self setNewTabButtonHoverState:shouldShowHoverImage];
1876 1882
1877 TabView* tabView = (TabView*)targetView; 1883 TabView* tabView = (TabView*)targetView;
1878 if (![tabView isKindOfClass:[TabView class]]) { 1884 if (![tabView isKindOfClass:[TabView class]]) {
1879 if ([[tabView superview] isKindOfClass:[TabView class]]) { 1885 if ([[tabView superview] isKindOfClass:[TabView class]]) {
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
2314 // up the hierarchy to the devtools container view to avoid that. Note that 2320 // up the hierarchy to the devtools container view to avoid that. Note that
2315 // the devtools view is always in the hierarchy even if it is not open or it 2321 // the devtools view is always in the hierarchy even if it is not open or it
2316 // is detached. 2322 // is detached.
2317 NSView* devtools_view = [[[view superview] superview] superview]; 2323 NSView* devtools_view = [[[view superview] superview] superview];
2318 if (devtools_view) { 2324 if (devtools_view) {
2319 return [devtools_view convertRect:[devtools_view bounds] toView:nil]; 2325 return [devtools_view convertRect:[devtools_view bounds] toView:nil];
2320 } else { 2326 } else {
2321 return [view convertRect:[view bounds] toView:nil]; 2327 return [view convertRect:[view bounds] toView:nil];
2322 } 2328 }
2323 } 2329 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698